Merge branch 'maint'
[gitweb.git] / Documentation / RelNotes-1.6.1.txt
index 848541a5add8604e52371ca74a5b1ee611f6c085..adb7ccab0a4dc3895f46a1cff840988554f62ec4 100644 (file)
@@ -20,6 +20,8 @@ on.
 
 * Various gitweb updates from repo.or.cz installation.
 
+* Updates to emacs bindings.
+
 (portability)
 
 * A few test scripts used nonportable "grep" that did not work well on
@@ -31,6 +33,11 @@ on.
 
 (performance)
 
+* Many operations that are lstat(3) heavy can be told to pre-execute
+  necessary lstat(3) in parallel before their main operations, which
+  potentially gives much improved performance for cold-cache cases or in
+  environments with weak metadata caching (e.g. NFS).
+
 * The underlying diff machinery to produce textual output has been
   optimized, which would result in faster "git blame" processing.
 
@@ -62,12 +69,18 @@ on.
 * "git add -N path..." adds the named paths as an empty blob, so that
   subsequent "git diff" will show a diff as if they are creation events.
 
+* "git add" gained a built-in synonym for people who want to say "stage
+  changes" instead of "add contents to the staging area" which amounts
+  to the same thing.
+
 * "git apply" learned --include=paths option, similar to the existing
   --exclude=paths option.
 
 * "git bisect" is careful about a user mistake and suggests testing of
   merge base first when good is not a strict ancestor of bad.
 
+* "git bisect skip" can take a range of commits.
+
 * "git blame" re-encodes the commit metainfo to UTF-8 from i18n.commitEncoding
   by default.
 
@@ -122,16 +135,10 @@ on.
   cannot produce a patch that can be applied, so this is disabled in
   format-patch among other things).
 
-* "git diff" hunk header pattern for ObjC has been added.
-
 * "--cached" option to "git diff has an easier to remember synonym "--staged",
   to ask "what is the difference between the given commit and the
   contents staged in the index?"
 
-* a "textconv" filter that makes binary files textual form for human
-   consumption can be specified as an attribute for paths; "git diff"
-   learnt to make use of it.
-
 * "git for-each-ref" learned "refname:short" token that gives an
   unambiguously abbreviated refname.
 
@@ -169,6 +176,9 @@ on.
 * "git merge -s $strategy" can use a custom built strategy if you have a
   command "git-merge-$strategy" on your $PATH.
 
+* "git pull" (and "git fetch") can be told to operate "-v"erbosely or
+  "-q"uietly.
+
 * "git push" can be told to reject deletion of refs with receive.denyDeletes
   configuration.
 
@@ -181,8 +191,9 @@ on.
 
 * "git remote show $remote" lists remote branches one-per-line now.
 
-* when giving up resolving a conflicted merge, "git reset --hard" failed
-  to remove new paths from the working tree. [cherry-pick to 'maint'?]
+* "git send-email" can be given revision range instead of files and
+  maildirs on the command line, and automatically runs format-patch to
+  generate patches for the given revision range.
 
 * "git submodule foreach" subcommand allows you to iterate over checked
   out submodules.
@@ -219,24 +230,44 @@ Fixes since v1.6.0
 All of the fixes in v1.6.0.X maintenance series are included in this
 release, unless otherwise noted.
 
+* Porcelains implemented as shell scripts were utterly confused when you
+  entered to a subdirectory of a work tree from sideways, following a
+  symbolic link (this may need to be backported to older releases later).
+
+* Tracking symbolic links would work better on filesystems whose lstat()
+  returns incorrect st_size value for them.
+
 * "git add" and "git update-index" incorrectly allowed adding S/F when S
   is a tracked symlink that points at a directory D that has a path F in
   it (we still need to fix a similar nonsense when S is a submodule and F
   is a path in it).
 
+* "git am" after stopping at a broken patch lost --whitespace, -C, -p and
+  --3way options given from the command line initially.
+
 * "git diff --stdin" used to take two trees on a line and compared them,
   but we dropped support for such a use case long time ago.  This has
   been resurrected.
 
-* Giving 3 or more tree-ish to "git diff" is supposed to show the combined
-  diff from second and subsequent trees to the first one.  b75271d ("git
-  diff <tree>{3,}": do not reverse order of arguments, 2008-10-10) needs
-  to be cherry-picked to 'maint'.
-
 * "git filter-branch" failed to rewrite a tag name with slashes in it.
 
-* "git repack" used to grab objects out of packs marked with .keep
-  into a new pack (fix scheduled to be further downmerged to maint).
+* "git http-push" did not understand URI scheme other than opaquelocktoken
+  when acquiring a lock from the server (this may need to be backported to
+  older releases later).
+
+* After "git rebase -p" stopped with conflicts while replaying a merge,
+ "git rebase --continue" did not work (may need to be backported to older
+  releases).
+
+* "git revert" records relative to which parent a revert was made when
+  reverting a merge.  Together with new documentation that explains issues
+  around reverting a merge and merging from the updated branch later, this
+  hopefully will reduce user confusion (this may need to be backported to
+  older releases later).
+
+* "git rm --cached" used to allow an empty blob that was added earlier to
+  be removed without --force, even when the file in the work tree has
+  since been modified.
 
 * "git push --tags --all $there" failed with generic usage message without
   telling saying these two options are incompatible.
@@ -245,15 +276,11 @@ release, unless otherwise noted.
   timestamp part, exposing internal implementation detail.  Also these did
   not work with --fixed-strings match at all.
 
-* "git tag" did not complain about incompatible combination of options
-  e.g. "tag -l -d" (fix scheduled to be further downmerged to maint).
-
-* Internal diff machinery had a corner case performance bug that choked on a
-  large file with many repeated contents (fix scheduled to be further cherry-
-  picked to maint).
+* "gitweb" did not mark non-ASCII characters imported from external HTML fragments
+  correctly.
 
 --
 exec >/var/tmp/1
-O=v1.6.0.4-697-g168d5bd
+O=v1.6.1-rc3-74-gf66bc5f
 echo O=$(git describe master)
 git shortlog --no-merges $O..master ^maint