| GIT v1.6.4 Release Notes |
| ======================== |
| |
| With the next major release, "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. |
| |
| 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. |
| |
| For a similar reason, "git push $there :$killed" to delete the branch |
| $killed in a remote repository $there, if $killed branch is the current |
| branch pointed at by its HEAD, gets a large warning. You can choose what |
| should happen upon such a push by setting the configuration variable |
| receive.denyDeleteCurrent in the receiving repository. |
| |
| |
| Updates since v1.6.3 |
| -------------------- |
| |
| (subsystems) |
| |
| * gitweb Perl style clean-up. |
| |
| * git-svn updates, including a new --authors-prog option to map author |
| names by invoking an external program, 'git svn reset' to unwind |
| 'git svn fetch', support for more than one branches, documenting |
| of the useful --minimize-url feature, new "git svn gc" command, etc. |
| |
| (portability) |
| |
| * We feed iconv with "UTF-8" instead of "utf8"; the former is |
| understood more widely. Similarly updated test scripts to use |
| encoding names more widely understood (e.g. use "ISO8859-1" instead |
| of "ISO-8859-1"). |
| |
| * Various portability fixes/workarounds for different vintages of |
| SunOS, IRIX, and Windows. |
| |
| * Git-over-ssh transport on Windows supports PuTTY plink and TortoisePlink. |
| |
| (performance) |
| |
| * Many repeated use of lstat() are optimized out in "checkout" codepath. |
| |
| * git-status (and underlying git-diff-index --cached) are optimized |
| to take advantage of cache-tree information in the index. |
| |
| (usability, bells and whistles) |
| |
| * "git add --edit" lets users edit the whole patch text to fine-tune what |
| is added to the index. |
| |
| * "git am" accepts StGIT series file as its input. |
| |
| * "git bisect skip" skips to a more randomly chosen place in the hope |
| to avoid testing a commit that is too close to a commit that is |
| already known to be untestable. |
| |
| * "git cvsexportcommit" learned -k option to stop CVS keywords expansion |
| |
| * "git fast-export" learned to handle history simplification more |
| gracefully. |
| |
| * "git fast-export" learned an option --tag-of-filtered-object to handle |
| dangling tags resulting from history simplification more usefully. |
| |
| * "git grep" learned -p option to show the location of the match using the |
| same context hunk marker "git diff" uses. |
| |
| * https transport can optionally be told that the used client |
| certificate is password protected, in which case it asks the |
| password only once. |
| |
| * "git imap-send" is IPv6 aware. |
| |
| * "git log --graph" draws graphs more compactly by using horizontal lines |
| when able. |
| |
| * "git log --decorate" shows shorter refnames by stripping well-known |
| refs/* prefix. |
| |
| * "git push $name" honors remote.$name.pushurl if present before |
| using remote.$name.url. In other words, the URL used for fetching |
| and pushing can be different. |
| |
| * "git send-email" understands quoted aliases in .mailrc files (might |
| have to be backported to 1.6.3.X). |
| |
| * "git send-email" can fetch the sender address from the configuration |
| variable "sendmail.from" (and "sendmail.<identity>.from"). |
| |
| * "git show-branch" can color its output. |
| |
| * "add" and "update" subcommands to "git submodule" learned --reference |
| option to use local clone with references. |
| |
| * "git submodule update" learned --rebase option to update checked |
| out submodules by rebasing the local changes. |
| |
| * "gitweb" can optionally use gravatar to adorn author/committer names. |
| |
| (developers) |
| |
| * A major part of the "git bisect" wrapper has moved to C. |
| |
| * Formatting with the new version of AsciiDoc 8.4.1 is now supported. |
| |
| Fixes since v1.6.3 |
| ------------------ |
| |
| All of the fixes in v1.6.3.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.3.X series. |
| |
| * "git diff-tree -r -t" used to omit new or removed directories from |
| the output. df533f3 (diff-tree -r -t: include added/removed |
| directories in the output, 2009-06-13) may need to be cherry-picked |
| to backport this fix. |
| |
| * The way Git.pm sets up a Repository object was not friendly to callers |
| that chdir around. It now internally records the repository location |
| as an absolute path when autodetected. |
| |
| * Removing a section with "git config --remove-section", when its |
| section header has a variable definition on the same line, lost |
| that variable definition. |
| |
| * "git rebase -p --onto" used to always leave side branches of a merge |
| intact, even when both branches are subject to rewriting. |
| |
| * "git repack" used to faithfully follow grafts and considered true |
| parents recorded in the commit object unreachable from the commit. |
| After such a repacking, you cannot remove grafts without corrupting |
| the repository. |
| |
| * "git send-email" did not detect erroneous loops in alias expansion. |