| GIT v1.6.0.5 Release Notes | 
 | ========================== | 
 |  | 
 | Fixes since v1.6.0.4 | 
 | -------------------- | 
 |  | 
 | * "git checkout" used to crash when your HEAD was pointing at a deleted | 
 |   branch. | 
 |  | 
 | * "git checkout" from an un-checked-out state did not allow switching out | 
 |   of the current branch. | 
 |  | 
 | * "git diff" always allowed GIT_EXTERNAL_DIFF and --no-ext-diff was no-op for | 
 |   the command. | 
 |  | 
 | * Giving 3 or more tree-ish to "git diff" is supposed to show the combined | 
 |   diff from second and subsequent trees to the first one, but the order was | 
 |   screwed up. | 
 |  | 
 | * "git fast-export" did not export all tags. | 
 |  | 
 | * "git ls-files --with-tree=<tree>" did not work with options other | 
 |   than -c, most notably with -m. | 
 |  | 
 | * "git pack-objects" did not make its best effort to honor --max-pack-size | 
 |   option when a single first object already busted the given limit and | 
 |   placed many objects in a single pack. | 
 |  | 
 | * "git-p4" fast import frontend was too eager to trigger its keyword expansion | 
 |   logic, even on a keyword-looking string that does not have closing '$' on the | 
 |   same line. | 
 |  | 
 | * "git push $there" when the remote $there is defined in $GIT_DIR/branches/$there | 
 |   behaves more like what cg-push from Cogito used to work. | 
 |  | 
 | * when giving up resolving a conflicted merge, "git reset --hard" failed | 
 |   to remove new paths from the working tree. | 
 |  | 
 | * "git tag" did not complain when given mutually incompatible set of options. | 
 |  | 
 | * The message constructed in the internal editor was discarded when "git | 
 |   tag -s" failed to sign the message, which was often caused by the user | 
 |   not configuring GPG correctly. | 
 |  | 
 | * "make check" cannot be run without sparse; people may have meant to say | 
 |   "make test" instead, so suggest that. | 
 |  | 
 | * Internal diff machinery had a corner case performance bug that choked on | 
 |   a large file with many repeated contents. | 
 |  | 
 | * "git repack" used to grab objects out of packs marked with .keep | 
 |   into a new pack. | 
 |  | 
 | * Many unsafe call to sprintf() style varargs functions are corrected. | 
 |  | 
 | * Also contains quite a few documentation updates. |