diff options
Diffstat (limited to 'Documentation/RelNotes')
-rw-r--r-- | Documentation/RelNotes/1.7.11.7.txt | 46 | ||||
-rw-r--r-- | Documentation/RelNotes/1.7.12.1.txt | 127 | ||||
-rw-r--r-- | Documentation/RelNotes/1.7.12.2.txt | 40 | ||||
-rw-r--r-- | Documentation/RelNotes/1.8.0.txt | 127 |
4 files changed, 263 insertions, 77 deletions
diff --git a/Documentation/RelNotes/1.7.11.7.txt b/Documentation/RelNotes/1.7.11.7.txt new file mode 100644 index 0000000000..e7e79d999b --- /dev/null +++ b/Documentation/RelNotes/1.7.11.7.txt @@ -0,0 +1,46 @@ +Git v1.7.11.7 Release Notes +=========================== + +Fixes since v1.7.11.6 +--------------------- + + * The synopsis said "checkout [-B branch]" to make it clear the + branch name is a parameter to the option, but the heading for the + option description was "-B::", not "-B branch::", making the + documentation misleading. + + * Git ships with a fall-back regexp implementation for platforms with + buggy regexp library, but it was easy for people to keep using their + platform regexp. A new test has been added to check this. + + * "git apply -p0" did not parse pathnames on "diff --git" line + correctly. This caused patches that had pathnames in no other + places to be mistakenly rejected (most notably, binary patch that + does not rename nor change mode). Textual patches, renames or mode + changes have preimage and postimage pathnames in different places + in a form that can be parsed unambiguously and did not suffer from + this problem. + + * After "gitk" showed the contents of a tag, neither "Reread + references" nor "Reload" did not update what is shown as the + contents of it, when the user overwrote the tag with "git tag -f". + + * "git for-each-ref" did not currectly support more than one --sort + option. + + * "git log .." errored out saying it is both rev range and a path + when there is no disambiguating "--" is on the command line. + Update the command line parser to interpret ".." as a path in such + a case. + + * Pushing to smart HTTP server with recent Git fails without having + the username in the URL to force authentication, if the server is + configured to allow GET anonymously, while requiring authentication + for POST. + + * "git show --format='%ci'" did not give timestamp correctly for + commits created without human readable name on "committer" line. + (merge e27ddb6 jc/maint-ident-missing-human-name later to maint). + + * "git show --quiet" ought to be a synonym for "git show -s", but + wasn't. diff --git a/Documentation/RelNotes/1.7.12.1.txt b/Documentation/RelNotes/1.7.12.1.txt index 4088a166f5..b8f04af19f 100644 --- a/Documentation/RelNotes/1.7.12.1.txt +++ b/Documentation/RelNotes/1.7.12.1.txt @@ -4,43 +4,6 @@ Git 1.7.12.1 Release Notes Fixes since v1.7.12 ------------------- - * "ciabot" script (in contrib/) has been updated with extensive - documentation. - - * The "--rebase" option to "git pull" can be abbreviated to "-r", - but we didn't document it. - - * It was generally understood that "--long-option"s to many of our - subcommands can be abbreviated to the unique prefix, but it was not - easy to find it described for new readers of the documentation set. - - * The synopsis said "checkout [-B branch]" to make it clear the - branch name is a parameter to the option, but the heading for the - option description was "-B::", not "-B branch::", making the - documentation misleading. - - * The "--topo-order", "--date-order" (and the lack of either means - the default order) options to "rev-list" and "log" family of - commands were poorly described in the documentation. - - * Older parts of the documentation described as if having a regular - file in .git/refs/ hierarchy were the only way to have branches and - tags, which is not true for quite some time. - - * A utility shell function test_seq has been added as a replacement - for the 'seq' utility found on some platforms. - - * Compatibility wrapper to learn the maximum number of file - descriptors we can open around sysconf(_SC_OPEN_MAX) and - getrlimit(RLIMIT_NO_FILE) has been introduced for portability. - - * We used curl_easy_strerror() without checking version of cURL, - breaking the build for versions before curl 7.12.0. - - * Code to work around MacOS X UTF-8 gotcha has been cleaned up. - - * Fallback 'getpass' implementation made unportable use of stdio API. - * "git apply -p0" did not parse pathnames on "diff --git" line correctly. This caused patches that had pathnames in no other places to be mistakenly rejected (most notably, binary patch that @@ -49,6 +12,11 @@ Fixes since v1.7.12 in a form that can be parsed unambiguously and did not suffer from this problem. + * "git cherry-pick A C B" used to replay changes in A and then B and + then C if these three commits had committer timestamps in that + order, which is not what the user who said "A C B" naturally + expects. + * "git commit --amend" let the user edit the log message and then died when the human-readable committer name was given insufficiently by getpwent(3). @@ -57,7 +25,11 @@ Fixes since v1.7.12 did not advertise that they are available. fetch-pack has been fixed not to do so. - * "git for-each-ref" did not currectly support more than one --sort + * "git diff" had a confusion between taking data from a path in the + working tree and taking data from an object that happens to have + name 0{40} recorded in a tree. + + * "git for-each-ref" did not correctly support more than one --sort option. * "git log .." errored out saying it is both rev range and a path @@ -65,6 +37,10 @@ Fixes since v1.7.12 Update the command line parser to interpret ".." as a path in such a case. + * The "--topo-order", "--date-order" (and the lack of either means + the default order) options to "rev-list" and "log" family of + commands were poorly described in the documentation. + * "git prune" without "-v" used to warn about leftover temporary files (which is an indication of an earlier aborted operation). @@ -76,26 +52,83 @@ Fixes since v1.7.12 * The reflog entries left by "git rebase" and "git rebase -i" were inconsistent (the interactive one gave an abbreviated object name). - * When the user exports a non-default IFS without HT, scripts that - rely on being able to parse "ls-files -s | while read a b c..." - started to fail. Protect them from such a misconfiguration. - * When "git push" triggered the automatic gc on the receiving end, a message from "git prune" that said it was removing cruft leaked to the standard output, breaking the communication protocol. - * "git diff" had a confusion between taking data from a path in the - working tree and taking data from an object that happens to have - name 0{40} recorded in a tree. + * "git show --quiet" ought to be a synonym for "git show -s", but + wasn't. + + * "git show --format='%ci'" did not give timestamp correctly for + commits created without human readable name on "committer" line. * "git send-email" did not unquote encoded words that appear on the header correctly, and lost "_" from strings. + * The interactive prompt "git send-email" gives was error prone. It + asked "What e-mail address do you want to use?" with the address it + guessed (correctly) the user would want to use in its prompt, + tempting the user to say "y". But the response was taken as "No, + please use 'y' as the e-mail address instead", which is most + certainly not what the user meant. + + * "gitweb" when used with PATH_INFO failed to notice directories with + SP (and other characters that need URL-style quoting) in them. + * When the user gives an argument that can be taken as both a revision name and a pathname without disambiguating with "--", we used to give a help message "Use '--' to separate". The message has been clarified to show where that '--' goes on the command line. - * "gitweb" when used with PATH_INFO failed to notice directories with - SP (and other characters that need URL-style quoting) in them. + * When the user exports a non-default IFS without HT, scripts that + rely on being able to parse "ls-files -s | while read a b c..." + started to fail. Protect them from such a misconfiguration. + + * The attribute system may be asked for a path that itself or its + leading directories no longer exists in the working tree, and it is + fine if we cannot open .gitattribute file in such a case. Failure + to open per-directory .gitattributes with error status other than + ENOENT and ENOTDIR should be diagnosed, but it wasn't. + + * After "gitk" showed the contents of a tag, neither "Reread + references" nor "Reload" did not update what is shown as the + contents of it, when the user overwrote the tag with "git tag -f". + + * "ciabot" script (in contrib/) has been updated with extensive + documentation. + + * "git-jump" script (in contrib/) did not work well when + diff.noprefix or diff.mnemonicprefix is in effect. + + * Older parts of the documentation described as if having a regular + file in .git/refs/ hierarchy were the only way to have branches and + tags, which is not true for quite some time. + + * A utility shell function test_seq has been added as a replacement + for the 'seq' utility found on some platforms. + + * Compatibility wrapper to learn the maximum number of file + descriptors we can open around sysconf(_SC_OPEN_MAX) and + getrlimit(RLIMIT_NO_FILE) has been introduced for portability. + + * We used curl_easy_strerror() without checking version of cURL, + breaking the build for versions before curl 7.12.0. + + * Code to work around MacOS X UTF-8 gotcha has been cleaned up. + + * Fallback 'getpass' implementation made unportable use of stdio API. + + * The "--rebase" option to "git pull" can be abbreviated to "-r", + but we didn't document it. + + * It was generally understood that "--long-option"s to many of our + subcommands can be abbreviated to the unique prefix, but it was not + easy to find it described for new readers of the documentation set. + + * The synopsis said "checkout [-B branch]" to make it clear the + branch name is a parameter to the option, but the heading for the + option description was "-B::", not "-B branch::", making the + documentation misleading. + +Also contains numerous documentation updates. diff --git a/Documentation/RelNotes/1.7.12.2.txt b/Documentation/RelNotes/1.7.12.2.txt new file mode 100644 index 0000000000..69255745e6 --- /dev/null +++ b/Documentation/RelNotes/1.7.12.2.txt @@ -0,0 +1,40 @@ +Git 1.7.12.2 Release Notes +========================== + +Fixes since v1.7.12.1 +--------------------- + + * When "git am" is fed an input that has multiple "Content-type: ..." + header, it did not grok charset= attribute correctly. + + * Even during a conflicted merge, "git blame $path" always meant to + blame uncommitted changes to the "working tree" version; make it + more useful by showing cleanly merged parts as coming from the other + branch that is being merged. + + * "git blame MAKEFILE" run in a history that has "Makefile" but not + "MAKEFILE" should say "No such file MAKEFILE in HEAD", but got + confused on a case insensitive filesystem and failed to do so. + + * "git fetch --all", when passed "--no-tags", did not honor the + "--no-tags" option while fetching from individual remotes (the same + issue existed with "--tags", but combination "--all --tags" makes + much less sense than "--all --no-tags"). + + * "git log/diff/format-patch --stat" showed the "N line(s) added" + comment in user's locale and caused careless submitters to send + patches with such a line in them to projects whose project language + is not their language, mildly irritating others. Localization to + the line has been disabled for now. + + * "git log --all-match --grep=A --grep=B" ought to show commits that + mention both A and B, but when these three options are used with + --author or --committer, it showed commits that mention either A or + B (or both) instead. + + * The subcommand to remove the definition of a remote in "git remote" + was named "rm" even though all other subcommands were spelled out. + Introduce "git remote remove" to remove confusion, and keep "rm" as + a backward compatible synonym. + +Also contains a handful of documentation updates. diff --git a/Documentation/RelNotes/1.8.0.txt b/Documentation/RelNotes/1.8.0.txt index 9714422dee..e183df6410 100644 --- a/Documentation/RelNotes/1.8.0.txt +++ b/Documentation/RelNotes/1.8.0.txt @@ -28,9 +28,15 @@ UI, Workflows & Features * A credential helper for Win32 to allow access to the keychain of the logged-in user has been added. + * An initial port to HP NonStop. + * A credential helper to allow access to the Gnome keyring has been added. + * When "git am" sanitizes the Subject: line, we strip the prefix from + "Re: subject" and also from a less common "re: subject", but left + even less common "RE: subject" intact. + * It was tempting to say "git branch --set-upstream origin/master", but that tells Git to arrange the local branch "origin/master" to integrate with the currently checked out branch, which is highly @@ -41,6 +47,11 @@ UI, Workflows & Features * "git cherry-pick" learned the "--allow-empty-message" option to allow it to replay a commit without any log message. + * After "git cherry-pick -s" gave control back to the user asking + help to resolve conflicts, concluding "git commit" used to need to + be run with "-s" if the user wants to sign it off; now the command + leaves the sign-off line in the log template. + * "git daemon" learned the "--access-hook" option to allow an external command to decline service based on the client address, repository path, etc. @@ -54,11 +65,20 @@ UI, Workflows & Features * "git merge-base" learned "--is-ancestor A B" option to tell if A is an ancestor of B. The result is indicated by its exit status code. + * The "-Xours" backend option to "git merge -s recursive" now takes + effect even on binary files. + + * "git rebase -i" learned the "--edit-todo" option to open an editor + to edit the insn sheet. + Foreign Interface * "git svn" has been updated to work with SVN 1.7. + * "git p4" learned "--conflicts" option to specify what to do when + encountering a conflict during "p4 submit". + Performance, Internal Implementation, etc. (please report possible regressions) @@ -69,6 +89,9 @@ Performance, Internal Implementation, etc. (please report possible regressions) * The "check-docs" build target has been updated and greatly simplified. + * The test suite is run under MALLOC_CHECK_ when running with glibc + that supports the feature. + * The documentation in the TeXinfo format was using indented output for materials meant to be examples that are better typeset in monospace. @@ -109,50 +132,84 @@ Unless otherwise noted, all the fixes since v1.7.12 in the maintenance track are contained in this release (see release notes to them for details). - * "git fetch --all", when passed "--no-tags", did not honor the - "--no-tags" option while fetching from individual remotes (the same - issue existed with "--tags", but combination "--all --tags" makes - much less sense than "--all --no-tags"). - (merge 8556646 dj/fetch-all-tags later to maint). + * The attribute system may be asked for a path that itself or its + leading directories no longer exists in the working tree, and it is + fine if we cannot open .gitattribute file in such a case. Failure + to open per-directory .gitattributes with error status other than + ENOENT and ENOTDIR should be diagnosed, but it wasn't. - * The subcommand in "git remote" to remove a defined remote was - "rm" and the command did not take a fully-spelled "remove". - (merge e17dba8 nd/maint-remote-remove later to maint). + * When looking for $HOME/.gitconfig etc., it is OK if we cannot read + them because they do not exist, but we did not diagnose existing + files that we cannot read. - * After "gitk" showed the contents of a tag, neither "Reread - references" nor "Reload" did not update what is shown as the - contents of it, when the user overwrote the tag with "git tag -f". + * When "git am" is fed an input that has multiple "Content-type: ..." + header, it did not grok charset= attribute correctly. - * "git cvsimport" did not thoroughly cleanse tag names that it - inferred from the names of the tags it obtained from CVS, which - caused "git tag" to barf and stop the import in the middle. + * "git blame MAKEFILE" run in a history that has "Makefile" but not + "MAKEFILE" should say "No such file MAKEFILE in HEAD", but got + confused on a case insensitive filesystem and failed to do so. - * "git show --format='%ci'" did not give timestamp correctly for - commits created without human readable name on "committer" line. - (merge e27ddb6 jc/maint-ident-missing-human-name later to maint). + * Even during a conflicted merge, "git blame $path" always meant to + blame uncommitted changes to the "working tree" version; make it + more useful by showing cleanly merged parts as coming from the other + branch that is being merged. + + * Output from "git branch -v" contains "(no branch)" that could be + localized, but the code to align it along with the names of + branches were counting in bytes, not in display columns. * "git cherry-pick A C B" used to replay changes in A and then B and then C if these three commits had committer timestamps in that order, which is not what the user who said "A C B" naturally expects. - (merge a73e22e mz/cherry-pick-cmdline-order later to maint). - * "git show --quiet" ought to be a synonym for "git show -s", but - wasn't. - (merge f9c75d8 jk/maint-quiet-is-synonym-to-s-in-log later to maint). + * Documentation talked about "first line of commit log" when it meant + the title of the commit. The description was clarified by defining + how the title is decided and rewording the casual mention of "first + line" to "title". + + * "git cvsimport" did not thoroughly cleanse tag names that it + inferred from the names of the tags it obtained from CVS, which + caused "git tag" to barf and stop the import in the middle. + + * Earlier we made the diffstat summary line that shows the number of + lines added/deleted localizable, but it was found irritating having + to see them in various languages on a list whose discussion language + is English. + + * "git fetch --all", when passed "--no-tags", did not honor the + "--no-tags" option while fetching from individual remotes (the same + issue existed with "--tags", but combination "--all --tags" makes + much less sense than "--all --no-tags"). + + * "git fetch" over http had an old workaround for an unlikely server + misconfiguration; it turns out that this hurts debuggability of the + configuration in general, and has been reverted. + (merge 6ac964a sp/maint-http-info-refs-no-retry later to maint). + + * "git fetch" over http advertised that it supports "deflate", which + is much less common, and did not advertise more common "gzip" on + its Accept-Encoding header. + (merge aa90b96 sp/maint-http-enable-gzip later to maint). + + * After "gitk" showed the contents of a tag, neither "Reread + references" nor "Reload" did not update what is shown as the + contents of it, when the user overwrote the tag with "git tag -f". + + * "git log --all-match --grep=A --grep=B" ought to show commits that + mention both A and B, but when these three options are used with + --author or --committer, it showed commits that mention either A or + B (or both) instead. * "git p4", when "--use-client-spec" and "--detect-branches" are used together, misdetected branches. - (merge 21ef5df pw/p4-use-client-spec-branch-detection later to maint). - * Output from "git branch -v" contains "(no branch)" that could be - localized, but the code to align it along with the names of - branches were counting in bytes, not in display columns. - (merge 1452bd6 nd/branch-v-alignment later to maint). + * When you misspell the command name you give to the "exec" action in + the "git rebase -i" insn sheet, you are told that 'rebase' is not a + git subcommand from "git rebase --continue". - * When looking for $HOME/.gitconfig etc., it is OK if we cannot read - them because they do not exist, but we did not diagnose existing - files that we cannot read. + * The subcommand in "git remote" to remove a defined remote was + "rm" and the command did not take a fully-spelled "remove". * The interactive prompt "git send-email" gives was error prone. It asked "What e-mail address do you want to use?" with the address it @@ -160,4 +217,14 @@ to them for details). tempting the user to say "y". But the response was taken as "No, please use 'y' as the e-mail address instead", which is most certainly not what the user meant. - (merge 6183749 sb/send-email-reconfirm-fix later to maint). + + * "git show --format='%ci'" did not give timestamp correctly for + commits created without human readable name on "committer" line. + + * "git show --quiet" ought to be a synonym for "git show -s", but + wasn't. + + * "git submodule frotz" was not diagnosed as "frotz" being an unknown + subcommand to "git submodule"; the user instead got a complaint + that "git submodule status" was run with an unknown path "frotz". + (merge af9c9f9 rr/maint-submodule-unknown-cmd later to maint). |