diff options
Diffstat (limited to 'Documentation/RelNotes')
-rw-r--r-- | Documentation/RelNotes/1.7.6.1.txt | 63 | ||||
-rw-r--r-- | Documentation/RelNotes/1.7.7.txt | 115 |
2 files changed, 151 insertions, 27 deletions
diff --git a/Documentation/RelNotes/1.7.6.1.txt b/Documentation/RelNotes/1.7.6.1.txt new file mode 100644 index 0000000000..42e46ab17f --- /dev/null +++ b/Documentation/RelNotes/1.7.6.1.txt @@ -0,0 +1,63 @@ +Git v1.7.6.1 Release Notes +========================== + +Fixes since v1.7.6 +------------------ + + * Various codepaths that invoked zlib deflate/inflate assumed that these + functions can compress or uncompress more than 4GB data in one call on + platforms with 64-bit long, which has been corrected. + + * "git unexecutable" reported that "unexecutable" was not found, even + though the actual error was that "unexecutable" was found but did + not have a proper she-bang line to be executed. + + * Error exits from $PAGER were silently ignored. + + * "git checkout -b <branch>" was confused when attempting to create a + branch whose name ends with "-g" followed by hexadecimal digits, + and refused to work. + + * "git checkout -b <branch>" sometimes wrote a bogus reflog entry, + causing later "git checkout -" to fail. + + * "git diff --cc" learned to correctly ignore binary files. + + * "git diff -c/--cc" mishandled a deletion that resolves a conflict, and + looked in the working tree instead. + + * "git fast-export" forgot to quote pathnames with unsafe characters + in its output. + + * "git fetch" over smart-http transport used to abort when the + repository was updated between the initial connection and the + subsequent object transfer. + + * "git fetch" did not recurse into submodules in subdirectories. + + * "git ls-tree" did not error out when asked to show a corrupt tree. + + * "git pull" without any argument left an extra whitespace after the + command name in its reflog. + + * "git push --quiet" was not really quiet. + + * "git rebase -i -p" incorrectly dropped commits from side branches. + + * "git reset [<commit>] paths..." did not reset the index entry correctly + for unmerged paths. + + * "git submodule add" did not allow a relative repository path when + the superproject did not have any default remote url. + + * "git submodule foreach" failed to correctly give the standard input to + the user-supplied command it invoked. + + * submodules that the user has never showed interest in by running + "git submodule init" was incorrectly marked as interesting by "git + submodule sync". + + * "git submodule update --quiet" was not really quiet. + + * "git tag -l <glob>..." did not take multiple glob patterns from the + command line. diff --git a/Documentation/RelNotes/1.7.7.txt b/Documentation/RelNotes/1.7.7.txt index 6d3bfd1968..6b3264aa7e 100644 --- a/Documentation/RelNotes/1.7.7.txt +++ b/Documentation/RelNotes/1.7.7.txt @@ -6,26 +6,72 @@ Updates since v1.7.6 * The scripting part of the codebase is getting prepared for i18n/l10n. - * Interix and Cygwin ports got updated. + * Interix, Cygwin and Minix ports got updated. + + * Various updates git-p4 (in contrib/) and "git fast-import". + + * Gitweb learned to read from /etc/gitweb-common.conf when it exists, + before reading from gitweb_config.perl or from /etc/gitweb.conf + (this last one is read only when per-repository gitweb_config.perl + does not exist). * Various codepaths that invoked zlib deflate/inflate assumed that these functions can compress or uncompress more than 4GB data in one call on platforms with 64-bit long, which has been corrected. + * Git now recognizes loose objects written by other implementations that + uses non-standard window size for zlib deflation (e.g. Agit running on + Android with 4kb window). We used to reject anything that was not + deflated with 32kb window. + + * Interaction between the use of pager and coloring of the output has + been improved, especially when a command that is not built-in was + involved. + + * "git am" learned to pass "--exclude=<path>" option through to underlying + "git apply". + + * You can now feed many empty lines before feeding a mbox file to + "git am". + * "git archive" can be told to pass the output to gzip compression and produce "archive.tar.gz". + * "git bisect" can be used in a bare repository (provided if the test + you perform per each iteration does not need a working tree, of + course). + + * The length of abbreviated object names in "git branch -v" output + now honors core.abbrev configuration variable. + + * "git check-attr" can take relative paths from the command line. + + * "git check-attr" learned "--all" option to list the attributes for a + given path. + * "git checkout" (both the code to update the files upon checking out a different branch, the code to checkout specific set of files) learned to stream the data from object store when possible, without having to - read the entire contents of a file in memory first. + read the entire contents of a file in memory first. An earlier round + of this code that is not in any released version had a large leak but + now it has been plugged. * "git clone" can now take "--config key=value" option to set the repository configuration options that affect the initial checkout. + * "git commit <paths>..." now lets you feed relative pathspecs that + refer outside your current subdirectory. + * "git diff --stat" learned --stat-count option to limit the output of diffstat report. + * "git diff" learned "--histogram" option, to use a different diff + generation machinery stolen from jgit, which might give better + performance. + + * "git diff" had a wierd worst case behaviour that can be triggered + when comparing files with potentially many places that could match. + * "git fetch", "git push" and friends no longer show connection errors for addresses that couldn't be connected when at least one address succeeds (this is arguably a regression but a deliberate @@ -34,15 +80,36 @@ Updates since v1.7.6 * "git grep" learned --break and --heading options, to let users mimic output format of "ack". + * "git grep" learned "-W" option that shows wider context using the same + logic used by "git diff" to determine the hunk header. + + * The "--decorate" option to "git log" and its family learned to + highlight grafted and replaced commits. + * "git rebase master topci" no longer spews usage hints after giving "fatal: no such branch: topci" error message. + * The recursive merge strategy implementation got a fairly large + fixes for many corner cases that may rarely happen in real world + projects (it has been verified that none of the 16000+ merges in + the Linux kernel history back to v2.6.12 is affected with the + corner case bugs this update fixes). + * "git stash" learned --include-untracked option. * "git submodule update" used to stop at the first error updating a submodule; it now goes on to update other submodules that can be updated, and reports the ones with errors at the end. + * "git push" can be told with --recurse-submodules=check option to + refuse pushing of the supermodule, if any of its submodules' + commits hasn't been pushed out to their remotes. + + * "git upload-pack" and "git receive-pack" learned to pretend only a + subset of the refs exist in a repository. This may help a site to + put many tiny repositories into one repository (this would not be + useful for larger repositories as repacking would be problematic). + * "git verify-pack" has been rewritten to use the "index-pack" machinery that is more efficient in reading objects in packfiles. @@ -59,40 +126,34 @@ Fixes since v1.7.6 Unless otherwise noted, all the fixes in 1.7.6.X maintenance track are included in this release. - * "git checkout -b <branch>" sometimes wrote a bogus reflog entry, - causing later "git checkout -" fail. - (merge 71ee7fd jc/checkout-reflog-fix~1 later). - - * "git diff --cc" learned to correctly ignore binary files. - (merge 0508fe5 jk/combine-diff-binary-etc later) - - * "git fetch" did not recurse into submodules in subdirectories. - (merge ea2d325 jl/maint-fetch-recursive-fix later) + * "git branch --set-upstream @{-1} foo" did not expand @{-1} correctly. + (merge e9d4f74 mg/branch-set-upstream-previous later to 'maint'). - * "git rebase -i -p" incorrectly dropped commits from side branches. - (merge 12bf828 aw/rebase-i-p later) + * "git branch -m" and "git checkout -b" incorrectly allowed the tip + of the branch that is currently checked out updated. + (merge 55c4a67 ci/forbid-unwanted-current-branch-update later to 'maint'). - * "git submodule add" did not allow a relative repository path when - the superproject did not have any default remote url. - (merge f22a17e8 jl/submodule-add-relurl-wo-upstream later) + * "git clone" failed to clone locally from a ".git" file that itself + is not a directory but is a pointer to one. + (merge 9b0ebc7 nd/maint-clone-gitdir later to 'maint'). - * "git submodule foreach" failed to correctly give the standard input to - the user-supplied command it invoked. - (merge 4dca1aa bc/submodule-foreach-stdin-fix-1.7.4 later) + * "git clone" from a local repository that borrows from another + object store using a relative path in its objects/info/alternates + file did not adjust the alternates in the resulting repository. + (merge e6baf4a1 jc/maint-clone-alternates later to 'maint'). - * submodules that the user has never showed interest in by running - "git submodule init" was incorrectly marked as interesting by "git - submodule sync". - (merge 2cd9de3 jc/submodule-sync-no-auto-vivify later) + * "git describe --dirty" did not refresh the index before checking the + state of the working tree files. + (cherry-pick bb57148 ac/describe-dirty-refresh later to 'maint'). - * "git tag -l <glob>..." did not take multiple glob patterns from the - command line. - (merge 588d0e8 jk/tag-list-multiple-patterns later) + * "git ls-files ../$path" that is run from a subdirectory reported errors + incorrectly when there is no such path that matches the given pathspec. + (merge 0f64bfa cb/maint-ls-files-error-report later to 'maint'). -- exec >/var/tmp/1 echo O=$(git describe master) -O=v1.7.6-344-g22f4128 +O=v1.7.6.1-415-g284daf2 git log --first-parent --oneline $O..master echo git shortlog --no-merges ^maint ^$O master |