diff --git a/.mailmap b/.mailmap index f88ae77a1f..373476bdc0 100644 --- a/.mailmap +++ b/.mailmap @@ -5,22 +5,28 @@ # same person appearing not to be so. # +Alexander Gavrilov Aneesh Kumar K.V Brian M. Carlson Chris Shoemaker Dana L. How Dana L. How Daniel Barkalow +David D. Kilzer David Kågedal +David S. Miller +Dirk Süsserott Fredrik Kuivinen H. Peter Anvin H. Peter Anvin H. Peter Anvin Horst H. von Brand +İsmail Dönmez Jay Soffian Joachim Berdal Haga Jon Loeliger Jon Seymour +Jonathan Nieder Junio C Hamano Karl Hasselström Kent Engstrom @@ -30,9 +36,12 @@ Li Hong Lukas Sandström Martin Langhoff Michael Coleman +Michael W. Olson Michele Ballabio Nanako Shiraishi +Nanako Shiraishi Nguyễn Thái Ngọc Duy +Philippe Bruhat Ramsay Allan Jones René Scharfe Robert Fitzsimons diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index d2a0a76e6c..f628c1f3b7 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -105,7 +105,7 @@ For C programs: - Use the API. No, really. We have a strbuf (variable length string), several arrays with the ALLOC_GROW() macro, a - path_list for sorted string lists, a hash map (mapping struct + string_list for sorted string lists, a hash map (mapping struct objects) named "struct decorate", amongst other things. - When you come up with an API, document it. diff --git a/Documentation/RelNotes-1.5.6.4.txt b/Documentation/RelNotes-1.5.6.4.txt new file mode 100644 index 0000000000..d8968f1ecb --- /dev/null +++ b/Documentation/RelNotes-1.5.6.4.txt @@ -0,0 +1,47 @@ +GIT v1.5.6.4 Release Notes +========================== + +Fixes since v1.5.6.3 +-------------------- + +* Various commands could overflow its internal buffer on a platform + with small PATH_MAX value in a repository that has contents with + long pathnames. + +* There wasn't a way to make --pretty=format:%<> specifiers to honor + .mailmap name rewriting for authors and committers. Now you can with + %aN and %cN. + +* Bash completion wasted too many cycles; this has been optimized to be + usable again. + +* Bash completion lost ref part when completing something like "git show + pu:Makefile". + +* "git-cvsserver" did not clean up its temporary working area after annotate + request. + +* "git-daemon" called syslog() from its signal handler, which was a + no-no. + +* "git-fetch" into an empty repository used to remind that the fetch will + be huge by saying "no common commits", but this was an unnecessary + noise; it is already known by the user anyway. + +* "git-http-fetch" would have segfaulted when pack idx file retrieved + from the other side was corrupt. + +* "git-index-pack" used too much memory when dealing with a deep delta chain. + +* "git-mailinfo" (hence "git-am") did not correctly handle in-body [PATCH] + line to override the commit title taken from the mail Subject header. + +* "git-rebase -i -p" lost parents that are not involved in the history + being rewritten. + +* "git-rm" lost track of where the index file was when GIT_DIR was + specified as a relative path. + +* "git-rev-list --quiet" was not quiet as advertised. + +Contains other various documentation fixes. diff --git a/Documentation/RelNotes-1.6.0.txt b/Documentation/RelNotes-1.6.0.txt index 89ea1e9385..7da62d08d6 100644 --- a/Documentation/RelNotes-1.6.0.txt +++ b/Documentation/RelNotes-1.6.0.txt @@ -21,13 +21,19 @@ main git.git codebase. By default, packfiles created with this version uses delta-base-offset encoding introduced in v1.4.4. Pack idx files are using version 2 that allows larger packs and added robustness thanks to its CRC checking, -introduced in v1.5.2. +introduced in v1.5.2 and v1.4.4.5. If you want to keep your repositories +backwards compatible past these versions, set repack.useDeltaBaseOffset +to false or pack.indexVersion to 1, respectively. GIT_CONFIG, which was only documented as affecting "git config", but actually affected all git commands, now only affects "git config". GIT_LOCAL_CONFIG, also only documented as affecting "git config" and not different from GIT_CONFIG in a useful way, is removed. +The ".dotest" temporary area "git am" and "git rebase" use is now moved +inside the $GIT_DIR, to avoid mistakes of adding it to the project by +accident. + An ancient merge strategy "stupid" has been removed. @@ -67,7 +73,8 @@ Updates since v1.5.6 (performance, robustness, sanity etc.) -* even more documentation pages are now accessible via "man" and "git help". +* index-pack used too much memory when dealing with a deep delta chain. + This has been optimized. * reduced excessive inlining to shrink size of the "git" binary. @@ -79,6 +86,8 @@ Updates since v1.5.6 repack -a -f" can be used to fix such a corruption as long as necessary objects are available. +* Performance of "git-blame -C -C" operation is vastly improved. + * git-clone does not create refs in loose form anymore (it behaves as if you immediately ran git-pack-refs after cloning). This will help repositories with insanely large number of refs. @@ -92,6 +101,8 @@ Updates since v1.5.6 (usability, bells and whistles) +* even more documentation pages are now accessible via "man" and "git help". + * A new environment variable GIT_CEILING_DIRECTORIES can be used to stop the discovery process of the toplevel of working tree; this may be useful when you are working in a slow network disk and are outside any working tree, @@ -125,6 +136,9 @@ Updates since v1.5.6 * git-archive can be told to omit certain paths from its output using export-ignore attributes. +* git-archive uses the zlib default compression level when creating + zip archive. + * With -v option, git-branch describes the remote tracking statistics similar to the way git-checkout reports by how many commits your branch is ahead/behind. @@ -144,6 +158,8 @@ Updates since v1.5.6 * git-clone can clone from a remote whose URL would be rewritten by configuration stored in $HOME/.gitconfig now. +* git-cvsserver learned to respond to "cvs co -c". + * git-diff --check now checks leftover merge conflict markers. * When remote side used to have branch 'foo' and git-fetch finds that now @@ -155,6 +171,8 @@ Updates since v1.5.6 * fast-export learned to export and import marks file; this can be used to interface with fast-import incrementally. +* fast-import and fast-export learned to export and import gitlinks. + * git-rebase records the original tip of branch in ORIG_HEAD before it is rewound. @@ -188,6 +206,8 @@ Updates since v1.5.6 (internal) +* git-merge has been reimplemented in C. + Fixes since v1.5.6 ------------------ @@ -195,12 +215,8 @@ Fixes since v1.5.6 All of the fixes in v1.5.6 maintenance series are included in this release, unless otherwise noted. - * "git fetch" into an empty repository used to remind the fetch will - be huge by saying "no common commits", but it is already known by - the user anyway (need to backport 8cb560f to 'maint'). - --- exec >/var/tmp/1 -O=v1.5.6.3-350-g499027b +O=v1.5.6.4-432-g6796399 echo O=$(git describe refs/heads/master) git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index fdfa536441..841bead9db 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches @@ -301,7 +301,7 @@ If it does not apply correctly, there can be various reasons. patch appropriately. * Your MUA corrupted your patch; "am" would complain that - the patch does not apply. Look at .git/rebase/ subdirectory and + the patch does not apply. Look at .git/rebase-apply/ subdirectory and see what 'patch' file contains and check for the common corruption patterns mentioned above. diff --git a/Documentation/config.txt b/Documentation/config.txt index e7848055a9..798b551514 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -358,7 +358,8 @@ core.whitespace:: A comma separated list of common whitespace problems to notice. 'git-diff' will use `color.diff.whitespace` to highlight them, and 'git-apply --whitespace=error' will - consider them as errors: + consider them as errors. You can prefix `-` to disable + any of them (e.g. `-trailing-space`): + * `trailing-space` treats trailing whitespaces at the end of the line as an error (enabled by default). diff --git a/Documentation/diff-generate-patch.txt b/Documentation/diff-generate-patch.txt index 029c5f2b82..517e1eba3c 100644 --- a/Documentation/diff-generate-patch.txt +++ b/Documentation/diff-generate-patch.txt @@ -96,7 +96,7 @@ index fabadb8,cc95eb0..4866510 + or like this (when '--cc' option is used): - diff --c file + diff --cc file 2. It is followed by one or more extended header lines (this example shows a merge with two parents): diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt index 3558905a92..2b6d6c8654 100644 --- a/Documentation/git-add.txt +++ b/Documentation/git-add.txt @@ -9,7 +9,7 @@ SYNOPSIS -------- [verse] 'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p] - [--update | -u] [--refresh] [--ignore-errors] [--] + [--all | [--update | -u]] [--refresh] [--ignore-errors] [--] ... DESCRIPTION @@ -86,6 +86,12 @@ OPTIONS command line. If no paths are specified, all tracked files in the current directory and its subdirectories are updated. +-A:: +--all:: + Update files that git already knows about (same as '\--update') + and add all untracked files that are not ignored by '.gitignore' + mechanism. + --refresh:: Don't add the file(s), but only refresh their stat() information in the index. diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index 2d7f162594..c45c53ec24 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -13,7 +13,7 @@ SYNOPSIS [--3way] [--interactive] [--binary] [--whitespace=