merge-recursive --renormalize
[gitweb.git] / Documentation / RelNotes-1.6.5.txt
index 84a84519d47784d8cf6375e30d12d9b83f41672b..ee141c19add21c463d076e994ee68704eb13ba55 100644 (file)
@@ -1,8 +1,9 @@
 GIT v1.6.5 Release Notes
 ========================
 
-In git 1.7.0, which is planned to be the release after 1.6.5, "git push"
-into a branch that is currently checked out will be refused by default.
+In git 1.7.0, which was planned to be the release after 1.6.5, "git
+push" into a branch that is currently checked out will be refused by
+default.
 
 You can choose what should happen upon such a push by setting the
 configuration variable receive.denyCurrentBranch in the receiving
@@ -31,21 +32,53 @@ Updates since v1.6.4
 
 (subsystems)
 
- * various updates to git-svn and gitweb.
+ * various updates to gitk, git-svn and gitweb.
 
 (portability)
 
  * more improvements on mingw port.
 
+ * mingw will also give FRSX as the default value for the LESS
+   environment variable when the user does not have one.
+
+ * initial support to compile git on Windows with MSVC.
+
 (performance)
 
  * On major platforms, the system can be compiled to use with Linus's
    block-sha1 implementation of the SHA-1 hash algorithm, which
    outperforms the default fallback implementation we borrowed from
-   Mozzilla.
+   Mozilla.
+
+ * Unnecessary inefficiency in deepening of a shallow repository has
+   been removed.
+
+ * "git clone" does not grab objects that it does not need (i.e.
+   referenced only from refs outside refs/heads and refs/tags
+   hierarchy) anymore.
+
+ * The "git" main binary used to link with libcurl, which then dragged
+   in a large number of external libraries.  When using basic plumbing
+   commands in scripts, this unnecessarily slowed things down.  We now
+   implement http/https/ftp transfer as a separate executable as we
+   used to.
+
+ * "git clone" run locally hardlinks or copies the files in .git/ to
+   newly created repository.  It used to give new mtime to copied files,
+   but this delayed garbage collection to trigger unnecessarily in the
+   cloned repository.  We now preserve mtime for these files to avoid
+   this issue.
 
 (usability, bells and whistles)
 
+ * Human writable date format to various options, e.g. --since=yesterday,
+   master@{2000.09.17}, are taught to infer some omitted input properly.
+
+ * A few programs gave verbose "advice" messages to help uninitiated
+   people when issuing error messages.  An infrastructure to allow
+   users to squelch them has been introduced, and a few such messages
+   can be silenced now.
+
  * refs/replace/ hierarchy is designed to be usable as a replacement
    of the "grafts" mechanism, with the added advantage that it can be
    transferred across repositories.
@@ -54,15 +87,39 @@ Updates since v1.6.4
 
  * "git am" handles input e-mail files that has CRLF line endings sensibly.
 
+ * "git am" learned "--scissors" option to allow you to discard early part
+   of an incoming e-mail.
+
+ * "git archive -o output.zip" works without being told what format to
+   use with an explicit "--format=zip".option.
+
+ * "git checkout", "git reset" and "git stash" learned to pick and
+   choose to use selected changes you made, similar to "git add -p".
+
+ * "git clone" learned a "-b" option to pick a HEAD to check out
+   different from the remote's default branch.
+
+ * "git clone" learned --recursive option.
+
+ * "git clone" from a local repository on a different filesystem used to
+   copy individual object files without preserving the old timestamp, giving
+   them extra lifetime in the new repository until they gc'ed.
+
  * "git commit --dry-run $args" is a new recommended way to ask "what would
    happen if I try to commit with these arguments."
 
- * "git cvsimport" now supports password-protected pserver access.
+ * "git commit --dry-run" and "git status" shows conflicted paths in a
+   separate section to make them easier to spot during a merge.
+
+ * "git cvsimport" now supports password-protected pserver access even
+   when the password is not taken from ~/.cvspass file.
 
  * "git fast-export" learned --no-data option that can be useful when
    reordering commits and trees without touching the contents of
    blobs.
 
+ * "git fast-import" has a pair of new front-end in contrib/ area.
+
  * "git init" learned to mkdir/chdir into a directory when given an
    extra argument (i.e. "git init this").
 
@@ -71,13 +128,19 @@ Updates since v1.6.4
  * "git log --decorate" can optionally be told with --decorate=full to
    give the reference name in full.
 
+ * "git merge" issued an unnecessarily scary message when it detected
+   that the merge may have to touch the path that the user has local
+   uncommitted changes to. The message has been reworded to make it
+   clear that the command aborted, without doing any harm.
+
  * "git push" can be told to be --quiet.
 
+ * "git push" pays attention to url.$base.pushInsteadOf and uses a URL
+   that is derived from the URL used for fetching.
+
  * informational output from "git reset" that lists the locally modified
    paths is made consistent with that of "git checkout $another_branch".
 
- * "git status" gives more descriptive output for unmerged paths.
-
  * "git submodule" learned to give submodule name to scripts run with
    "foreach" subcommand.
 
@@ -87,23 +150,20 @@ Updates since v1.6.4
    tree vs the commit bound at submodule path, instead of comparing
    the index.
 
+ * "git upload-pack", which is the server side support for "git clone" and
+   "git fetch", can call a new post-upload-pack hook for statistics purposes.
+
 (developers)
 
  * With GIT_TEST_OPTS="--root=/p/a/t/h", tests can be run outside the
    source directory; using tmpfs may give faster turnaround.
 
+ * With NO_PERL_MAKEMAKER set, DESTDIR= is now honoured, so you can
+   build for one location, and install into another location to tar it
+   up.
 
 Fixes since v1.6.4
 ------------------
 
-# All of the fixes in v1.6.4.X maintenance series are included in this
-# release, unless otherwise noted.
-
-# Here are fixes that this release has, but have not been backported to
-# v1.6.4.X series.
-
---
-exec >/var/tmp/1
-O=v1.6.4.1-266-g235db15
-echo O=$(git describe master)
-git shortlog --no-merges $O..master --not maint
+All of the fixes in v1.6.4.X maintenance series are included in this
+release, unless otherwise noted.