From: Junio C Hamano Date: Wed, 6 Jun 2007 22:43:24 +0000 (-0700) Subject: Merge branch 'sv/objfixes' X-Git-Tag: v1.5.3-rc0~149 X-Git-Url: https://www.git.lorimer.id.au/gitweb.git/diff_plain/d44c782bbd6b0e806e056f9e8ff8cd8e426e67a3?hp=e2ac7cb5fbcf1407003aa07cdcd14141527ea2e3 Merge branch 'sv/objfixes' * sv/objfixes: Don't assume tree entries that are not dirs are blobs git-cvsimport: Make sure to use $git_dir always instead of .git sometimes fix documentation of unpack-objects -n Accept dates before 2000/01/01 when specified as seconds since the epoch --- diff --git a/.gitignore b/.gitignore index 4dc0c395fa..27e5aeb8a0 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 @@ -42,6 +40,7 @@ git-fast-import git-fetch git-fetch--tool git-fetch-pack +git-filter-branch git-findtags git-fmt-merge-msg git-for-each-ref @@ -126,6 +125,7 @@ git-ssh-push git-ssh-upload git-status git-stripspace +git-submodule git-svn git-svnimport git-symbolic-ref @@ -152,6 +152,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 @@ sub format_one { 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 @@ sub format_one { 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 7d9afe20f9..5868d587a9 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -204,23 +204,16 @@ core.warnAmbiguousRefs:: and might match multiple refs in the .git/refs/ tree. True by default. core.compression:: + An integer -1..9, indicating a default compression level. + -1 is the zlib default. 0 means no compression, + and 1..9 are various speed/size tradeoffs, 9 being slowest. + +core.loosecompression:: An integer -1..9, indicating the compression level for objects that - are not in a pack file. -1 is the zlib and git default. 0 means no + are not in a pack file. -1 is the zlib default. 0 means no compression, and 1..9 are various speed/size tradeoffs, 9 being - slowest. - -core.legacyheaders:: - A boolean which - changes the format of loose objects so that they are more - efficient to pack and to send out of the repository over git - native protocol, since v1.4.2. However, loose objects - written in the new format cannot be read by git older than - that version; people fetching from your repository using - older versions of git over dumb transports (e.g. http) - will also be affected. -+ -To let git use the new loose object format, you have to -set core.legacyheaders to false. + slowest. If not set, defaults to core.compression. If that is + not set, defaults to 0 (best speed). core.packedGitWindowSize:: Number of bytes of a pack file to map into memory in a @@ -397,6 +390,11 @@ format.suffix:: `.patch`. Use this variable to change that suffix (make sure to include the dot if you want it). +gc.aggressiveWindow:: + The window size parameter used in the delta compression + algorithm used by 'git gc --aggressive'. This defaults + to 10. + gc.packrefs:: `git gc` does not run `git pack-refs` in a bare repository by default so that older dumb-transport clients can still fetch @@ -563,6 +561,22 @@ pack.depth:: The maximum delta depth used by gitlink:git-pack-objects[1] when no maximum depth is given on the command line. Defaults to 50. +pack.compression:: + An integer -1..9, indicating the compression level for objects + in a pack file. -1 is the zlib default. 0 means no + compression, and 1..9 are various speed/size tradeoffs, 9 being + 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 ba79773f79..f3387f5d09 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -12,7 +12,7 @@ SYNOPSIS 'git-am' [--signoff] [--dotest=] [--keep] [--utf8 | --no-utf8] [--3way] [--interactive] [--binary] [--whitespace=