Git v1.7.10 Release Notes ========================= Updates since v1.7.9 -------------------- UI, Workflows & Features * Improved handling of views, labels and branches in git-p4 (in contrib). * "vcs-svn"/"svn-fe" learned to read dumps with svn-deltas and support incremental imports. * "git am" learned to pass "-b" option to underlying "git mailinfo", so that bracketed string other than "PATCH" at the beginning can be kept. * "git clone" learned "--single-branch" option to limit cloning to a single branch (surprise!). * "git clone" learned to detach the HEAD in the resulting repository when the source repository's HEAD does not point to a branch. * When showing a patch while ignoring whitespace changes, the context lines are taken from the postimage, in order to make it easier to view the output. * "git merge" in an interactive session learned to spawn the editor by default to let the user edit the auto-generated merge message, to encourage people to explain their merges better. Legacy scripts can export MERGE_AUTOEDIT=no to retain the historical behaviour. * "gitweb" allows intermediate entries in the directory hierarchy that leads to a projects to be clicked, which in turn shows the list of projects inside that directory. Performance * During "git upload-pack" in respose to "git fetch", unnecessary calls to parse_object() have been eliminated, to help performance in repositories with excessive number of refs. Internal Implementation * Recursive call chains in "git index-pack" to deal with long delta chains have been flattened, to reduce the stack footprint. * Use of add_extra_ref() API is slowly getting removed, to make it possible to cleanly restructure the overall refs API. * The test suite supports the new "test_pause" helper function. * t/Makefile is adjusted to prevent newer versions of GNU make from running tests in seemingly random order. Also contains minor documentation updates and code clean-ups. Fixes since v1.7.9 ------------------ Unless otherwise noted, all the fixes since v1.7.9 in the maintenance releases are contained in this release (see release notes to them for details). * "add -e" learned not to show a diff for an otherwise unmodified submodule that only has uncommitted local changes in the patch prepared by for the user to edit. (merge 701825d js/add-e-submodule-fix later to maint). * "rebase" and "commit --amend" failed to work on commits with ancient timestamps near year 1970. (merge 2c733fb jc/parse-date-raw later to maint). * "git merge --ff-only $tag" failed because it cannot record the required mergetag without creating a merge, but this is so common operation for branch that is used _only_ to follow the upstream, so it is allowed to fast-forward without recording the mergetag. (merge b5c9f1c jc/merge-ff-only-stronger-than-signed-merge later to maint). * Typo in "git branch --edit-description my-tpoic" was not diagnosed. (merge c2d17ba jc/branch-desc-typoavoidance later to maint). * rpmbuild noticed an unpackaged but installed *.mo file and failed. (merge 3a9f58c jn/rpm-spec later to maint). --- exec >/var/tmp/1 O=v1.7.9-208-gee8d52f echo O=$(git describe) git log --first-parent --oneline ^maint $O.. echo git shortlog --no-merges ^maint $O..