correct usage help string for git-hash-object
[gitweb.git] / Documentation / RelNotes-1.6.0.txt
index d37aa46a289f456f7618c156b41d17292178dc84..2542cf53d2e40b06afe918fcf1cd35de19126d9e 100644 (file)
@@ -4,9 +4,6 @@ GIT v1.6.0 Release Notes
 User visible changes
 --------------------
 
-[[Note that none of these are not merged to 'master' as of this writing
-but they will be before 1.6.0 happens]]
-
 With the default Makefile settings, most of the programs are now
 installed outside your $PATH, except for "git", "gitk", "git-gui" and
 some server side programs that need to be accessible for technical
@@ -18,14 +15,30 @@ 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 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.
+
 
 Updates since v1.5.6
 --------------------
@@ -35,8 +48,13 @@ Updates since v1.5.6
 * git-p4 in contrib learned "allowSubmit" configuration to control on
   which branch to allow "submit" subcommand.
 
+* git-gui learned to stage changes per-line.
+
 (portability)
 
+* Changes for MinGW port have been merged, thanks to Johannes Sixt and
+  gangs.
+
 * Sample hook scripts shipped in templates/ are now suffixed with
   *.sample.  We used to prevent them from triggering by default by
   relying on the fact that we install them as unexecutable, but on
@@ -51,13 +69,15 @@ Updates since v1.5.6
 
 * Updated howto/update-hook-example
 
-* Got rid of usage of "git-foo" from the tutorial.
+* Got rid of usage of "git-foo" from the tutorial and made typography
+  more consistent.
 
 * Disambiguating "--" between revs and paths is finally documented.
 
 (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.
 
@@ -69,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.
@@ -82,22 +104,120 @@ 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,
+  as bash-completion and "git help" may still need to run in these places.
+
+* By default, stash entries never expire.  Set reflogexpire in [gc
+  "refs/stash"] to a reasonable value to get traditional auto-expiration
+  behaviour back
+
+* Longstanding latency issue with bash completion script has been
+  addressed.  This will need to be backmerged to 'maint' later.
+
+* pager.<cmd> configuration variable can be used to enable/disable the
+  default paging behaviour per command.
+
+* "git-add -i" has a new action 'e/dit' to allow you edit the patch hunk
+  manually.
+
+* git-am records the original tip of the branch in ORIG_HEAD before it
+  starts applying patches.
+
+* git-apply can handle a patch that touches the same path more than once
+  much better than before.
+
+* git-apply can be told not to trust the line counts recorded in the input
+  patch but recount, with the new --recount option.
+
+* git-apply can be told to apply a patch to a path deeper than what the
+  patch records with --directory option.
+
 * 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.
+
+* 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.
+
+* git-branch's --contains option used to always require a commit parameter
+  to limit the branches with; it now defaults to list branches that
+  contains HEAD if this parameter is omitted.
+
+* git-branch's --merged and --no-merged option used to always limit the
+  branches relative to the HEAD, but they can now take an optional commit
+  argument that is used in place of HEAD.
+
+* git-bundle can read the revision arguments from the standard input.
+
+* git-cherry-pick can replay a root commit now.
+
+* git-clone can clone from a remote whose URL would be rewritten by
+  configuration stored in $HOME/.gitconfig now.
+
+* git-cvsserver learned to respond to "cvs co -c".
+
+* git-diff --check now checks leftover merge conflict markers.
+
+* 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
+  pruning the remote if the user wants to proceed and get the latest set
+  of branches from the remote, including such 'foo/bar'.
+
 * fast-export learned to export and import marks file; this can be used to
   interface with fast-import incrementally.
 
-* Original SHA-1 value for "update-ref -d" is optional now.
+* fast-import and fast-export learned to export and import gitlinks.
+
+* 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.
+
+* git-send-mail can talk not just over SSL but over TLS now.
+
+* git-shortlog honors custom output format specified with "--pretty=format:".
+
+* "git-stash save" learned --keep-index option.  This lets you stash away the
+  local changes and bring the changes staged in the index to your working
+  tree for examination and testing.
+
+* git-stash also learned branch subcommand to create a new branch out of
+  stashed changes.
+
+* 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.
 
+* Original SHA-1 value for "update-ref -d" is optional now.
+
 * Error codes from gitweb are made more descriptive where possible, rather
   than "403 forbidden" as we used to issue everywhere.
 
 (internal)
 
+* git-merge has been reimplemented in C.
+
 
 Fixes since v1.5.6
 ------------------
@@ -105,14 +225,15 @@ Fixes since v1.5.6
 All of the fixes in v1.5.6 maintenance series are included in
 this release, unless otherwise noted.
 
- * diff -c/--cc showed unnecessary "deletion" lines at the context
-   boundary (needs backmerge to maint).
+* git-clone ignored its -u option; the fix needs to be backported to
+  'maint';
 
- * "git-clone <src> <dst>" did not create leading directories for <dst>
-   like the scripted version used to do (needs backport 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.1-104-ga08b868
+O=v1.6.0-rc0-104-g81dc230
 echo O=$(git describe refs/heads/master)
 git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint