diff --git a/.gitignore b/.gitignore index 2179b5786b..40938f3f59 100644 --- a/.gitignore +++ b/.gitignore @@ -7,8 +7,6 @@ git-add--interactive git-am git-annotate git-apply -git-applymbox -git-applypatch git-archimport git-archive git-bisect @@ -126,6 +124,7 @@ git-ssh-push git-ssh-upload git-status git-stripspace +git-submodule git-svn git-svnimport git-symbolic-ref @@ -152,6 +151,7 @@ test-delta test-dump-cache-tree test-genrandom test-match-trees +test-sha1 common-cmds.h *.tar.gz *.dsc diff --git a/.mailmap b/.mailmap index 4e0615e9be..aa8ee6b3f1 100644 --- a/.mailmap +++ b/.mailmap @@ -7,6 +7,8 @@ Aneesh Kumar K.V Chris Shoemaker +Dana L. How +Dana L. How Daniel Barkalow David Kågedal Fredrik Kuivinen @@ -19,8 +21,8 @@ Jon Loeliger Jon Seymour Karl Hasselström Kent Engstrom -Lars Doelle Lars Doelle +Lars Doelle Lukas Sandström Martin Langhoff Michele Ballabio @@ -34,12 +36,11 @@ Sean Estabrooks Shawn O. Pearce Theodore Ts'o Tony Luck -Uwe Kleine-König Uwe Kleine-König -Uwe Kleine-König Uwe Kleine-König +Uwe Kleine-König +Uwe Kleine-König Ville Skyttä YOSHIFUJI Hideaki anonymous anonymous -Dana L. How diff --git a/Documentation/RelNotes-1.5.3.txt b/Documentation/RelNotes-1.5.3.txt new file mode 100644 index 0000000000..d111661a7b --- /dev/null +++ b/Documentation/RelNotes-1.5.3.txt @@ -0,0 +1,109 @@ +GIT v1.5.3 Release Notes (draft) +======================== + +Updates since v1.5.2 +-------------------- + +* An initial interation of Porcelain level superproject support + started to take shape. + +* Thee are a handful pack-objects changes to help you cope better with + repositories with pathologically large blobs in them. + +* New commands and options. + + - "git-submodule" command helps you manage the projects from + the superproject that contain them. + + - In addition to core.compression configuration option, + core.loosecompression and pack.compression options can + independently tweak zlib compression levels used for loose + and packed objects. + + - "git-ls-tree -l" shows size of blobs pointed at by the + tree entries, similar to "/bin/ls -l". + + - "git-rev-list" learned --regexp-ignore-case and + --extended-regexp options to tweak its matching logic used + for --grep fitering. + + - "git-describe --contains" is a handier way to call more + obscure command "git-name-rev --tags". + + - "git gc --aggressive" tells the command to spend more cycles + to optimize the repository harder. + + - "git repack" can be told to split resulting packs to avoid + exceeding limit specified with "--max-pack-size". + +* Updated behavior of existing commands. + + - "git push" pretends that you immediately fetched back from + the remote by updating corresponding remote tracking + branches if you have any. + + - The diffstat given after a merge (or a pull) honors the + color.diff configuration. + + - "git-apply --whitespace=strip" removes blank lines added at + the end of the file. + + - fetch over git native protocols with -v shows connection + status, and the IP address of the other end, to help + diagnosing problems. + + - core.legacyheaders is no more, although we still can read + objects created in a new loose object format. + + - "git-mailsplit" (hence "git-am") can read from Maildir + formatted mailboxes. + + - "git cvsserver" does not barf upon seeing "cvs login" + request. + + - "pack-objects" honors "delta" attribute set in + .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. + + +* Builds + + - + +* Performance Tweaks + + - git-pack-objects avoids re-deltification cost by caching + small enough delta results it creates while looking for the + best delta candidates. + + - diff-delta code that is used for packing has been improved + to work better on big files. + + - when there are more than one pack files in the repository, + the runtime used to try finding an object always from the + newest packfile; it now tries the same packfile as we found + the object requested the last time, which exploits the + locality of references. + +Fixes since v1.5.2 +------------------ + +All of the fixes in v1.5.2 maintenance series are included in +this release, unless otherwise noted. + +* Bugfixes + + - .... This has not + been backported to 1.5.2.x series, as it is rather an + intrusive change. + + +-- +exec >/var/tmp/1 +O=v1.5.2-45-ged82edc +O=v1.5.2-172-g1a8b769 +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 b94d9a8166..b9baa1d3b4 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches @@ -14,6 +14,8 @@ Checklist (and a short version for the impatient): commit message (or just use the option "-s" when committing) to confirm that you agree to the Developer's Certificate of Origin + - make sure that you have tests for the bug you are fixing + - make sure that the test suite passes after your commit Patch: @@ -33,6 +35,8 @@ Checklist (and a short version for the impatient): - if you change, add, or remove a command line option or make some other user interface change, the associated documentation should be updated as well. + - if your name is not writable in ASCII, make sure that + you send off a message in the correct encoding. Long version: @@ -239,7 +243,7 @@ One test you could do yourself if your MUA is set up correctly is: $ git fetch http://kernel.org/pub/scm/git/git.git master:test-apply $ git checkout test-apply $ git reset --hard - $ git applymbox a.patch + $ git am a.patch If it does not apply correctly, there can be various reasons. @@ -247,7 +251,7 @@ If it does not apply correctly, there can be various reasons. does not have much to do with your MUA. Please rebase the patch appropriately. -* Your MUA corrupted your patch; applymbox would complain that +* Your MUA corrupted your patch; "am" would complain that the patch does not apply. Look at .dotest/ subdirectory and see what 'patch' file contains and check for the common corruption patterns mentioned above. diff --git a/Documentation/cmd-list.perl b/Documentation/cmd-list.perl index 443802a9a3..a181f753e0 100755 --- a/Documentation/cmd-list.perl +++ b/Documentation/cmd-list.perl @@ -72,8 +72,6 @@ __DATA__ git-add mainporcelain git-am mainporcelain git-annotate ancillaryinterrogators -git-applymbox ancillaryinterrogators -git-applypatch purehelpers git-apply plumbingmanipulators git-archimport foreignscminterface git-archive mainporcelain @@ -180,6 +178,7 @@ git-ssh-fetch synchingrepositories git-ssh-upload synchingrepositories git-status mainporcelain git-stripspace purehelpers +git-submodule mainporcelain git-svn foreignscminterface git-svnimport foreignscminterface git-symbolic-ref plumbingmanipulators diff --git a/Documentation/config.txt b/Documentation/config.txt index 68542e0a4b..5553c1cbda 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -568,6 +568,15 @@ pack.compression:: slowest. If not set, defaults to core.compression. If that is not set, defaults to -1. +pack.deltaCacheSize:: + The maxium memory in bytes used for caching deltas in + gitlink:git-pack-objects[1]. + A value of 0 means no limit. Defaults to 0. + +pack.deltaCacheLimit:: + The maxium size of a delta, that is cached in + gitlink:git-pack-objects[1]. Defaults to 1000. + pull.octopus:: The default merge strategy to use when pulling multiple branches at once. diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index 25cf84a0c7..f3387f5d09 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -13,7 +13,6 @@ SYNOPSIS [--3way] [--interactive] [--binary] [--whitespace=