Code

SPECIFYING RANGES typo fix: it it => it is
[git.git] / Documentation / RelNotes-1.5.1.txt
index 8461fb4371f9f5ad37570d8a10fc187c20110d67..daed3672709f6b94478fc6ad425897abe3433c9a 100644 (file)
@@ -86,11 +86,20 @@ Updates since v1.5.0
     to run after each revision is checked out to determine if it
     is good or bad, to automate the bisection process.
 
     to run after each revision is checked out to determine if it
     is good or bad, to automate the bisection process.
 
+  - "git log" family learned a new traversal option --first-parent,
+    which does what the name suggests.
 
 
-* Updated behaviour of existing commands.
+
+* Updated behavior of existing commands.
+
+  - "git-merge-recursive" used to barf when there are more than
+    one common ancestors for the merge, and merging them had a
+    rename/rename conflict.  This has been fixed.
 
   - "git fsck" does not barf on corrupt loose objects.
 
 
   - "git fsck" does not barf on corrupt loose objects.
 
+  - "git rm" does not remove newly added files without -f.
+
   - "git archimport" allows remapping when coming up with git
     branch names from arch names.
 
   - "git archimport" allows remapping when coming up with git
     branch names from arch names.
 
@@ -108,10 +117,10 @@ Updates since v1.5.0
     allow users to explicitly override this heuristic based on
     paths.
 
     allow users to explicitly override this heuristic based on
     paths.
 
-  - The behaviour of 'git-apply', when run in a subdirectory,
+  - The behavior of 'git-apply', when run in a subdirectory,
     without --index nor --cached were inconsistent with that of
     the command with these options.  This was fixed to match the
     without --index nor --cached were inconsistent with that of
     the command with these options.  This was fixed to match the
-    behaviour with --index.  A patch that is meant to be applied
+    behavior with --index.  A patch that is meant to be applied
     with -p1 from the toplevel of the project tree can be
     applied with any custom -p<n> option.  A patch that is not
     relative to the toplevel needs to be applied with -p<n>
     with -p1 from the toplevel of the project tree can be
     applied with any custom -p<n> option.  A patch that is not
     relative to the toplevel needs to be applied with -p<n>
@@ -153,15 +162,17 @@ Updates since v1.5.0
     the heaviest parts in C.
 
   - "git mailinfo" which splits an e-mail into a patch and the
     the heaviest parts in C.
 
   - "git mailinfo" which splits an e-mail into a patch and the
-    metainformation was rewritten, thanks to Don Zickus.  It
-    handles nested multipart better.
+    meta-information was rewritten, thanks to Don Zickus.  It
+    handles nested multipart better.  The command was broken for
+    a brief period on 'master' branch since 1.5.0 but the
+    breakage is fixed now.
 
   - send-email learned configurable bcc and chain-reply-to.
 
   - "git remote show $remote" also talks about branches that
     would be pushed if you run "git push remote".
 
 
   - send-email learned configurable bcc and chain-reply-to.
 
   - "git remote show $remote" also talks about branches that
     would be pushed if you run "git push remote".
 
-  - Using objects from packs is now seriouly optimized by clever
+  - Using objects from packs is now seriously optimized by clever
     use of a cache.  This should be most noticeable in git-log
     family of commands that involve reading many tree objects.
     In addition, traversing revisions while filtering changes
     use of a cache.  This should be most noticeable in git-log
     family of commands that involve reading many tree objects.
     In addition, traversing revisions while filtering changes
@@ -173,20 +184,188 @@ Updates since v1.5.0
 
   - The part to send out notification e-mails was removed from
     the sample update hook, as it was not an appropriate place
 
   - The part to send out notification e-mails was removed from
     the sample update hook, as it was not an appropriate place
-    to do so.
+    to do so.  The proper place to do this is the new post-receive
+    hook.  An example hook has been added to contrib/hooks/.
 
 
 * Others
 
   - git-revert, git-gc and git-cherry-pick are now built-ins.
 
 
 
 * Others
 
   - git-revert, git-gc and git-cherry-pick are now built-ins.
 
+Fixes since v1.5.0
+------------------
+
+These are all in v1.5.0.x series.
+
+* Documentation updates
+
+  - Clarifications and corrections to 1.5.0 release notes.
+
+  - The main documentation did not link to git-remote documentation.
+
+  - Clarified introductory text of git-rebase documentation.
+
+  - Converted remaining mentions of update-index on Porcelain
+    documents to git-add/git-rm.
+
+  - Some i18n.* configuration variables were incorrectly
+    described as core.*; fixed.
+
+  - added and clarified core.bare, core.legacyheaders configurations.
+
+  - updated "git-clone --depth" documentation.
+
+  - user-manual updates.
+
+  - Options to 'git remote add' were described insufficiently.
+
+  - Configuration format.suffix was not documented.
+
+  - Other formatting and spelling fixes.
+
+  - user-manual has better cross references.
+
+  - gitweb installation/deployment procedure is now documented.
+
+
+* Bugfixes
+
+  - git-upload-pack closes unused pipe ends; earlier this caused
+    many zombies to hang around.
+
+  - git-rerere was recording the contents of earlier hunks
+    duplicated in later hunks.  This prevented resolving the same
+    conflict when performing the same merge the other way around.
+
+  - git-add and git-update-index on a filesystem on which
+    executable bits are unreliable incorrectly reused st_mode
+    bits even when the path changed between symlink and regular
+    file.
+
+  - git-daemon marks the listening sockets with FD_CLOEXEC so
+    that it won't be leaked into the children.
+
+  - segfault from git-blame when the mandatory pathname
+    parameter was missing was fixed; usage() message is given
+    instead.
+
+  - git-rev-list did not read $GIT_DIR/config file, which means
+    that did not honor i18n.logoutputencoding correctly.
+
+  - Automated merge conflict handling when changes to symbolic
+    links conflicted were completely broken.  The merge-resolve
+    strategy created a regular file with conflict markers in it
+    in place of the symbolic link.  The default strategy,
+    merge-recursive was even more broken.  It removed the path
+    that was pointed at by the symbolic link.  Both of these
+    problems have been fixed.
+
+  - 'git diff maint master next' did not correctly give combined
+    diff across three trees.
+
+  - 'git fast-import' portability fix for Solaris.
+
+  - 'git show-ref --verify' without arguments did not error out
+    but segfaulted.
+
+  - 'git diff :tracked-file `pwd`/an-untracked-file' gave an extra
+    slashes after a/ and b/.
+
+  - 'git format-patch' produced too long filenames if the commit
+    message had too long line at the beginning.
+
+  - Running 'make all' and then without changing anything
+    running 'make install' still rebuilt some files.  This
+    was inconvenient when building as yourself and then
+    installing as root (especially problematic when the source
+    directory is on NFS and root is mapped to nobody).
+
+  - 'git-rerere' failed to deal with two unconflicted paths that
+    sorted next to each other.
+
+  - 'git-rerere' attempted to open(2) a symlink and failed if
+    there was a conflict.  Since a conflicting change to a
+    symlink would not benefit from rerere anyway, the command
+    now ignores conflicting changes to symlinks.
+
+  - 'git-repack' did not like to pass more than 64 arguments
+    internally to underlying 'rev-list' logic, which made it
+    impossible to repack after accumulating many (small) packs
+    in the repository.
+
+  - 'git-diff' to review the combined diff during a conflicted
+    merge were not reading the working tree version correctly
+    when changes to a symbolic link conflicted.  It should have
+    read the data using readlink(2) but read from the regular
+    file the symbolic link pointed at.
+
+  - 'git-remote' did not like period in a remote's name.
+
+  - 'git.el' honors the commit coding system from the configuration.
+
+  - 'blameview' in contrib/ correctly digs deeper when a line is
+    clicked.
+
+  - 'http-push' correctly makes sure the remote side has leading
+    path.  Earlier it started in the middle of the path, and
+    incorrectly.
+
+  - 'git-merge' did not exit with non-zero status when the
+    working tree was dirty and cannot fast forward.  It does
+    now.
+
+  - 'cvsexportcommit' does not lose yet-to-be-used message file.
+
+  - int-vs-size_t typefix when running combined diff on files
+    over 2GB long.
+
+  - 'git apply --whitespace=strip' should not touch unmodified
+    lines.
+
+  - 'git-mailinfo' choke when a logical header line was too long.
+
+  - 'git show A..B' did not error out.  Negative ref ("not A" in
+    this example) does not make sense for the purpose of the
+    command, so now it errors out.
+
+  - 'git fmt-merge-msg --file' without file parameter did not
+    correctly error out.
+
+  - 'git archimport' barfed upon encountering a commit without
+    summary.
+
+  - 'git index-pack' did not protect itself from getting a short
+    read out of pread(2).
+
+  - 'git http-push' had a few buffer overruns.
+
+  - Build dependency fixes to rebuild fetch.o when other headers
+    change.
+
+  - git.el does not add duplicate sign-off lines.
+
+  - git-commit shows the full stat of the resulting commit, not
+    just about the files in the current directory, when run from
+    a subdirectory.
+
+  - "git-checkout -m '@{8 hours ago}'" had a funny failure from
+    eval; fixed.
+
+  - git-merge (hence git-pull) did not refuse fast-forwarding
+    when the working tree had local changes that would have
+    conflicted with it.
+
+  - a handful small fixes to gitweb.
+
+  - build procedure for user-manual is fixed not to require locally
+    installed stylesheets.
+
+  - "git commit $paths" on paths whose earlier contents were
+    already updated in the index were failing out.
+
 
 
---
-exec >/var/tmp/1
-O=v1.5.1-rc1-63-g12d6697
-echo O=`git describe master`
-git shortlog --no-merges $O..master ^maint
+* Tweaks
 
 
-# Local Variables:
-# mode: text
-# End:
+  - sliding mmap() inefficiently mmaped the same region of a
+    packfile with an access pattern that used objects in the
+    reverse order.  This has been made more efficient.