Top level functions in the os package return errors that include
the name of the operation (in this case "chdir") and the path it
was operating on (in this case dir). So this whole format string
is redundant; the user-visible output would be more readable if
it were just `log.Fatal(err)`.

(Most errors in general don't include that extra context, but most
os package errors do. See http://godoc.org/os#PathError and the
last sentence in the first paragraph on http://godoc.org/os.

> For example, if a call that takes a file name fails, such as Open
 or Stat, the error will include the failing file name when printed and
 will be of type *PathError, which may be unpacked for more
 information.

This stylistic inconsistency in the stdlib sucks, but that's how it is.

One piece of the format string here that arguably adds information
is the word "repo". So, is the path descriptive enough that it'll be
self-evident that it's a repo directory? Or should we keep a trimmed
down format string that explains it's a repo directory?