Code

Documentation / grammer nit
[git.git] / Documentation / RelNotes-1.5.2.txt
index d93da608c70c3544963ad7dfd50ca12d39bc7fa9..6195715dc78a26ce9ac452bd64852455fb79137c 100644 (file)
@@ -1,9 +1,56 @@
-GIT v1.5.2 Release Notes (draft)
+GIT v1.5.2 Release Notes
 ========================
 
 Updates since v1.5.1
 --------------------
 
 ========================
 
 Updates since v1.5.1
 --------------------
 
+* Plumbing level superproject support.
+
+  You can include a subdirectory that has an independent git
+  repository in your index and tree objects of your project
+  ("superproject").  This plumbing (i.e. "core") level
+  superproject support explicitly excludes recursive behaviour.
+
+  The "subproject" entries in the index and trees of a superproject
+  are incompatible with older versions of git.  Experimenting with
+  the plumbing level support is encouraged, but be warned that
+  unless everybody in your project updates to this release or
+  later, using this feature would make your project
+  inaccessible by people with older versions of git.
+
+* Plumbing level gitattributes support.
+
+  The gitattributes mechanism allows you to add 'attributes' to
+  paths in your project, and affect the way certain git
+  operations work.  Currently you can influence if a path is
+  considered a binary or text (the former would be treated by
+  'git diff' not to produce textual output; the latter can go
+  through the line endings conversion process in repositories
+  with core.autocrlf set), expand and unexpand '$Id$' keyword
+  with blob object name, specify a custom 3-way merge driver,
+  and specify a custom diff driver.  You can also apply
+  arbitrary filter to contents on check-in/check-out codepath
+  but this feature is an extremely sharp-edged razor and needs
+  to be handled with caution (do not use it unless you
+  understand the earlier mailing list discussion on keyword
+  expansion).  These conversions apply when checking files in
+  or out, and exporting via git-archive.
+
+* The packfile format now optionally suports 64-bit index.
+
+  This release supports the "version 2" format of the .idx
+  file.  This is automatically enabled when a huge packfile
+  needs more than 32-bit to express offsets of objects in the
+  pack.
+
+* Comes with an updated git-gui 0.7.1
+
+* Updated gitweb:
+
+  - can show combined diff for merges;
+  - uses font size of user's preference, not hardcoded in pixels;
+  - can now 'grep';
+
 * New commands and options.
 
   - "git bisect start" can optionally take a single bad commit and
 * New commands and options.
 
   - "git bisect start" can optionally take a single bad commit and
@@ -17,8 +64,25 @@ Updates since v1.5.1
   - "git format-patch" learned a new --subject-prefix=<string>
     option, to override the built-in "[PATCH]".
 
   - "git format-patch" learned a new --subject-prefix=<string>
     option, to override the built-in "[PATCH]".
 
+  - "git add -u" is a quick way to do the first stage of "git
+    commit -a" (i.e. update the index to match the working
+    tree); it obviously does not make a commit.
+
+  - "git clean" honors a new configuration, "clean.requireforce".  When
+    set to true, this makes "git clean" a no-op, preventing you
+    from losing files by typing "git clean" when you meant to
+    say "make clean".  You can still say "git clean -f" to
+    override this.
+
+  - "git log" family of commands learned --date={local,relative,default}
+    option.  --date=relative is synonym to the --relative-date.
+    --date=local gives the timestamp in local timezone.
+
 * Updated behavior of existing commands.
 
 * Updated behavior of existing commands.
 
+  - When $GIT_COMMITTER_EMAIL or $GIT_AUTHOR_EMAIL is not set
+    but $EMAIL is set, the latter is used as a substitute.
+
   - "git diff --stat" shows size of preimage and postimage blobs
     for binary contents.  Earlier it only said "Bin".
 
   - "git diff --stat" shows size of preimage and postimage blobs
     for binary contents.  Earlier it only said "Bin".
 
@@ -41,6 +105,29 @@ Updates since v1.5.1
   - "git archive" does not insist you to give --format parameter
     anymore; it defaults to "tar".
 
   - "git archive" does not insist you to give --format parameter
     anymore; it defaults to "tar".
 
+  - "git cvsserver" can use backends other than sqlite.
+
+  - "gitview" (in contrib/ section) learned to better support
+    "git-annotate".
+
+  - "git diff $commit1:$path2 $commit2:$path2" can now report
+    mode changes between the two blobs.
+
+  - Local "git fetch" from a repository whose object store is
+    one of the alternates (e.g. fetching from the origin in a
+    repository created with "git clone -l -s") avoids
+    downloading objects unnecessarily.
+
+  - "git blame" uses .mailmap to canonicalize the author name
+    just like "git shortlog" does.
+
+  - "git pack-objects" pays attention to pack.depth
+    configuration variable.
+
+  - "git cherry-pick" and "git revert" does not use .msg file in
+    the working tree to prepare commit message; instead it uses
+    $GIT_DIR/MERGE_MSG as other commands do.
+
 * Builds
 
   - git-p4import has never been installed; now there is an
 * Builds
 
   - git-p4import has never been installed; now there is an
@@ -49,49 +136,39 @@ Updates since v1.5.1
   - gitk and git-gui can be configured out.
 
   - Generated documentation pages automatically get version
   - gitk and git-gui can be configured out.
 
   - Generated documentation pages automatically get version
-    information from GIT_VERSION
+    information from GIT_VERSION.
 
   - Parallel build with "make -j" descending into subdirectory
     was fixed.
 
 * Performance Tweaks
 
 
   - Parallel build with "make -j" descending into subdirectory
     was fixed.
 
 * Performance Tweaks
 
-  - optimized "git-rev-list --bisect" (hence "git-bisect").
+  - Optimized "git-rev-list --bisect" (hence "git-bisect").
 
 
-  - optimized "git-add $path" in a large directory, most of
+  - Optimized "git-add $path" in a large directory, most of
     whose contents are ignored.
 
     whose contents are ignored.
 
+  - Optimized "git-diff-tree" for reduced memory footprint.
 
 
-Fixes since v1.5.1
-------------------
-
-The following are all in v1.5.1.x series, unless otherwise noted.
-
-* Documentation updates
-
-  - Various documentation updates from J. Bruce Fields, Frank
-    Lichtenheld, Alex Riesen and others.  Andrew Ruder started a
-    war on undocumented options.
-
-* Bugfixes
+  - The recursive merge strategy updated a worktree file that
+    was changed identically in two branches, when one of them
+    renamed it.  We do not do that when there is no rename, so
+    match that behaviour.  This avoids excessive rebuilds.
 
 
-  - "git diff a/ b/" incorrectly fell in "diff between two
-    filesystem objects" codepath, when the user most likely
-    wanted to limit the extent of output to two tracked
-    directories.
+  - The default pack depth has been increased to 50, as the
+    recent addition of delta_base_cache makes deeper delta chains
+    much less expensive to access.  Depending on the project, it was
+    reported that this reduces the resulting pack file by 10%
+    or so.
 
 
-  - git-quiltimport had the same bug as we fixed for
-    git-applymbox in v1.5.1.1 -- it gave an alarming "did not
-    have any patch" message (but did not actually fail and was
-    harmless).
 
 
-  - various git-svn fixes.
+Fixes since v1.5.1
+------------------
 
 
-  - Sample update hook incorrectly always refused requests to
-    delete branches through push.
+All of the fixes in v1.5.1 maintenance series are included in
+this release, unless otherwise noted.
 
 
-  - git-blame on a very long working tree path had buffer
-    overrun problem.
+* Bugfixes
 
   - Switching branches with "git checkout" refused to work when
     a path changes from a file to a directory between the
 
   - Switching branches with "git checkout" refused to work when
     a path changes from a file to a directory between the
@@ -110,10 +187,11 @@ The following are all in v1.5.1.x series, unless otherwise noted.
     will not be backported to 1.5.1.x series, as it is rather an
     intrusive change.
 
     will not be backported to 1.5.1.x series, as it is rather an
     intrusive change.
 
-* Performance Tweaks
+  - git-fetch had trouble with a remote with insanely large number
+    of refs.
+
+  - "git clean -d -X" now does not remove non-excluded directories.
 
 
---
-exec >/var/tmp/1
-O=v1.5.1.1-158-g86da9de
-echo O=`git describe refs/heads/master`
-git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint
+  - rebasing (without -m) a series that changes a symlink to a directory
+    in the middle of a path confused git-apply greatly and refused to
+    operate.