git.el: Add support for interactive diffs.
[gitweb.git] / Documentation / RelNotes-1.5.3.txt
index ef2f95b3c5f7803f1ae93d454d13e19730201e48..21bb1fc6f2d1dfdb0231ba7381f0ade1ecb66c49 100644 (file)
@@ -4,14 +4,16 @@ GIT v1.5.3 Release Notes
 Updates since v1.5.2
 --------------------
 
-* An initial interation of Porcelain level superproject support
-  started to take shape.
+* The commit walkers other than http are officially deprecated,
+  but still supported for now.
 
-* Thee are a handful pack-objects changes to help you cope better with
-  repositories with pathologically large blobs in them.
+* The submodule support has Porcelain layer.
+
+* There are a handful pack-objects changes to help you cope better
+  with repositories with pathologically large blobs in them.
 
 * For people who need to import from Perforce, a front-end for
-  fast-import is in contrib/fast-import/ now.
+  fast-import is in contrib/fast-import/.
 
 * Comes with git-gui 0.8.0.
 
@@ -19,14 +21,45 @@ Updates since v1.5.2
 
 * New commands and options.
 
-  - "git log" learned a new option '--follow', to follow
+  - "git log --date=<format>" can use more formats: iso8601, rfc2822.
+
+  - The hunk header output from "git diff" family can be customized
+    with the attributes mechanism.  See gitattributes(5) for details.
+
+  - "git stash" allows you to quickly save away your work in
+    progress and replay it later on an updated state.
+
+  - "git rebase" learned an "interactive" mode that let you
+    pick and reorder which commits to rebuild.
+
+  - "git fsck" can save its findings in $GIT_DIR/lost-found, without a
+    separate invocation of "git lost-found" command.  The blobs stored by
+    lost-found are stored in plain format to allow you to grep in them.
+
+  - $GIT_WORK_TREE environment variable can be used together with
+    $GIT_DIR to work in a subdirectory of a working tree that is
+    not located at "$GIT_DIR/..".
+
+  - Giving "--file=<file>" option to "git config" is the same as
+    running the command with GIT_CONFIG=<file> environment.
+
+  - "git log" learned a new option "--follow", to follow
     renaming history of a single file.
 
-  - "git-filter-branch" is a reborn cg-admin-rewritehist.
+  - "git-filter-branch" lets you rewrite the revision history of
+    specified branches. You can specify a number of filters to
+    modify the commits, files and trees.
 
   - "git-cvsserver" learned new options (--base-path, --export-all,
     --strict-paths) inspired by git-daemon.
 
+  - "git daemon --base-path-relaxed" can help migrating a repository URL
+    that did not use to use --base-path to use --base-path.
+
+  - "git-commit" can use "-t templatefile" option and commit.template
+    configuration variable to prime the commit message given to you in the
+    editor.
+
   - "git-submodule" command helps you manage the projects from
     the superproject that contain them.
 
@@ -48,6 +81,10 @@ Updates since v1.5.2
   - "git gc --aggressive" tells the command to spend more cycles
     to optimize the repository harder.
 
+  - "git repack" learned a "window-memory" limit which
+    dynamically reduces the window size to stay within the
+    specified memory usage.
+
   - "git repack" can be told to split resulting packs to avoid
     exceeding limit specified with "--max-pack-size".
 
@@ -58,11 +95,15 @@ Updates since v1.5.2
   - "git format-patch" learned --numbered-files option.  This
     may be useful for MH users.
 
+  - "git format-patch" learned format.subjectprefix configuration
+    variable, which serves the same purpose as "--subject-prefix"
+    option.
+
   - "git tag -n -l" shows tag annotations while listing tags.
 
   - "git cvsimport" can optionally use the separate-remote layout.
 
-  - "git blame" can be told to see through commits that changes
+  - "git blame" can be told to see through commits that change
     whitespaces and indentation levels with "-w" option.
 
   - "git send-email" can be told not to thread the messages when
@@ -71,8 +112,45 @@ Updates since v1.5.2
   - "git config" learned NUL terminated output format via -z to
     help scripts.
 
+  - "git init -q" makes the command quieter.
+
 * Updated behavior of existing commands.
 
+  - "gitweb" can offer multiple snapshot formats.
+
+    ***NOTE*** Unfortunately, this changes the format of the
+    $feature{snapshot}{default} entry in the per-site
+    configuration file 'gitweb_config.perl'.  It used to be a
+    three-element tuple that describe a single format; with the
+    new configuration item format, you only have to say the name
+    of the format ('tgz', 'tbz2' or 'zip').  Please update the
+    your configuration file accordingly.
+
+  - "git diff" (but not the plumbing level "git diff-tree") now
+    recursively descends into trees by default.
+
+  - The editor to use with many interactive commands can be
+    overridden with GIT_EDITOR environment variable, or if it
+    does not exist, with core.editor configuration variable.  As
+    before, if you have neither, environment variables VISUAL
+    and EDITOR are consulted in this order, and then finally we
+    fall back on "vi".
+
+  - "git rm --cached" does not complain when removing a newly
+    added file from the index anymore.
+
+  - Options to "git log" to affect how --grep/--author options look for
+    given strings now have shorter abbreviations.  -i is for ignore case,
+    and -E is for extended regexp.
+
+  - "git svn dcommit" retains local merge information.
+
+  - "git config" to set values also honors type flags like --bool
+    and --int.
+
+  - core.quotepath configuration can be used to make textual git
+    output to emit most of the characters in the path literally.
+
   - "git mergetool" chooses its backend more wisely, taking
     notice of its environment such as use of X, Gnome/KDE, etc.
 
@@ -84,7 +162,7 @@ Updates since v1.5.2
     $path/$project/.git are more useful.  We use $project part
     in the filename, which we used to discard.
 
-  - "git cvsimort" creates lightweight tag; there is not any
+  - "git cvsimport" creates lightweight tags; there is no
     interesting information we can record in an annotated tag,
     and the handcrafted ones the old code created was not
     properly formed anyway.
@@ -96,12 +174,15 @@ Updates since v1.5.2
   - The diffstat given after a merge (or a pull) honors the
     color.diff configuration.
 
+  - "git commit --amend" is now compatible with various message source
+    options such as -m/-C/-c/-F.
+
   - "git-apply --whitespace=strip" removes blank lines added at
     the end of the file.
 
-  - "git-fetch" over git native protocols with -v shows connection
-    status, and the IP address of the other end, to help
-    diagnosing problems.
+  - "git-fetch" over git native protocols with "-v" option shows
+    connection status, and the IP address of the other end, to
+    help diagnosing problems.
 
   - We used to have core.legacyheaders configuration, when
     set to false, allowed git to write loose objects in a format
@@ -124,8 +205,8 @@ Updates since v1.5.2
     .gitattributes.  It does not attempt to deltify blobs that
     come from paths with delta attribute set to false.
 
-  - new-workdir script (in contrib) can now be used with a bare
-    repository.
+  - "new-workdir" script (in contrib) can now be used with a
+    bare repository.
 
   - "git-mergetool" learned to use gvimdiff.
 
@@ -141,6 +222,15 @@ Updates since v1.5.2
     concatenate them into a single line and treat the result as
     "oneline".
 
+  - "git p4import" has been demoted to contrib status.  For
+    a superior option, checkout the git-p4 front end to
+    git-fast-import (also in contrib).  The man page and p4
+    rpm have been removed as well.
+
+  - "git mailinfo" (hence "am") now tries to see if the message
+    is in utf-8 first, instead of assuming iso-8859-1, if
+    incoming e-mail does not say what encoding it is in.
+
 * Builds
 
   - old-style function definitions (most notably, a function
@@ -153,6 +243,11 @@ Updates since v1.5.2
     small enough delta results it creates while looking for the
     best delta candidates.
 
+  - git-pack-objects learned a new heuristcs to prefer delta
+    that is shallower in depth over the smallest delta
+    possible.  This improves both overall packfile access
+    performance and packfile density.
+
   - diff-delta code that is used for packing has been improved
     to work better on big files.
 
@@ -179,6 +274,6 @@ this release, unless otherwise noted.
 
 --
 exec >/var/tmp/1
-O=v1.5.2.2-603-g7c85173
+O=v1.5.3-rc4
 echo O=`git describe refs/heads/master`
 git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint