Merge branch 'mh/check-ref-format-print-normalize'
[gitweb.git] / Documentation / RelNotes / 1.7.7.txt
index 8de880f83a2a33b16e0f8d3e8e9b90cdbb0cbfa1..ab50377e99c687433662ae129bd33343db323eea 100644 (file)
@@ -8,7 +8,7 @@ Updates since v1.7.6
 
  * Interix, Cygwin and Minix ports got updated.
 
- * A handful of patches to update git-p4 (in contrib/).
+ * Various updates git-p4 (in contrib/), fast-import, and git-svn.
 
  * Gitweb learned to read from /etc/gitweb-common.conf when it exists,
    before reading from gitweb_config.perl or from /etc/gitweb.conf
@@ -19,6 +19,21 @@ Updates since v1.7.6
    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".
 
@@ -26,6 +41,9 @@ Updates since v1.7.6
    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
@@ -51,6 +69,9 @@ Updates since v1.7.6
    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
@@ -62,15 +83,32 @@ Updates since v1.7.6
  * "git grep" learned "-W" option that shows wider context using the same
    logic used by "git diff" to determine the hunk header.
 
+ * Invoking the low-level "git http-fetch" without "-a" option (which
+   git itself never did---normal users should not have to worry about
+   this) is now deprecated.
+
+ * 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
@@ -92,25 +130,38 @@ Fixes since v1.7.6
 Unless otherwise noted, all the fixes in 1.7.6.X maintenance track are
 included in this release.
 
- * Error exits from $PAGER were silently ignored.
-   (merge fc1b56f cb/maint-exec-error-report later).
+ * The error reporting logic of "git am" when the command is fed a file
+   whose mail-storage format is unknown was fixed.
+   (merge dff4b0e gb/maint-am-patch-format-error-message later to 'maint').
+
+ * "git branch --set-upstream @{-1} foo" did not expand @{-1} correctly.
+   (merge e9d4f74 mg/branch-set-upstream-previous later to 'maint').
+
+ * "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 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 diff -c/--cc" mishandled a deletion that resolves a conflict, and
-   looked in the working tree instead.
-   (merge 9969454 jc/maint-combined-diff-work-tree 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').
 
- * "git fetch" over smart-http transport used to abort when the
-   repository was updated between the initial connection and the
-   subsequent object transfer.
-   (merge 051e400 jc/maint-smart-http-race-upload-pack 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 push --quiet" was not really quiet.
-   (merge 0d086b8 cb/maint-quiet-push 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-548-g324b6b1
+O=v1.7.7-rc0-174-ga536a9d
 git log --first-parent --oneline $O..master
 echo
 git shortlog --no-merges ^maint ^$O master