diff options
Diffstat (limited to 'Documentation/RelNotes')
-rw-r--r-- | Documentation/RelNotes/1.8.2.2.txt | 61 | ||||
-rw-r--r-- | Documentation/RelNotes/1.8.3.txt | 85 |
2 files changed, 132 insertions, 14 deletions
diff --git a/Documentation/RelNotes/1.8.2.2.txt b/Documentation/RelNotes/1.8.2.2.txt new file mode 100644 index 0000000000..dab4831ca0 --- /dev/null +++ b/Documentation/RelNotes/1.8.2.2.txt @@ -0,0 +1,61 @@ +Git v1.8.2.2 Release Notes +========================== + +Fixes since v1.8.2.1 +-------------------- + + * Zsh completion forgot that '%' character used to signal untracked + files needs to be escaped with another '%'. + + * A commit object whose author or committer ident are malformed + crashed some code that trusted that a name, an email and an + timestamp can always be found in it. + + * The new core.commentchar configuration was not applied to a few + places. + + * "git pull --rebase" did not pass "-v/-q" options to underlying + "git rebase". + + * When receive-pack detects error in the pack header it received in + order to decide which of unpack-objects or index-pack to run, it + returned without closing the error stream, which led to a hang + sideband thread. + + * "git diff --diff-algorithm=algo" was understood by the command line + parser, but "git diff --diff-algorithm algo" was not. + + * "git log -S/-G" started paying attention to textconv filter, but + there was no way to disable this. Make it honor --no-textconv + option. + + * "git merge $(git rev-parse v1.8.2)" behaved quite differently from + "git merge v1.8.2", as if v1.8.2 were written as v1.8.2^0 and did + not pay much attention to the annotated tag payload. Make the code + notice the type of the tag object, in addition to the dwim_ref() + based classification the current code uses (i.e. the name appears + in refs/tags/) to decide when to special case merging of tags. + + * "git cherry-pick" and "git revert" can take more than one commit + on the command line these days, but it was not mentioned on the usage + text. + + * Perl scripts like "git-svn" closed (not redirecting to /dev/null) + the standard error stream, which is not a very smart thing to do. + Later open may return file descriptor #2 for unrelated purpose, and + error reporting code may write into them. + + * "git apply --whitespace=fix" was not prepared to see a line getting + longer after fixing whitespaces (e.g. tab-in-indent aka Python). + + * "git diff/log --cc" did not work well with options that ignore + whitespace changes. + + * Documentation on setting up a http server that requires + authentication only on the push but not fetch has been clarified. + + * A few bugfixes to "git rerere" working on corner case merge + conflicts have been applied. + + * "git bundle" did not like a bundle created using a commit without + any message as its one of the prerequistes. diff --git a/Documentation/RelNotes/1.8.3.txt b/Documentation/RelNotes/1.8.3.txt index 5031abfe4a..6d25165884 100644 --- a/Documentation/RelNotes/1.8.3.txt +++ b/Documentation/RelNotes/1.8.3.txt @@ -24,14 +24,56 @@ mechanism to make "git add -u" behave as if "git add -u .", it is important for those who are used to "git add -u" (without pathspec) updating the index only for paths in the current subdirectory to start training their fingers to explicitly say "git add -u ." when they mean -it before Git 2.0 comes. +it before Git 2.0 comes. A warning is issued when these commands are +run without a pathspec and when you have local changes outside the +current directory, because the behaviour in Git 2.0 will be different +from today's version in such a situation. + +In Git 2.0, "git add <path>" will behave as "git add -A <path>", so +that "git add dir/" will notice paths you removed from the directory +and record the removal. Versions before Git 2.0, including this +release, will keep ignoring removals, but the users who rely on this +behaviour is encouraged to use "git add --ignore-removal <path>" and +get used to it. Updates since v1.8.2 -------------------- +Foreign interface + + * remote-hg and remote-bzr helpers (in contrib/) have been updated. + + UI, Workflows & Features + * "git branch --vv" learned to paint the name of the branch it + integrates with in a different color (color.branch.upstream, + which defaults to blue). + + * In a sparsely populated working tree, "git checkout <pathspec>" no + longer unmarks paths that match the given pathspec that were + originally ignored with "--sparse" (use --ignore-skip-worktree-bits + option to resurrect these paths out of the index if you really want + to). + + * "git log --format" specifier learned %C(auto) token that tells Git + to use color when interpolating %d (decoration), %h (short commit + object name), etc. for terminal output. + + * "git bisect" leaves the final outcome as a comment in its bisect + log file. + + * "git clone --reference" can now refer to a gitfile "textual symlink" + that points at the real location of the repository. + + * "git count-objects" learned "--human-readable" aka "-H" option to + show various large numbers in Ki/Mi/GiB scaled as necessary. + + * "git cherry-pick $blob" and "git cherry-pick $tree" are nonsense, + and a more readable error message e.g. "can't cherry-pick a tree" + is given (we used to say "expected exactly one commit"). + * The "--annotate" option to "git send-email" can be turned on (or off) by default with sendemail.annotate configuration variable (you can use --no-annotate from the command line to override it). @@ -131,6 +173,11 @@ Performance, Internal Implementation, etc. * Updates for building under msvc. + * A handful of issues in the code to traverse working tree to find + untracked and/or ignored files have been fixed, and the general + codepath involved in "status -u" and "clean" have been cleaned up + and optimized. + * The stack footprint of some codepaths that access an object from a pack has been shrunk. @@ -178,6 +225,29 @@ Unless otherwise noted, all the fixes since v1.8.2 in the maintenance track are contained in this release (see release notes to them for details). + * When receive-pack detects error in the pack header it received in + order to decide which of unpack-objects or index-pack to run, it + returned without closing the error stream, which led to a hang + sideband thread. + + * Zsh completion forgot that '%' character used to signal untracked + files needs to be escaped with another '%'. + + * A commit object whose author or committer ident are malformed + crashed some code that trusted that a name, an email and an + timestamp can always be found in it. + + * When "upload-pack" fails while generating a pack in response to + "git fetch" (or "git clone"), the receiving side mistakenly said + there was a programming error to trigger the die handler + recursively. + + * "rev-list --stdin" and friends kept bogus pointers into input + buffer around as human readble object names. This was not a huge + problem but was exposed by a new change that uses these names in + error output. + (merge 70d26c6 tr/copy-revisions-from-stdin later to maint). + * Smart-capable HTTP servers were not restricted via the GIT_NAMESPACE mechanism when talking with commit-walker clients, like they do when talking with smart HTTP clients. @@ -191,33 +261,26 @@ details). the standard error stream, which is not a very smart thing to do. Later open may return file descriptor #2 for unrelated purpose, and error reporting code may write into them. - (merge a749c0b tr/perl-keep-stderr-open later to maint). * "git show-branch" was not prepared to show a very long run of ancestor operators e.g. foobar^2~2^2^2^2...^2~4 correctly. - (merge aaa07e3 jk/show-branch-strbuf later to maint). * "git diff --diff-algorithm algo" is also understood as "git diff --diff-algorithm=algo". - (merge 0895c6d jk/diff-algo-finishing-touches later to maint). * The new core.commentchar configuration was not applied to a few places. - (merge 89c3bbd rt/commentchar-fmt-merge-msg later to maint). * "git bundle" did not like a bundle created using a commit without any message as its one of the prerequistes. - (merge 5446e33 lf/bundle-with-tip-wo-message later to maint). * "git log -S/-G" started paying attention to textconv filter, but there was no way to disable this. Make it honor --no-textconv option. - (merge 61690bf sr/log-SG-no-textconv later to maint). * When used with "-d temporary-directory" option, "git filter-branch" failed to come back to the original working tree to perform the final clean-up procedure. - (merge 9727601 jk/filter-branch-come-back-to-original later to maint). * "git merge $(git rev-parse v1.8.2)" behaved quite differently from "git merge v1.8.2", as if v1.8.2 were written as v1.8.2^0 and did @@ -225,7 +288,6 @@ details). notice the type of the tag object, in addition to the dwim_ref() based classification the current code uses (i.e. the name appears in refs/tags/) to decide when to special case merging of tags. - (merge a38d3d7 jc/merge-tag-object later to maint). * Fix 1.8.1.x regression that stopped matching "dir" (without trailing slash) to a directory "dir". @@ -237,19 +299,15 @@ details). * The prompt string generator (in contrib/completion/) did not notice when we are in a middle of a "git revert" session. - (merge 3ee4452 rr/prompt-revert-head later to maint). * "submodule summary --summary-limit" option did not support "--option=value" form. - (merge 862ae6c rs/submodule-summary-limit later to maint). * "index-pack --fix-thin" used an uninitialized value to compute delta depths of objects it appends to the resulting pack. - (merge 57165db jk/index-pack-correct-depth-fix later to maint). * "index-pack --verify-stat" used a few counters outside protection of mutex, possibly showing incorrect numbers. - (merge 8f82aad nd/index-pack-threaded-fixes later to maint). * The code to keep track of what directory names are known to Git on platforms with case insensitive filesystems can get confused upon a @@ -259,7 +317,6 @@ details). correctly to the ls-remote and fetch with recent version of Git. * Recent optimization broke shallow clones. - (merge f59de5d jk/peel-ref later to maint). * "git cmd -- ':(top'" was not diagnosed as an invalid syntax, and instead the parser kept reading beyond the end of the string. |