From 76e84d008cc8307ed70778e83c0d52bd91a22ca5 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 6 Jan 2014 14:35:24 -0800 Subject: [PATCH] What's cooking (2014/01 #01) --- whats-cooking.txt | 684 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 418 insertions(+), 266 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 395093d72a..4c6d26b7c9 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Dec 2013, #05; Thu, 26) -X-master-at: 7794a680e63a2a11b73cb1194653662f2769a792 -X-next-at: ce5f8720e5a64bacb433bf475a00b1be1182c612 +Subject: What's cooking in git.git (Jan 2014, #01; Mon, 6) +X-master-at: 932f7e47699993de0f6ad2af92be613994e40afe +X-next-at: 5ca323a946964afa14ca9712a4b3012b36f33b02 -What's cooking in git.git (Dec 2013, #05; Thu, 26) +What's cooking in git.git (Jan 2014, #01; Mon, 6) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -17,131 +17,276 @@ of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- +[Graduated to "master"] + +* fc/remote-helper-fixes (2013-12-26) 5 commits + (merged to 'next' on 2013-12-26 at ce5f872) + + remote-hg: test 'shared_path' in a moved clone + (merged to 'next' on 2013-12-17 at aa4dc07) + + remote-hg: add tests for special filenames + + remote-hg: fix 'shared path' path + + remote-helpers: add extra safety checks + + remote-hg: avoid buggy strftime() + + +* jc/push-refmap (2013-12-04) 3 commits + (merged to 'next' on 2013-12-12 at 71e358f) + + push: also use "upstream" mapping when pushing a single ref + + push: use remote.$name.push as a refmap + + builtin/push.c: use strbuf instead of manual allocation + + Make "git push origin master" update the same ref that would be + updated by our 'master' when "git push origin" (no refspecs) is run + while the 'master' branch is checked out, which makes "git push" + more symmetric to "git fetch" and more usable for the triangular + workflow. + + +* jk/cat-file-regression-fix (2013-12-12) 2 commits + (merged to 'next' on 2013-12-13 at 3713e01) + + cat-file: handle --batch format with missing type/size + + cat-file: pass expand_data to print_object_or_die + + "git cat-file --batch=", an admittedly useless command, did not + behave very well. + + +* jk/name-pack-after-byte-representation (2013-12-16) 3 commits + (merged to 'next' on 2013-12-17 at 0bc385c) + + pack-objects doc: treat output filename as opaque + (merged to 'next' on 2013-12-09 at 247b2d0) + + pack-objects: name pack files after trailer hash + + sha1write: make buffer const-correct + (this branch is tangled with jk/pack-bitmap.) + + Two packfiles that contain the same set of objects have + traditionally been named identically, but that made repacking a + repository that is already fully packed without any cruft with a + different packing parameter cumbersome. Update the convention to + name the packfile after the bytestream representation of the data, + not after the set of objects in it. + + +* jk/pull-rebase-using-fork-point (2013-12-10) 2 commits + (merged to 'next' on 2013-12-13 at 1862c12) + + rebase: use reflog to find common base with upstream + + pull: use merge-base --fork-point when appropriate + + +* jk/rev-parse-double-dashes (2013-12-09) 2 commits + (merged to 'next' on 2013-12-13 at d26bac7) + + rev-parse: be more careful with munging arguments + + rev-parse: correctly diagnose revision errors before "--" + + "git rev-parse -- " did not implement the usual + disambiguation rules the commands in the "git log" family used in + the same way. + + +* js/gnome-keyring (2013-12-16) 1 commit + (merged to 'next' on 2013-12-17 at 422fd61) + + contrib/git-credential-gnome-keyring.c: small stylistic cleanups + + Style fix. + + +* tg/diff-no-index-refactor (2013-12-16) 4 commits + (merged to 'next' on 2013-12-17 at 009d8d8) + + diff: avoid some nesting + + diff: add test for --no-index executed outside repo + (merged to 'next' on 2013-12-13 at 523f7c4) + + diff: don't read index when --no-index is given + + diff: move no-index detection to builtin/diff.c + + "git diff ../else/where/A ../else/where/B" when ../else/where is + clearly outside the repository, and "git diff --no-index A B", do + not have to look at the index at all, but we used to read the index + unconditionally. + + +* zk/difftool-counts (2013-12-16) 2 commits + (merged to 'next' on 2013-12-16 at 0e0d235) + + diff.c: fix some recent whitespace style violations + (merged to 'next' on 2013-12-12 at ba35694) + + difftool: display the number of files in the diff queue in the prompt + + Show the total number of paths and the number of paths shown so far + when "git difftool" prompts to launch an external diff tool, which + would give users some sense of progress. + +-------------------------------------------------- [New Topics] -* bc/log-decoration (2013-12-20) 1 commit - - log: properly handle decorations with chained tags +* ta/format-user-manual-as-an-article (2014-01-06) 1 commit + (merged to 'next' on 2014-01-06 at 37858f6) + + user-manual: improve html and pdf formatting - "git log --decorate" did not handle a tag pointed by another tag - nicely. + Update the way the user-manual is formatted via AsciiDoc to save + trees. - Will merge to 'next'. + Will merge to 'master'. -* jh/rlimit-nofile-fallback (2013-12-18) 1 commit - - get_max_fd_limit(): fall back to OPEN_MAX upon getrlimit/sysconf failure +* bm/merge-base-octopus-dedup (2013-12-30) 2 commits + (merged to 'next' on 2014-01-06 at 355d62b) + + merge-base --octopus: reduce the result from get_octopus_merge_bases() + + merge-base: separate "--independent" codepath into its own helper - When we figure out how many file descriptors to allocate for - keeping packfiles open, a system with non-working getrlimit() could - cause us to die(), but because we make this call only to get a - rough estimate of how many is available and we do not even attempt - to use up all file descriptors available ourselves, it is nicer to - fall back to a reasonable low value rather than dying. + "git merge-base --octopus" used to leave cleaning up suboptimal + result to the caller, but now it does the clean-up itself. - Will merge to 'next'. + Will merge to 'master'. -* rt/bfg-ad-in-filter-branch-doc (2013-12-18) 1 commit - - docs: add filter-branch notes on The BFG +* jk/test-framework-updates (2014-01-02) 3 commits + (merged to 'next' on 2014-01-06 at f81f373) + + t0000: drop "known breakage" test + + t0000: simplify HARNESS_ACTIVE hack + + t0000: set TEST_OUTPUT_DIRECTORY for sub-tests - Will merge to 'next'. + The basic test used to leave unnecessary trash directories in the + t/ directory. + Will merge to 'master'. -* sb/diff-orderfile-config (2013-12-18) 3 commits - - diff: add diff.orderfile configuration variable - - diff: let "git diff -O" read orderfile from any file and fail properly - - t4056: add new tests for "git diff -O" - Allow "git diff -O" to be configured with a new configuration - variable. +* js/lift-parent-count-limit (2013-12-27) 1 commit + (merged to 'next' on 2014-01-06 at b74133c) + + Remove the line length limit for graft files - Will merge to 'next'. + There is no reason to have a hardcoded upper limit of the number of + parents for an octopus merge, created via the graft mechanism. + Will merge to 'master'. -* jc/graph-post-root-gap (2013-12-20) 1 commit - - graph: give an extra gap after showing root commit - This was primarily a RFH ($gmane/239580). +* ap/remote-hg-skip-null-bookmarks (2014-01-02) 1 commit + - remote-hg: do not fail on invalid bookmarks + Reported to break tests ($gmane/240005) + Expecting a reroll. -* nd/daemon-informative-errors-typofix (2013-12-20) 1 commit - - daemon: be strict at parsing parameters --[no-]informative-errors - Will merge to 'next'. +* bs/mirbsd (2014-01-02) 1 commit + (merged to 'next' on 2014-01-06 at d5cecbb) + + Add MirBSD support to the build system. + Will merge to 'master'. -* tm/fetch-prune (2013-12-20) 2 commits - - fetch --prune: run prune before fetching - - fetch --prune: always print header url - Fetching 'frotz' branch with "git fetch", while having - 'frotz/nitfol' remote-tracking branch from an earlier fetch, would - error out, primarily because the command has not been told to - remove anything on our side. In such a case, "git fetch --prune" - can be used to remove 'frotz/nitfol' to make room to fetch and - store 'frotz' remote-tracking branch. +* jk/credential-plug-leak (2014-01-02) 1 commit + (merged to 'next' on 2014-01-06 at 88e29a3) + + Revert "prompt: clean up strbuf usage" - Will merge to 'next'. + An earlier "clean-up" introduced an unnecessary memory leak. + Will merge to 'master'. -* jk/oi-delta-base (2013-12-26) 2 commits - - cat-file: provide %(deltabase) batch format - - sha1_object_info_extended: provide delta base sha1s - Teach "cat-file --batch" to show delta-base object name for a - packed object that is represented as a delta. +* jk/http-auth-tests-robustify (2014-01-02) 1 commit + (merged to 'next' on 2014-01-06 at 7e87bba) + + use distinct username/password for http auth tests - Will merge to 'next'. + Using the same username and password during the tests would not + catch a potential breakage of sending one when we should be sending + the other. + Will merge to 'master'. -* jk/sha1write-void (2013-12-26) 1 commit - - do not pretend sha1write returns errors - Code clean-up. +* km/gc-eperm (2014-01-02) 1 commit + (merged to 'next' on 2014-01-06 at fe107de) + + gc: notice gc processes run by other users - Will merge to 'next'. + A "gc" process running as a different user should be able to stop a + new "gc" process from starting. + Will merge to 'master'. -* jl/submodule-recursive-checkout (2013-12-26) 5 commits - - Teach checkout to recursively checkout submodules - - submodule: teach unpack_trees() to update submodules - - submodule: teach unpack_trees() to repopulate submodules - - submodule: teach unpack_trees() to remove submodule contents - - submodule: prepare for recursive checkout of submodules +* rr/completion-branch-config (2014-01-06) 4 commits + (merged to 'next' on 2014-01-06 at ed9eecc) + + completion: fix remote.pushdefault + + completion: fix branch.autosetup(merge|rebase) + + completion: introduce __gitcomp_nl_append () + + zsh completion: find matching custom bash completion -* mh/safe-create-leading-directories (2013-12-26) 5 commits - - rename_ref(): fix a mkdir()/rmdir() race - - safe_create_leading_directories(): fix a mkdir/rmdir race - - safe_create_leading_directories(): add "slash" pointer - - safe_create_leading_directories(): reduce scope of local variable - - safe_create_leading_directories(): modernize format of "if" chaining + Two-level configuration variable names in "branch.*" and "remote.*" + hierarchies whose variables are predominantly three-level where not + completed by hitting a in bash and zsh completions. - Code clean-up and protection against concurrent write access to the - ref namespace. + Will merge to 'master'. - Will merge to 'next'. +* ss/builtin-cleanup (2014-01-06) 3 commits + (merged to 'next' on 2014-01-06 at ffcac50) + + builtin/help.c: speed up is_git_command() by checking for builtin commands first + + builtin/help.c: call load_command_list() only when it is needed + + git.c: consistently use the term "builtin" instead of "internal command" -* nd/add-empty-fix (2013-12-26) 1 commit - - add: don't complain when adding empty project root + "git help $cmd" unnecessarily enumerated potential command names + from the filesystem, even when $cmd is known to be a built-in. - "git add -A" (no other arguments) in a totally empty working tree - used to emit an error. + Ideas for further optimization, primarily by killing the use of + is_in_cmdlist(), were suggested in the discussion, but they can + come as follow-ups on top of this series. - Will merge to 'next'. + Will merge to 'master'. -* nd/commit-tree-constness (2013-12-26) 1 commit - - commit.c: make "tree" a const pointer in commit_tree*() +* ss/safe-create-leading-dir-with-slash (2014-01-06) 1 commit + - safe_create_leading_directories(): on Windows, \ can separate path components - Code clean-up. - Will merge to 'next'. +* vm/octopus-merge-bases-simplify (2014-01-03) 1 commit + (merged to 'next' on 2014-01-06 at 35df672) + + get_octopus_merge_bases(): cleanup redundant variable + + Will merge to 'master'. + + +* fp/submodule-checkout-mode (2014-01-06) 2 commits + - DONOTMERGE: needs sign-off + - git-submodule.sh: support 'checkout' as a valid update mode + + Need to pick up a rerolled one. -------------------------------------------------- [Stalled] +* jc/graph-post-root-gap (2013-12-30) 3 commits + - WIP: document what we want at the end + - graph: remove unused code a bit + - graph: stuff the current commit into graph->columns[] + + This was primarily a RFH ($gmane/239580). + + +* fc/transport-helper-fixes (2013-12-09) 6 commits + - remote-bzr: support the new 'force' option + - test-hg.sh: tests are now expected to pass + - transport-helper: check for 'forced update' message + - transport-helper: add 'force' to 'export' helpers + - transport-helper: don't update refs in dry-run + - transport-helper: mismerge fix + + Updates transport-helper, fast-import and fast-export to allow the + ref mapping and ref deletion in a way similar to the natively + supported transports. + + Reported to break t5541. + Will hold. + + +* fc/completion (2013-12-09) 1 commit + - completion: fix completion of certain aliases + + SZEDER Gábor noticed that this breaks "git -c var=val alias" and + also suggested a better description of the change. + + Will hold. + + * mo/subtree-split-updates (2013-12-10) 3 commits - subtree: add --edit option - subtree: allow --squash and --message with push @@ -164,14 +309,14 @@ of the repositories listed at I think a reroll is coming, so this may need to be replaced, but I needed some practice with heavy conflict resolution. It conflicts with two changes to "git add" that have been scheduled for Git 2.0 - quite badly, and I think I got the resolution right this time (a - few nights ago I tried and failed and that was why it hasn't been - merged to 'pu' so far). + quite badly, and I think I got the resolution right this time. -* kb/fast-hashmap (2013-12-18) 18 commits +* kb/fast-hashmap (2014-01-03) 19 commits - hashmap.h: make sure map entries are tightly packed - - hashmap.h: Use 'unsigned int' for hash-codes everywhere + (merged to 'next' on 2014-01-03 at dc85001) + + name-hash: retire unused index_name_exists() + + hashmap.h: Use 'unsigned int' for hash-codes everywhere (merged to 'next' on 2013-12-16 at bff99b1) + Drop unnecessary #includes from test-hashmap + Add test-hashmap to .gitignore @@ -318,7 +463,146 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* jk/pack-bitmap (2013-12-26) 23 commits +* bc/log-decoration (2013-12-20) 1 commit + (merged to 'next' on 2014-01-03 at ff8873f) + + log: properly handle decorations with chained tags + + "git log --decorate" did not handle a tag pointed by another tag + nicely. + + Will merge to 'master'. + + +* jh/rlimit-nofile-fallback (2013-12-18) 1 commit + (merged to 'next' on 2014-01-03 at b56ae0c) + + get_max_fd_limit(): fall back to OPEN_MAX upon getrlimit/sysconf failure + + When we figure out how many file descriptors to allocate for + keeping packfiles open, a system with non-working getrlimit() could + cause us to die(), but because we make this call only to get a + rough estimate of how many is available and we do not even attempt + to use up all file descriptors available ourselves, it is nicer to + fall back to a reasonable low value rather than dying. + + Will merge to 'master'. + + +* rt/bfg-ad-in-filter-branch-doc (2013-12-18) 1 commit + (merged to 'next' on 2014-01-03 at 2a45e3b) + + docs: add filter-branch notes on The BFG + + Will merge to 'master'. + + +* sb/diff-orderfile-config (2013-12-18) 3 commits + (merged to 'next' on 2014-01-03 at 744eba7) + + diff: add diff.orderfile configuration variable + + diff: let "git diff -O" read orderfile from any file and fail properly + + t4056: add new tests for "git diff -O" + + Allow "git diff -O" to be configured with a new configuration + variable. + + Will merge to 'master'. + + +* nd/daemon-informative-errors-typofix (2013-12-20) 1 commit + (merged to 'next' on 2014-01-03 at 1b87648) + + daemon: be strict at parsing parameters --[no-]informative-errors + + Will merge to 'master'. + + +* tm/fetch-prune (2014-01-03) 2 commits + (merged to 'next' on 2014-01-03 at a58c6b4) + + fetch --prune: Run prune before fetching + + fetch --prune: always print header url + + Fetching 'frotz' branch with "git fetch", while having + 'frotz/nitfol' remote-tracking branch from an earlier fetch, would + error out, primarily because the command has not been told to + remove anything on our side. In such a case, "git fetch --prune" + can be used to remove 'frotz/nitfol' to make room to fetch and + store 'frotz' remote-tracking branch. + + Will merge to 'master'. + + +* jk/oi-delta-base (2013-12-26) 2 commits + (merged to 'next' on 2014-01-06 at 8cf3ed2) + + cat-file: provide %(deltabase) batch format + + sha1_object_info_extended: provide delta base sha1s + + Teach "cat-file --batch" to show delta-base object name for a + packed object that is represented as a delta. + + Will merge to 'master'. + + +* jk/sha1write-void (2013-12-26) 1 commit + (merged to 'next' on 2014-01-06 at d8cd8ff) + + do not pretend sha1write returns errors + + Code clean-up. + + Will merge to 'master'. + + +* jl/submodule-recursive-checkout (2013-12-26) 5 commits + - Teach checkout to recursively checkout submodules + - submodule: teach unpack_trees() to update submodules + - submodule: teach unpack_trees() to repopulate submodules + - submodule: teach unpack_trees() to remove submodule contents + - submodule: prepare for recursive checkout of submodules + + What is the doneness of this one??? + + +* mh/safe-create-leading-directories (2014-01-06) 17 commits + - rename_tmp_log(): on SCLD_VANISHED, retry + - rename_tmp_log(): limit the number of remote_empty_directories() attempts + - rename_tmp_log(): handle a possible mkdir/rmdir race + - rename_ref(): extract function rename_tmp_log() + - remove_dir_recurse(): handle disappearing files and directories + - remove_dir_recurse(): tighten condition for removing unreadable dir + - lock_ref_sha1_basic(): if locking fails with ENOENT, retry + - lock_ref_sha1_basic(): on SCLD_VANISHED, retry + - safe_create_leading_directories(): add new error value SCLD_VANISHED + - cmd_init_db(): when creating directories, handle errors conservatively + - safe_create_leading_directories(): introduce enum for return values + - safe_create_leading_directories(): always restore slash at end of loop + - safe_create_leading_directories(): split on first of multiple slashes + - safe_create_leading_directories(): rename local variable + - safe_create_leading_directories(): add explicit "slash" pointer + - safe_create_leading_directories(): reduce scope of local variable + - safe_create_leading_directories(): fix format of "if" chaining + + Code clean-up and protection against concurrent write access to the + ref namespace. + + Is ready for 'next', with or without minor nitfix. + + +* nd/add-empty-fix (2013-12-26) 1 commit + (merged to 'next' on 2014-01-06 at 88a78c9) + + add: don't complain when adding empty project root + + "git add -A" (no other arguments) in a totally empty working tree + used to emit an error. + + Will merge to 'master'. + + +* nd/commit-tree-constness (2013-12-26) 1 commit + (merged to 'next' on 2014-01-06 at a177c9f) + + commit.c: make "tree" a const pointer in commit_tree*() + + Code clean-up. + + Will merge to 'master'. + + +* jk/pack-bitmap (2013-12-30) 21 commits - pack-bitmap: implement optional name_hash cache - t/perf: add tests for pack bitmaps - t: add basic bitmap functionality tests @@ -334,41 +618,43 @@ of the repositories listed at - pack-bitmap: add support for bitmap indexes - documentation: add documentation for the bitmap format - ewah: compressed bitmap implementation - - compat/mingw.h: teach PRIx64 format to the MinGW and msvc builds - compat: add endianness helpers - sha1_file: export `git_open_noatime` - revision: allow setting custom limiter function - pack-objects: factor out name_hash - pack-objects: refactor the packing list - revindex: export new APIs - + sha1write: make buffer const-correct - (this branch is tangled with jk/name-pack-after-byte-representation.) Borrows the bitmap index into packfiles from JGit to speed up enumeration of objects involved in a commit range without having to fully traverse the history. + Will merge to 'next'. + * ap/path-max (2013-12-16) 1 commit - - Prevent buffer overflows when path is too long + (merged to 'next' on 2014-01-03 at affc620) + + Prevent buffer overflows when path is too long - Will merge to 'next'. + Will merge to 'master'. * mh/path-max (2013-12-18) 2 commits - - builtin/prune.c: use strbuf to avoid having to worry about PATH_MAX - - prune-packed: use strbuf to avoid having to worry about PATH_MAX + (merged to 'next' on 2014-01-03 at 5227c9b) + + builtin/prune.c: use strbuf to avoid having to worry about PATH_MAX + + prune-packed: use strbuf to avoid having to worry about PATH_MAX A few places where we relied on a fixed length buffer to hold pathnames in these two programs have been converted to use strbuf. - Will merge to 'next'. + Will merge to 'master'. * nv/commit-gpgsign-config (2013-12-17) 3 commits - - test the commit.gpgsign config option - - commit-tree: add and document --no-gpg-sign - - Add the commit.gpgsign option to sign all commits + (merged to 'next' on 2014-01-03 at 9780cbb) + + test the commit.gpgsign config option + + commit-tree: add and document --no-gpg-sign + + Add the commit.gpgsign option to sign all commits Introduce commit.gpgsign configuration variable to force every commit to be GPG signed. The variable cannot be overriden from the @@ -376,10 +662,10 @@ of the repositories listed at "git commit" and "git commit-tree", but I am not convinced that it is a good idea to sprinkle support for --no-gpg-sign everywhere. - Will merge to 'next'. - -* cc/replace-object-info (2013-12-12) 10 commits +* cc/replace-object-info (2013-12-30) 11 commits + (merged to 'next' on 2014-01-03 at 4473803) + + replace info: rename 'full' to 'long' and clarify in-code symbols (merged to 'next' on 2013-12-17 at aeb9e18) + Documentation/git-replace: describe --format option + builtin/replace: unset read_replace_refs @@ -398,92 +684,42 @@ of the repositories listed at obtain the metainfo (e.g. type & size) about the object, leading callers to weird inconsistencies. - Has this been reviewed sufficiently? - - Will merge to 'next'. - - -* fc/completion (2013-12-09) 1 commit - - completion: fix completion of certain aliases - - SZEDER Gábor noticed that this breaks "git -c var=val alias" and - also suggested a better description of the change. - - Will hold. - - -* fc/remote-helper-fixes (2013-12-26) 5 commits - (merged to 'next' on 2013-12-26 at ce5f872) - + remote-hg: test 'shared_path' in a moved clone - (merged to 'next' on 2013-12-17 at aa4dc07) - + remote-hg: add tests for special filenames - + remote-hg: fix 'shared path' path - + remote-helpers: add extra safety checks - + remote-hg: avoid buggy strftime() - Will merge to 'master'. -* jk/cat-file-regression-fix (2013-12-12) 2 commits - (merged to 'next' on 2013-12-13 at 3713e01) - + cat-file: handle --batch format with missing type/size - + cat-file: pass expand_data to print_object_or_die - - "git cat-file --batch=", an admittedly useless command, did not - behave very well. - - Will merge to 'master'. - - -* jk/pull-rebase-using-fork-point (2013-12-10) 2 commits - (merged to 'next' on 2013-12-13 at 1862c12) - + rebase: use reflog to find common base with upstream - + pull: use merge-base --fork-point when appropriate - - Will merge to 'master'. - - -* jk/rev-parse-double-dashes (2013-12-09) 2 commits - (merged to 'next' on 2013-12-13 at d26bac7) - + rev-parse: be more careful with munging arguments - + rev-parse: correctly diagnose revision errors before "--" - - "git rev-parse -- " did not implement the usual - disambiguation rules the commands in the "git log" family used in - the same way. - - Will merge to 'master'. - - -* nd/shallow-clone (2013-12-10) 28 commits - - git-clone.txt: remove shallow clone limitations - - prune: clean .git/shallow after pruning objects - - clone: use git protocol for cloning shallow repo locally - - send-pack: support pushing from a shallow clone via http - - receive-pack: support pushing to a shallow clone via http - - smart-http: support shallow fetch/clone - - remote-curl: pass ref SHA-1 to fetch-pack as well - - send-pack: support pushing to a shallow clone - - receive-pack: allow pushes that update .git/shallow - - connected.c: add new variant that runs with --shallow-file - - add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses - - receive/send-pack: support pushing from a shallow clone - - receive-pack: reorder some code in unpack() - - fetch: add --update-shallow to accept refs that update .git/shallow - - upload-pack: make sure deepening preserves shallow roots - - fetch: support fetching from a shallow repository - - clone: support remote shallow repository - - fetch-pack.h: one statement per bitfield declaration - - fetch-pack.c: move shallow update code out of fetch_pack() - - shallow.c: steps 6 and 7 to select new commits for .git/shallow - - shallow.c: the 8 steps to select new commits for .git/shallow - - shallow.c: extend setup_*_shallow() to accept extra shallow commits - - connect.c: teach get_remote_heads to parse "shallow" lines - - make the sender advertise shallow commits to the receiver - - clone: prevent --reference to a shallow repository - - send-pack: forbid pushing from a shallow repository - - remote.h: replace struct extra_have_objects with struct sha1_array - - transport.h: remove send_pack prototype, already defined in send-pack.h +* nd/shallow-clone (2014-01-06) 30 commits + (merged to 'next' on 2014-01-06 at 3dc7fab) + + shallow: remove unused code + + send-pack.c: mark a file-local function static + (merged to 'next' on 2014-01-03 at a776065) + + git-clone.txt: remove shallow clone limitations + + prune: clean .git/shallow after pruning objects + + clone: use git protocol for cloning shallow repo locally + + send-pack: support pushing from a shallow clone via http + + receive-pack: support pushing to a shallow clone via http + + smart-http: support shallow fetch/clone + + remote-curl: pass ref SHA-1 to fetch-pack as well + + send-pack: support pushing to a shallow clone + + receive-pack: allow pushes that update .git/shallow + + connected.c: add new variant that runs with --shallow-file + + add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses + + receive/send-pack: support pushing from a shallow clone + + receive-pack: reorder some code in unpack() + + fetch: add --update-shallow to accept refs that update .git/shallow + + upload-pack: make sure deepening preserves shallow roots + + fetch: support fetching from a shallow repository + + clone: support remote shallow repository + + fetch-pack.h: one statement per bitfield declaration + + fetch-pack.c: move shallow update code out of fetch_pack() + + shallow.c: steps 6 and 7 to select new commits for .git/shallow + + shallow.c: the 8 steps to select new commits for .git/shallow + + shallow.c: extend setup_*_shallow() to accept extra shallow commits + + connect.c: teach get_remote_heads to parse "shallow" lines + + make the sender advertise shallow commits to the receiver + + clone: prevent --reference to a shallow repository + + send-pack: forbid pushing from a shallow repository + + remote.h: replace struct extra_have_objects with struct sha1_array + + transport.h: remove send_pack prototype, already defined in send-pack.h Fetching from a shallow-cloned repository used to be forbidden, primarily because the codepaths involved were not carefully vetted @@ -492,40 +728,9 @@ of the repositories listed at way (i.e. the receiver become a shallow repository with truncated history). - Will merge to 'next'. - - -* tg/diff-no-index-refactor (2013-12-16) 4 commits - (merged to 'next' on 2013-12-17 at 009d8d8) - + diff: avoid some nesting - + diff: add test for --no-index executed outside repo - (merged to 'next' on 2013-12-13 at 523f7c4) - + diff: don't read index when --no-index is given - + diff: move no-index detection to builtin/diff.c - - "git diff ../else/where/A ../else/where/B" when ../else/where is - clearly outside the repository, and "git diff --no-index A B", do - not have to look at the index at all, but we used to read the index - unconditionally. - Will merge to 'master'. -* fc/transport-helper-fixes (2013-12-09) 6 commits - - remote-bzr: support the new 'force' option - - test-hg.sh: tests are now expected to pass - - transport-helper: check for 'forced update' message - - transport-helper: add 'force' to 'export' helpers - - transport-helper: don't update refs in dry-run - - transport-helper: mismerge fix - - Updates transport-helper, fast-import and fast-export to allow the - ref mapping and ref deletion in a way similar to the natively - supported transports. - - Will hold. Reported to break t5541. - - * jn/git-gui-chmod+x (2013-11-25) 1 commit - git-gui: chmod +x po2msg, windows/git-gui.sh @@ -540,24 +745,6 @@ of the repositories listed at tree. -* jk/name-pack-after-byte-representation (2013-12-16) 3 commits - (merged to 'next' on 2013-12-17 at 0bc385c) - + pack-objects doc: treat output filename as opaque - (merged to 'next' on 2013-12-09 at 247b2d0) - + pack-objects: name pack files after trailer hash - + sha1write: make buffer const-correct - (this branch is tangled with jk/pack-bitmap.) - - Two packfiles that contain the same set of objects have - traditionally been named identically, but that made repacking a - repository that is already fully packed without any cruft with a - different packing parameter cumbersome. Update the convention to - name the packfile after the bytestream representation of the data, - not after the set of objects in it. - - Will merge to 'master'. - - * nd/negative-pathspec (2013-12-06) 3 commits (merged to 'next' on 2013-12-12 at 9f340c8) + pathspec.c: support adding prefix magic to a pathspec with mnemonic magic @@ -567,19 +754,6 @@ of the repositories listed at Introduce "negative pathspec" magic, to allow "git log -- . ':!dir'" to tell us "I am interested in everything but 'dir' directory". - Will cook in 'next'. - - -* zk/difftool-counts (2013-12-16) 2 commits - (merged to 'next' on 2013-12-16 at 0e0d235) - + diff.c: fix some recent whitespace style violations - (merged to 'next' on 2013-12-12 at ba35694) - + difftool: display the number of files in the diff queue in the prompt - - Show the total number of paths and the number of paths shown so far - when "git difftool" prompts to launch an external diff tool, which - would give users some sense of progress. - Will merge to 'master'. @@ -590,29 +764,7 @@ of the repositories listed at evil-merged with other topics that introduce new uses of prefix/suffix-cmp functions. - -* jc/push-refmap (2013-12-04) 3 commits - (merged to 'next' on 2013-12-12 at 71e358f) - + push: also use "upstream" mapping when pushing a single ref - + push: use remote.$name.push as a refmap - + builtin/push.c: use strbuf instead of manual allocation - - Make "git push origin master" update the same ref that would be - updated by our 'master' when "git push origin" (no refspecs) is run - while the 'master' branch is checked out, which makes "git push" - more symmetric to "git fetch" and more usable for the triangular - workflow. - - Will merge to 'master'. - - -* js/gnome-keyring (2013-12-16) 1 commit - (merged to 'next' on 2013-12-17 at 422fd61) - + contrib/git-credential-gnome-keyring.c: small stylistic cleanups - - Style fix. - - Will merge to 'master'. + Will merge to 'next' and cook until Git 2.0. * gj/push-more-verbose-advice (2013-11-13) 1 commit -- 2.11.4.GIT