X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2FRelNotes-1.6.1.txt;h=adb7ccab0a4dc3895f46a1cff840988554f62ec4;hb=1973b0d790155b5d8a32a6f7401116fad2205721;hp=afd1150eaa4fc17600dd948f8d7dc4ec266aa162;hpb=449acfababda44368227904c3fd1378f23541a6f;p=git.git diff --git a/Documentation/RelNotes-1.6.1.txt b/Documentation/RelNotes-1.6.1.txt index afd1150ea..adb7ccab0 100644 --- a/Documentation/RelNotes-1.6.1.txt +++ b/Documentation/RelNotes-1.6.1.txt @@ -20,6 +20,8 @@ on. * Various gitweb updates from repo.or.cz installation. +* Updates to emacs bindings. + (portability) * A few test scripts used nonportable "grep" that did not work well on @@ -27,8 +29,15 @@ on. * Sample pre-auto-gc script has OS X support. +* Makefile has support for (ancient) FreeBSD 4.9. + (performance) +* Many operations that are lstat(3) heavy can be told to pre-execute + necessary lstat(3) in parallel before their main operations, which + potentially gives much improved performance for cold-cache cases or in + environments with weak metadata caching (e.g. NFS). + * The underlying diff machinery to produce textual output has been optimized, which would result in faster "git blame" processing. @@ -53,15 +62,30 @@ on. to a non-zero value to accept the suggestion when git can uniquely guess. +* The packfile machinery hopefully is more robust when dealing with + corrupt packs if redundant objects involved in the corruption are + available elsewhere. + * "git add -N path..." adds the named paths as an empty blob, so that subsequent "git diff" will show a diff as if they are creation events. +* "git add" gained a built-in synonym for people who want to say "stage + changes" instead of "add contents to the staging area" which amounts + to the same thing. + * "git apply" learned --include=paths option, similar to the existing --exclude=paths option. * "git bisect" is careful about a user mistake and suggests testing of merge base first when good is not a strict ancestor of bad. +* "git bisect skip" can take a range of commits. + +* "git blame" re-encodes the commit metainfo to UTF-8 from i18n.commitEncoding + by default. + +* "git check-attr --stdin" can check attributes for multiple paths. + * "git checkout --track origin/hack" used to be a syntax error. It now DWIMs to create a corresponding local branch "hack", i.e. acts as if you said "git checkout --track -b hack origin/hack". @@ -74,6 +98,8 @@ on. * "git cherry-pick" can also utilize rerere for conflict resolution. +* "git clone" learned to be verbose with -v + * "git commit --author=$name" can look up author name from existing commits. @@ -85,6 +111,12 @@ on. * "git daemon" learned --max-connections= option. +* "git daemon" exports REMOTE_ADDR to record client address, so that + spawned programs can act differently on it. + +* "git describe --tags" favours closer lightweight tags than farther + annotated tags now. + * "git diff" learned to mimic --suppress-blank-empty from GNU diff via a configuration option. @@ -97,11 +129,22 @@ on. * "git diff" learned --dirstat-by-file to count changed files, not number of lines, when summarizing the global picture. -* "git diff" hunk header pattern for ObjC has been added. +* "git diff" learned "textconv" filters --- a binary or hard-to-read + contents can be munged into human readable form and the difference + between the results of the conversion can be viewed (obviously this + cannot produce a patch that can be applied, so this is disabled in + format-patch among other things). + +* "--cached" option to "git diff has an easier to remember synonym "--staged", + to ask "what is the difference between the given commit and the + contents staged in the index?" * "git for-each-ref" learned "refname:short" token that gives an unambiguously abbreviated refname. +* Auto-numbering of the subject lines is the default for "git + format-patch" now. + * "git grep" learned to accept -z similar to GNU grep. * "git help" learned to use GIT_MAN_VIEWER environment variable before @@ -118,6 +161,12 @@ on. * "git log" learned --simplify-merges, a milder variant of --full-history; "gitk --simplify-merges" is easier to view than with --full-history. +* "git log" learned "--source" to show what ref each commit was reached + from. + +* "git log" also learned "--simplify-by-decoration" to show the + birds-eye-view of the topology of the history. + * "git log --pretty=format:" learned "%d" format element that inserts names of tags that point at the commit. @@ -127,9 +176,25 @@ on. * "git merge -s $strategy" can use a custom built strategy if you have a command "git-merge-$strategy" on your $PATH. +* "git pull" (and "git fetch") can be told to operate "-v"erbosely or + "-q"uietly. + +* "git push" can be told to reject deletion of refs with receive.denyDeletes + configuration. + +* "git rebase" honours pre-rebase hook; use --no-verify to bypass it. + +* "git rebase -p" uses interactive rebase machinery now to preserve the merges. + * "git reflog expire branch" can be used in place of "git reflog expire refs/heads/branch". +* "git remote show $remote" lists remote branches one-per-line now. + +* "git send-email" can be given revision range instead of files and + maildirs on the command line, and automatically runs format-patch to + generate patches for the given revision range. + * "git submodule foreach" subcommand allows you to iterate over checked out submodules. @@ -138,6 +203,8 @@ on. * "git svn branch" can create new branches on the other end. +* "gitweb" can use more saner PATH_INFO based URL. + (internal) * "git hash-object" learned to lie about the path being hashed, so that @@ -147,6 +214,15 @@ on. * various callers of git-merge-recursive avoid forking it as an external process. +* Git class defined in "Git.pm" can be subclasses a bit more easily. + +* We used to link GNU regex library as a compatibility layer for some + platforms, but it turns out it is not necessary on most of them. + +* Some path handling routines used fixed number of buffers used alternately + but depending on the call depth, this arrangement led to hard to track + bugs. This issue is being addressed. + Fixes since v1.6.0 ------------------ @@ -154,22 +230,45 @@ Fixes since v1.6.0 All of the fixes in v1.6.0.X maintenance series are included in this release, unless otherwise noted. +* Porcelains implemented as shell scripts were utterly confused when you + entered to a subdirectory of a work tree from sideways, following a + symbolic link (this may need to be backported to older releases later). + +* Tracking symbolic links would work better on filesystems whose lstat() + returns incorrect st_size value for them. + * "git add" and "git update-index" incorrectly allowed adding S/F when S is a tracked symlink that points at a directory D that has a path F in it (we still need to fix a similar nonsense when S is a submodule and F is a path in it). +* "git am" after stopping at a broken patch lost --whitespace, -C, -p and + --3way options given from the command line initially. + * "git diff --stdin" used to take two trees on a line and compared them, but we dropped support for such a use case long time ago. This has been resurrected. -* Giving 3 or more tree-ish to "git diff" is supposed to show the combined - diff from second and subsequent trees to the first one. b75271d ("git - diff {3,}": do not reverse order of arguments, 2008-10-10) needs - to be cherry-picked to 'maint'. - * "git filter-branch" failed to rewrite a tag name with slashes in it. +* "git http-push" did not understand URI scheme other than opaquelocktoken + when acquiring a lock from the server (this may need to be backported to + older releases later). + +* After "git rebase -p" stopped with conflicts while replaying a merge, + "git rebase --continue" did not work (may need to be backported to older + releases). + +* "git revert" records relative to which parent a revert was made when + reverting a merge. Together with new documentation that explains issues + around reverting a merge and merging from the updated branch later, this + hopefully will reduce user confusion (this may need to be backported to + older releases later). + +* "git rm --cached" used to allow an empty blob that was added earlier to + be removed without --force, even when the file in the work tree has + since been modified. + * "git push --tags --all $there" failed with generic usage message without telling saying these two options are incompatible. @@ -177,8 +276,11 @@ release, unless otherwise noted. timestamp part, exposing internal implementation detail. Also these did not work with --fixed-strings match at all. +* "gitweb" did not mark non-ASCII characters imported from external HTML fragments + correctly. + -- exec >/var/tmp/1 -O=v1.6.0.2-553-g58e0fa5 +O=v1.6.1-rc3-74-gf66bc5f echo O=$(git describe master) git shortlog --no-merges $O..master ^maint