| 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. |