Documentation: filter-branch: document how to filter all refs
[gitweb.git] / Documentation / RelNotes-1.6.0.txt
index 89ea1e9385bdea0ec42891c1f5ac7763cdbf8a73..e524d80fbff33a9403b3539cbaedefecf2b1bd9e 100644 (file)
@@ -15,19 +15,28 @@ release, but users are again strongly encouraged to adjust their
 scripts to use "git xyzzy" form, as we will stop installing
 "git-xyzzy" hardlinks for built-in commands in later releases.
 
+An earlier change to page "git status" output was overwhelmingly unpopular
+and has been reverted.
+
 Source changes needed for porting to MinGW environment are now all in the
 main git.git codebase.
 
 By default, packfiles created with this version uses delta-base-offset
 encoding introduced in v1.4.4.  Pack idx files are using version 2 that
 allows larger packs and added robustness thanks to its CRC checking,
-introduced in v1.5.2.
+introduced in v1.5.2 and v1.4.4.5.  If you want to keep your repositories
+backwards compatible past these versions, set repack.useDeltaBaseOffset
+to false or pack.indexVersion to 1, respectively.
 
 GIT_CONFIG, which was only documented as affecting "git config", but
 actually affected all git commands, now only affects "git config".
 GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
 not different from GIT_CONFIG in a useful way, is removed.
 
+The ".dotest" temporary area "git am" and "git rebase" use is now moved
+inside the $GIT_DIR, to avoid mistakes of adding it to the project by
+accident.
+
 An ancient merge strategy "stupid" has been removed.
 
 
@@ -67,7 +76,8 @@ Updates since v1.5.6
 
 (performance, robustness, sanity etc.)
 
-* even more documentation pages are now accessible via "man" and "git help".
+* index-pack used too much memory when dealing with a deep delta chain.
+  This has been optimized.
 
 * reduced excessive inlining to shrink size of the "git" binary.
 
@@ -79,6 +89,8 @@ Updates since v1.5.6
   repack -a -f" can be used to fix such a corruption as long as necessary
   objects are available.
 
+* Performance of "git-blame -C -C" operation is vastly improved.
+
 * git-clone does not create refs in loose form anymore (it behaves as
   if you immediately ran git-pack-refs after cloning).  This will help
   repositories with insanely large number of refs.
@@ -92,6 +104,8 @@ Updates since v1.5.6
 
 (usability, bells and whistles)
 
+* even more documentation pages are now accessible via "man" and "git help".
+
 * A new environment variable GIT_CEILING_DIRECTORIES can be used to stop
   the discovery process of the toplevel of working tree; this may be useful
   when you are working in a slow network disk and are outside any working tree,
@@ -125,6 +139,13 @@ Updates since v1.5.6
 * git-archive can be told to omit certain paths from its output using
   export-ignore attributes.
 
+* git-archive uses the zlib default compression level when creating
+  zip archive.
+
+* git-archive's command line options --exec and --remote can take their
+  parameters as separate command line arguments, similar to other commands.
+  IOW, both "--exec=path" and "--exec path" are now supported.
+
 * With -v option, git-branch describes the remote tracking statistics
   similar to the way git-checkout reports by how many commits your branch
   is ahead/behind.
@@ -144,8 +165,16 @@ Updates since v1.5.6
 * git-clone can clone from a remote whose URL would be rewritten by
   configuration stored in $HOME/.gitconfig now.
 
+* "git-clone --mirror" is a handy way to set up a bare mirror repository.
+
+* git-cvsserver learned to respond to "cvs co -c".
+
 * git-diff --check now checks leftover merge conflict markers.
 
+* "git-diff -p" learned to grab a better hunk header lines in
+  Pascal/Delphi and Ruby source files, and also pays attention to
+  chapter and part boundary in TeX documents.
+
 * When remote side used to have branch 'foo' and git-fetch finds that now
   it has branch 'foo/bar', it refuses to lose the existing remote tracking
   branch and its reflog.  The error message has been improved to suggest
@@ -155,14 +184,24 @@ Updates since v1.5.6
 * fast-export learned to export and import marks file; this can be used to
   interface with fast-import incrementally.
 
+* fast-import and fast-export learned to export and import gitlinks.
+
+* "gitk" left background process behind after begin asked to dig very deep
+  history and the user killed the UI; the process is killed when the UI goes
+  away now.
+
 * git-rebase records the original tip of branch in ORIG_HEAD before it is
   rewound.
 
 * "git rerere" can be told to update the index with auto-reused resolution
   with rerere.autoupdate configuration variable.
 
+* git-rev-parse learned $commit^! and $commit^@ notations used in "log"
+  family.  These notations are available in gitk as well, because the gitk
+  command internally uses rev-parse to interpret its arguments.
+
 * git-rev-list learned --children option to show child commits it
-  encountered during the traversal, instead of shoing parent commits.
+  encountered during the traversal, instead of showing parent commits.
 
 * git-send-mail can talk not just over SSL but over TLS now.
 
@@ -178,6 +217,9 @@ Updates since v1.5.6
 * git-status gives the remote tracking statistics similar to the way
   git-checkout reports by how many commits your branch is ahead/behind.
 
+* "git-svn dcommit" is now aware of auto-props setting the subversion user
+  has.
+
 * You can tell "git status -u" to even more aggressively omit checking
   untracked files with --untracked-files=no.
 
@@ -188,6 +230,8 @@ Updates since v1.5.6
 
 (internal)
 
+* git-merge has been reimplemented in C.
+
 
 Fixes since v1.5.6
 ------------------
@@ -195,12 +239,15 @@ Fixes since v1.5.6
 All of the fixes in v1.5.6 maintenance series are included in
 this release, unless otherwise noted.
 
- * "git fetch" into an empty repository used to remind the fetch will
-   be huge by saying "no common commits", but it is already known by
-   the user anyway (need to backport 8cb560f to 'maint').
+* git-clone ignored its -u option; the fix needs to be backported to
+  'maint';
+
+* git-mv used to lose the distinction between changes that are staged
+  and that are only in the working tree, by staging both in the index
+  after moving such a path.
 
 ---
 exec >/var/tmp/1
-O=v1.5.6.3-350-g499027b
+O=v1.6.0-rc1-113-gf44bc33
 echo O=$(git describe refs/heads/master)
 git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint