Merge branch 'maint'
[gitweb.git] / Documentation / RelNotes / 1.7.4.txt
index 6084f7ddf6d4c977b5ac29043186c73920ca947d..055c1ca2b7348b5f28a96d92b39a1094a0d27337 100644 (file)
@@ -8,12 +8,11 @@ Updates since v1.7.3
    docbook-xsl >= 1.73. If you have older versions, you can set
    ASCIIDOC7 and ASCIIDOC_ROFF, respectively.
 
- * The option parsers of various commands that create new branch (or
+ * The option parsers of various commands that create new branches (or
    rename existing ones to a new name) were too loose and users were
-   allowed to call a branch with a name that begins with a dash by
-   creative abuse of their command line options, which only lead to
-   burn themselves.  The name of a branch cannot begin with a dash
-   now.
+   allowed to give a branch a name that begins with a dash by creative
+   abuse of their command line options, which only led to burning
+   themselves.  The name of a branch cannot begin with a dash now.
 
  * System-wide fallback default attributes can be stored in
    /etc/gitattributes; core.attributesfile configuration variable can
@@ -26,20 +25,51 @@ Updates since v1.7.3
    cover letter of the previous series; this has been changed to make
    the patches in the new series replies to the new cover letter.
 
- * Bash completion script in contrib/ has been adjusted to be also
-   usable by zsh.
+ * Bash completion script in contrib/ has been adjusted to be usable with
+   Bash 4 (options with '=value' didn't complete)  It has been also made
+   usable with zsh.
+
+ * Different pagers can be chosen depending on which subcommand is
+   being run under the pager, using "pager.<subcommand>" variable.
+
+ * The hardcoded tab-width of 8 used in whitespace breakage checks is now
+   configurable via the attributes mechanism.
+
+ * Support of case insensitive filesystems (i.e. "core.ignorecase") has
+   been improved.  For example, the gitignore mechanism didn't pay attention
+   to the case insensitivity.
+
+ * The <tree>:<path> syntax to name a blob in a tree, and :<path>
+   syntax to name a blob in the index (e.g. "master:Makefile",
+   ":hello.c") have been extended.  You can start <path> with "./" to
+   implicitly have the (sub)directory you are in prefixed to the
+   lookup.  Similarly, ":../Makefile" from a subdirectory would mean
+   "the Makefile of the parent directory in the index".
 
  * "git blame" learned --show-email option to display the e-mail
    addresses instead of the names of authors.
 
+ * "git commit" learned --fixup and --squash options to help later invocation
+   of the interactive rebase.
+
+ * Command line options to "git cvsimport" whose names are in capital
+   letters (-A, -M, -R and -S) can now be specified as the default in
+   the .git/config file by their longer names (cvsimport.authorsFile,
+   cvsimport.mergeRegex, cvsimport.trackRevisions, cvsimport.ignorePaths).
+
  * "git daemon" can be built in MinGW environment.
 
  * "git daemon" can take more than one --listen option to listen to
    multiple addresses.
 
+ * "git describe --exact-match" was optimized not to read commit
+   objects unnecessarily.
+
  * "git diff" and "git grep" learned how functions and subroutines
    in Fortran look like.
 
+ * "git fetch" learned "--recurse-submodules" option.
+
  * "git mergetool" tells vim/gvim to show three-way diff by default
    (use vimdiff2/gvimdiff2 as the tool name for old behaviour).
 
@@ -51,8 +81,8 @@ Updates since v1.7.3
    use the new --empty option to be more explicit instead.
 
  * "git repack -f" does not spend cycles to recompress objects in the
-   non-delta representation anymore (use -F if you really mean it when
-   e.g. you changed the compression level).
+   non-delta representation anymore (use -F if you really mean it
+   e.g. after you changed the core.compression variable setting).
 
  * "git merge --log" used to limit the resulting merge log to 20
    entries; this is now customizable by giving e.g. "--log=47".
@@ -66,8 +96,9 @@ Updates since v1.7.3
 
  * The default "recursive" merge strategy learned --rename-threshold
    option to influence the rename detection, similar to the -M option
-   of "git diff".  E.g. "git merge -Xrename-threshold=50% ..." to use
-   this.
+   of "git diff".  From "git merge" frontend, "-X<strategy option>"
+   interface, e.g. "git merge -Xrename-threshold=50% ...", can be used
+   to trigger this.
 
  * The "recursive" strategy also learned to ignore various whitespace
    changes; the most notable is -Xignore-space-at-eol.
@@ -81,11 +112,16 @@ Updates since v1.7.3
    git-only login over ssh as login shell, with custom set of
    commands.
 
+ * The current branch name in "git status" output can be colored differently
+   from the generic header color by setting "color.status.branch" variable.
+
  * "git submodule sync" updates metainformation for all submodules,
    not just the ones that have been checked out.
 
  * gitweb can use custom 'highlight' command with its configuration file.
 
+ * other gitweb updates.
+
 
 Also contains various documentation updates.
 
@@ -96,18 +132,10 @@ Fixes since v1.7.3
 All of the fixes in v1.7.3.X maintenance series are included in this
 release, unless otherwise noted.
 
- * "git checkout" removed an untracked file "foo" from the working
-    tree when switching to a branch that contains a tracked path
-    "foo/bar".  Prevent this, just like the case where the conflicting
-    path were "foo" (c752e7f..7980872d).
-
  * "git log --author=me --author=her" did not find commits written by
    me or by her; instead it looked for commits written by me and by
    her, which is impossible.
 
- * "git merge" into an unborn branch removed an untracked file "foo"
-   from the working tree when merged branch had "foo" (2caf20c..172b642).
-
  * "git push --progress" shows progress indicators now.
 
  * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack
@@ -118,6 +146,6 @@ release, unless otherwise noted.
 
 ---
 exec >/var/tmp/1
-O=v1.7.3.2-450-g5b9c331
+O=v1.7.4-rc1
 echo O=$(git describe master)
 git shortlog --no-merges ^maint ^$O master