| Git v1.8.2 Release Notes |
| ======================== |
| |
| Backward compatibility notes |
| ---------------------------- |
| |
| In the upcoming major release (tentatively called 1.8.2), we will |
| change the behavior of the "git push" command. |
| |
| When "git push [$there]" does not say what to push, we have used the |
| traditional "matching" semantics so far (all your branches were sent |
| to the remote as long as there already are branches of the same name |
| over there). We will use the "simple" semantics that pushes the |
| current branch to the branch with the same name, only when the current |
| branch is set to integrate with that remote branch. There is a user |
| preference configuration variable "push.default" to change this. |
| |
| |
| Updates since v1.8.1 |
| -------------------- |
| |
| UI, Workflows & Features |
| |
| * Initial ports to QNX and z/OS UNIX System Services have started. |
| |
| * Output from the tests is coloured using "green is okay, yellow is |
| questionable, red is bad and blue is informative" scheme. |
| |
| * In bare repositories, "git shortlog" and other commands now read |
| mailmap files from the tip of the history, to help running these |
| tools in server settings. |
| |
| * Color specifiers, e.g. "%C(blue)Hello%C(reset)", used in the |
| "--format=" option of "git log" and friends can be disabled when |
| the output is not sent to a terminal by prefixing them with |
| "auto,", e.g. "%C(auto,blue)Hello%C(auto,reset)". |
| |
| * Scripts can ask Git that wildcard patterns in pathspecs they give do |
| not have any significance, i.e. take them as literal strings. |
| |
| * "git fetch --mirror" and fetch that uses other forms of refspec |
| with wildcard used to attempt to update a symbolic ref that match |
| the wildcard on the receiving end, which made little sense (the |
| real ref that is pointed at by the symbolic ref would be updated |
| anyway). Symbolic refs no longer are affected by such a fetch. |
| |
| * "git format-patch" now detects more cases in which a whole branch |
| is being exported, and uses the description for the branch, when |
| asked to write a cover letter for the series. |
| |
| * "git push" now requires "-f" to update a tag, even if it is a |
| fast-forward, as tags are meant to be fixed points. |
| |
| * "git submodule" started learning a new mode to integrate with the |
| tip of the remote branch (as opposed to integrating with the commit |
| recorded in the superproject's gitlink). |
| |
| |
| Foreign Interface |
| |
| * "git fast-export" has been updated for its use in the context of |
| the remote helper interface. |
| |
| * A new remote helper to interact with bzr has been added to contrib/. |
| |
| |
| Performance, Internal Implementation, etc. |
| |
| * "git fsck" has been taught to be pickier about entries in tree |
| objects that should not be there, e.g. ".", ".git", and "..". |
| |
| * Matching paths with common forms of pathspecs that contain wildcard |
| characters has been optimized further. |
| |
| * The implementation of "imap-send" has been updated to reuse xml |
| quoting code from http-push codepath. |
| |
| |
| Also contains minor documentation updates and code clean-ups. |
| |
| |
| Fixes since v1.8.1 |
| ------------------ |
| |
| Unless otherwise noted, all the fixes since v1.8.1 in the maintenance |
| track are contained in this release (see release notes to them for |
| details). |
| |
| * An element on GIT_CEILING_DIRECTORIES list that does not name the |
| real path to a directory (i.e. a symbolic link) could have caused |
| the GIT_DIR discovery logic to escape the ceiling. |
| (merge 059b379 mh/ceiling later to maint). |
| |
| * When attempting to read the XDG-style $HOME/.config/git/config and |
| finding that $HOME/.config/git is a file, we gave a wrong error |
| message, instead of treating the case as "a custom config file does |
| not exist there" and moving on. |
| (merge 8f2bbe4 jn/warn-on-inaccessible-loosen later to maint). |
| |
| * The behaviour visible to the end users was confusing, when they |
| attempt to kill a process spawned in the editor that was in turn |
| launched by Git with SIGINT (or SIGQUIT), as Git would catch that |
| signal and die. We ignore these signals now. |
| (merge 1250857 pf/editor-ignore-sigint later to maint). |
| |
| * After failing to create a temporary file using mkstemp(), failing |
| pathname was not reported correctly on some platforms. |
| (merge f7be59b jc/mkstemp-more-careful-error-reporting later to maint). |
| |
| * The attribute mechanism didn't allow limiting attributes to be |
| applied to only a single directory itself with "path/" like the |
| exclude mechanism does. |
| (merge 94bc671 ja/directory-attrs later to maint). |
| |
| * "git apply" misbehaved when fixing whitespace breakages by removing |
| excess trailing blank lines. |
| (merge 5de7166 jc/apply-trailing-blank-removal later to maint). |
| |
| * The way "git svn" asked for password using SSH_ASKPASS and |
| GIT_ASKPASS was not in line with the rest of the system. |
| (merge e9263e4 ss/svn-prompt later to maint). |
| |
| * The --graph code fell into infinite loop when asked to do what the |
| code did not expect. |
| (merge 656197a mk/maint-graph-infinity-loop later to maint). |
| |
| * http transport was wrong to ask for the username when the |
| authentication is done by certificate identity. |
| (merge 75e9a40 rb/http-cert-cred-no-username-prompt later to maint). |
| |
| * "git pack-refs" that ran in parallel to another process that |
| created new refs had a nasty race. |
| (merge b3f1280 jk/repack-ref-racefix later to maint). |
| |
| * After "git add -N" and then writing a tree object out of the |
| index, the cache-tree data structure got corrupted. |
| (merge eec3e7e nd/invalidate-i-t-a-cache-tree later to maint). |
| |
| * "git merge" started calling prepare-commit-msg hook like "git |
| commit" does some time ago, but forgot to pay attention to the exit |
| status of the hook. |
| (merge 3e4141d ap/merge-stop-at-prepare-commit-msg-failure later to maint). |
| |
| * "gitweb", when sorting by age to show repositories with new |
| activities first, used to sort repositories with absolutely |
| nothing in it early, which was not very useful. |
| (merge 28dae18 md/gitweb-sort-by-age later to maint). |
| |
| * "gitweb"'s code to sanitize control characters before passing it to |
| "highlight" filter lost known-to-be-safe control characters by |
| mistake. |
| (merge 0e901d2 os/gitweb-highlight-uncaptured later to maint). |
| |
| * When a line to be wrapped has a solid run of non space characters |
| whose length exactly is the wrap width, "git shortlog -w" failed |
| to add a newline after such a line. |
| (merge e0db176 sp/shortlog-missing-lf later to maint). |
| |
| * Some shells do not behave correctly when IFS is unset; work it |
| around by explicitly setting it to the default value. |
| (merge 393050c jc/maint-fbsd-sh-ifs-workaround later to maint). |
| |
| * Some scripted programs written in Python did not get updated when |
| PYTHON_PATH changed. |
| (cherry-pick 96a4647fca54031974cd6ad1 later to maint). |
| |
| * When autoconf is used, any build on a different commit always ran |
| "config.status --recheck" even when unnecessary. |
| (merge 1226504 jn/less-reconfigure later to maint). |
| |
| * We have been carrying a translated and long-unmaintained copy of an |
| old version of the tutorial; removed. |
| (merge 0a85441 ta/remove-stale-translated-tut later to maint). |
| |
| * t4014, t9502 and t0200 tests had various portability issues that |
| broke on OpenBSD. |
| (merge 27f6342 jc/maint-test-portability later to maint). |
| |
| * t9020 and t3600 tests had various portability issues. |
| (merge 5a02966 jc/test-portability later to maint). |
| |
| * t9200 runs "cvs init" on a directory that already exists, but a |
| platform can configure this fail for the current user (e.g. you |
| need to be in the cvsadmin group on NetBSD 6.0). |
| (merge 8666df0 jc/test-cvs-no-init-in-existing-dir later to maint). |
| |
| * t9020 and t9810 had a few non-portable shell script construct. |
| (merge 2797914 tb/test-t9020-no-which later to maint). |
| (merge 6f4e505 tb/test-t9810-no-sed-i later to maint). |