GIT v1.6.5 Release Notes ======================== In git 1.7.0, which was planned to be the release after 1.6.5, "git push" into a branch that is currently checked out will be refused by default. You can choose what should happen upon such a push by setting the configuration variable receive.denyCurrentBranch in the receiving repository. Also, "git push $there :$killed" to delete the branch $killed in a remote repository $there, when $killed branch is the current branch pointed at by its HEAD, will be refused by default. You can choose what should happen upon such a push by setting the configuration variable receive.denyDeleteCurrent in the receiving repository. To ease the transition plan, the receiving repository of such a push running this release will issue a big warning when the configuration variable is missing. Please refer to: http://git.or.cz/gitwiki/GitFaq#non-bare http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007 for more details on the reason why this change is needed and the transition plan. Updates since v1.6.4 -------------------- (subsystems) * various updates to git-svn and gitweb. (portability) * more improvements on mingw port. (performance) * On major platforms, the system can be compiled to use with Linus's block-sha1 implementation of the SHA-1 hash algorithm, which outperforms the default fallback implementation we borrowed from Mozzilla. * Unnecessary inefficiency in deepening of a shallow repository has been removed. (usability, bells and whistles) * Human writable date format to various options, e.g. --since=yesterday, master@{2000.09.17}, are taught to infer some omitted input properly. * refs/replace/ hierarchy is designed to be usable as a replacement of the "grafts" mechanism, with the added advantage that it can be transferred across repositories. * "git am" learned to optionally ignore whitespace differences. * "git am" handles input e-mail files that has CRLF line endings sensibly. * "git am" learned "--scissors" option to allow you to discard early part of an incoming e-mail. * "git checkout", "git reset" and "git stash" learned to pick and choose to use selected changes you made, similar to "git add -p". * "git clone" learned a "-b" option to pick a HEAD to check out different from the remote's default branch. * "git commit --dry-run $args" is a new recommended way to ask "what would happen if I try to commit with these arguments." * "git commit --dry-run" and "git status" shows conflicted paths in a separate section to make them easier to spot during a merge. * "git cvsimport" now supports password-protected pserver access even when the password is not taken from ~/.cvspass file. * "git fast-export" learned --no-data option that can be useful when reordering commits and trees without touching the contents of blobs. * "git init" learned to mkdir/chdir into a directory when given an extra argument (i.e. "git init this"). * "git instaweb" optionally can use mongoose as the web server. * "git log --decorate" can optionally be told with --decorate=full to give the reference name in full. * "git push" can be told to be --quiet. * informational output from "git reset" that lists the locally modified paths is made consistent with that of "git checkout $another_branch". * "git submodule" learned to give submodule name to scripts run with "foreach" subcommand. * various subcommands to "git submodule" learned --recursive option. * "git submodule summary" learned --files option to compare the work tree vs the commit bound at submodule path, instead of comparing the index. * "git upload-pack", which is the server side support for "git clone" and "git fetch", can call a new post-upload-pack hook for statistics purposes. (developers) * With GIT_TEST_OPTS="--root=/p/a/t/h", tests can be run outside the source directory; using tmpfs may give faster turnaround. Fixes since v1.6.4 ------------------ # All of the fixes in v1.6.4.X maintenance series are included in this # release, unless otherwise noted. # Here are fixes that this release has, but have not been backported to # v1.6.4.X series. -- exec >/var/tmp/1 O=v1.6.4.2-298-gdf01e7c echo O=$(git describe master) git shortlog --no-merges $O..master --not maint