Sunday, August 19, 2012

Git 1.7.12

I just tagged the 1.7.12 final release, which is available in tarball form here, and from the usual copies of my repository.

Some highlights:
  • An experimental support for UTF-8 pathnames on MacOS.
    I think there still are places that need conversion between the system encoding (UTF-8 normalized by decomposing) and the more commonly used encoding (precomposed) that is used internally for better interoperability, but this should be a good start.
  • $HOME/.gitconfig file can be moved to $HOME/.config/git/config, in line with XDG.
    This will also allow $HOME/.config/git/attributes and $HOME/.config/git/ignore, if exist, to be automatically used as core.attributesfile and core.excludesfile, respectively.
  • "git apply" learned the same three-way merge patch wiggling magic "git am" supports, via the "-3" option.
  • "git rebase -i --root" learned how to update the root commit when requested.
  • "git status" can give a more detailed explanation during "intermediate" state of multi-step operations, e.g. "merge", "rebase".
  • A remote "SCM" interface to MediaWiki in contrib/ learned to handle file attachments.
  • "git clone --no-local $path" bypasses the "local directory?  Just cp -R it!" (not quite that aggressive, but still) optimization and invokes the usual object transfer and repacking codepath.
  • The HTMLified documentation pages shown by "git help -w $cmd" could be obtained over the network by setting the help.htmlpath configuration variable.