| 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: | |
| https://archive.kernel.org/oldwiki/git.wiki.kernel.org/index.php/GitFaq.html#non-bare | |
| https://lore.kernel.org/git/7vbptlsuyv.fsf@gitster.siamese.dyndns.org/ | |
| for more details on the reason why this change is needed and the | |
| transition plan. | |
| Updates since v1.6.4 | |
| -------------------- | |
| (subsystems) | |
| * various updates to gitk, git-svn and gitweb. | |
| (portability) | |
| * more improvements on mingw port. | |
| * mingw will also give FRSX as the default value for the LESS | |
| environment variable when the user does not have one. | |
| * initial support to compile git on Windows with MSVC. | |
| (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 | |
| Mozilla. | |
| * Unnecessary inefficiency in deepening of a shallow repository has | |
| been removed. | |
| * "git clone" does not grab objects that it does not need (i.e. | |
| referenced only from refs outside refs/heads and refs/tags | |
| hierarchy) anymore. | |
| * The "git" main binary used to link with libcurl, which then dragged | |
| in a large number of external libraries. When using basic plumbing | |
| commands in scripts, this unnecessarily slowed things down. We now | |
| implement http/https/ftp transfer as a separate executable as we | |
| used to. | |
| * "git clone" run locally hardlinks or copies the files in .git/ to | |
| newly created repository. It used to give new mtime to copied files, | |
| but this delayed garbage collection to trigger unnecessarily in the | |
| cloned repository. We now preserve mtime for these files to avoid | |
| this issue. | |
| (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. | |
| * A few programs gave verbose "advice" messages to help uninitiated | |
| people when issuing error messages. An infrastructure to allow | |
| users to squelch them has been introduced, and a few such messages | |
| can be silenced now. | |
| * 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 archive -o output.zip" works without being told what format to | |
| use with an explicit "--format=zip".option. | |
| * "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 clone" learned --recursive option. | |
| * "git clone" from a local repository on a different filesystem used to | |
| copy individual object files without preserving the old timestamp, giving | |
| them extra lifetime in the new repository until they gc'ed. | |
| * "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 fast-import" has a pair of new front-end in contrib/ area. | |
| * "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 merge" issued an unnecessarily scary message when it detected | |
| that the merge may have to touch the path that the user has local | |
| uncommitted changes to. The message has been reworded to make it | |
| clear that the command aborted, without doing any harm. | |
| * "git push" can be told to be --quiet. | |
| * "git push" pays attention to url.$base.pushInsteadOf and uses a URL | |
| that is derived from the URL used for fetching. | |
| * 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. | |
| * With NO_PERL_MAKEMAKER set, DESTDIR= is now honoured, so you can | |
| build for one location, and install into another location to tar it | |
| up. | |
| Fixes since v1.6.4 | |
| ------------------ | |
| All of the fixes in v1.6.4.X maintenance series are included in this | |
| release, unless otherwise noted. |