From: Junio C Hamano Date: Thu, 24 Aug 2017 18:27:34 +0000 (-0700) Subject: What's cooking (2017/08 #06) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=522e1fffa3bc13538959845526015f80b7c33139;p=thirdparty%2Fgit.git What's cooking (2017/08 #06) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index ee67b9c878..39a6e00190 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 (Aug 2017, #05; Tue, 22) -X-master-at: f0294f474e16840f4efb3f4da3329ba46f53efa7 -X-next-at: 238414bde168866658281957364b80816e9be329 +Subject: What's cooking in git.git (Aug 2017, #06; Thu, 24) +X-master-at: 3dc57ebfbd1bf30b9a6987f551af9b74641382a9 +X-next-at: eb51544efa2177e71821426b32f8c0299705a996 -What's cooking in git.git (Aug 2017, #05; Tue, 22) +What's cooking in git.git (Aug 2017, #06; Thu, 24) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,13 +12,12 @@ Here are the topics that have been cooking. Commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -The second batch of topics are in. This cycle is going a bit slower -than the previous one (as of mid-week #3 of this cycle, we have -about 200 patches on 'master' since v2.14, compared to about 300 -patches in the cycle towards v2.14 at a similar point in the cycle), -but hopefully we can catch up eventually. - -I am planning to be offline most of the next week, by the way. +As I am preparing to go offline next week for about a week, a +handful of topics have been merged to 'master' and 'next' is getting +thinner. There are a few topics of importance that are still only +on the mailing list archive and not in my tree that I'd like to +review them and help them get into a reasonable shape, but that +hasn't happened yet. You can find the changes described here in the integration branches of the repositories listed at @@ -28,408 +27,244 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ab/ref-filter-no-contains (2017-08-07) 1 commit - (merged to 'next' on 2017-08-18 at 7ec9d3d3a2) - + tests: don't give unportable ">" to "test" built-in, use -gt - - A test fix. - - -* bw/clone-recursive-quiet (2017-08-04) 1 commit - (merged to 'next' on 2017-08-14 at fbd4473ce4) - + clone: teach recursive clones to respect -q - - "git clone --recurse-submodules --quiet" did not pass the quiet - option down to submodules. - +* ah/doc-empty-string-is-false (2017-08-14) 1 commit + (merged to 'next' on 2017-08-19 at df47ffeffa) + + doc: clarify "config --bool" behaviour with empty string -* bw/grep-recurse-submodules (2017-08-02) 10 commits - (merged to 'next' on 2017-08-14 at dcfcfc94af) - + grep: recurse in-process using 'struct repository' - + submodule: merge repo_read_gitmodules and gitmodules_config - + submodule: check for unmerged .gitmodules outside of config parsing - + submodule: check for unstaged .gitmodules outside of config parsing - + submodule: remove fetch.recursesubmodules from submodule-config parsing - + submodule: remove submodule.fetchjobs from submodule-config parsing - + config: add config_from_gitmodules - + cache.h: add GITMODULES_FILE macro - + repository: have the_repository use the_index - + repo_read_index: don't discard the index - (this branch is used by bw/submodule-config-cleanup.) + Doc update. - "git grep --recurse-submodules" has been reworked to give a more - consistent output across submodule boundary (and do its thing - without having to fork a separate process). +* as/grep-quiet-no-match-exit-code-fix (2017-08-17) 1 commit + (merged to 'next' on 2017-08-19 at 362f88fb41) + + git-grep: correct exit code with --quiet and -L -* bw/push-options-recursively-to-submodules (2017-07-20) 1 commit - (merged to 'next' on 2017-08-14 at 421dc09fd0) - + submodule--helper: teach push-check to handle HEAD + "git grep -L" and "git grep --quiet -L" reported different exit + codes; this has been corrected. - "git push --recurse-submodules $there HEAD:$target" was not - propagated down to the submodules, but now it is. +* cc/subprocess-handshake-missing-capabilities (2017-08-16) 1 commit + (merged to 'next' on 2017-08-19 at c512710fda) + + sub-process: print the cmd when a capability is unsupported -* jc/perl-git-comment-typofix (2017-08-07) 1 commit - (merged to 'next' on 2017-08-18 at b2ad043e6a) - + perl/Git.pm: typofix in a comment + When handshake with a subprocess filter notices that the process + asked for an unknown capability, Git did not report what program + the offending subprocess was running. This has been corrected. - A comment fix. + We may want a follow-up fix to tighten the error checking, though. -* jk/drop-sha1-entry-pos (2017-08-09) 1 commit - (merged to 'next' on 2017-08-18 at 3a4d9bcf12) - + sha1_file: drop experimental GIT_USE_LOOKUP search - (this branch is used by jt/packmigrate.) +* hv/t5526-andand-chain-fix (2017-08-17) 1 commit + (merged to 'next' on 2017-08-19 at fa95053653) + + t5526: fix some broken && chains - Code clean-up. + Test fix. -* jk/hashcmp-memcmp (2017-08-09) 1 commit - (merged to 'next' on 2017-08-18 at 27c4aa5520) - + hashcmp: use memcmp instead of open-coded loop +* jc/diff-sane-truncate-no-more (2017-08-17) 1 commit + (merged to 'next' on 2017-08-19 at 3ba3980eed) + + diff: retire sane_truncate_fn Code clean-up. -* ma/parse-maybe-bool (2017-08-07) 6 commits - (merged to 'next' on 2017-08-18 at ba22bb836c) - + parse_decoration_style: drop unused argument `var` - + treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool - + config: make git_{config,parse}_maybe_bool equivalent - + config: introduce git_parse_maybe_bool_text - + t5334: document that git push --signed=1 does not work - + Doc/git-{push,send-pack}: correct --sign= to --signed= - - Code clean-up. - +* jc/simplify-progress (2017-08-19) 1 commit + (merged to 'next' on 2017-08-22 at 9077ff6912) + + progress: simplify "delayed" progress API -* mf/no-dashed-subcommands (2017-08-07) 1 commit - (merged to 'next' on 2017-08-18 at 05365af2ff) - + scripts: use "git foo" not "git-foo" + The API to start showing progress meter after a short delay has + been simplified. - Code clean-up. +* jk/doc-the-this (2017-08-20) 1 commit + (merged to 'next' on 2017-08-22 at 6625e50025) + + doc: fix typo in sendemail.identity -* mh/packed-ref-store (2017-08-17) 32 commits - (merged to 'next' on 2017-08-18 at 14c58936e1) - + files-backend: cheapen refname_available check when locking refs - (merged to 'next' on 2017-08-14 at 987b76d302) - + packed_ref_store: handle a packed-refs file that is a symlink - + read_packed_refs(): die if `packed-refs` contains bogus data - + t3210: add some tests of bogus packed-refs file contents - + repack_without_refs(): don't lock or unlock the packed refs - + commit_packed_refs(): remove call to `packed_refs_unlock()` - + clear_packed_ref_cache(): don't protest if the lock is held - + packed_refs_unlock(), packed_refs_is_locked(): new functions - + packed_refs_lock(): report errors via a `struct strbuf *err` - + packed_refs_lock(): function renamed from lock_packed_refs() - + commit_packed_refs(): use a staging file separate from the lockfile - + commit_packed_refs(): report errors rather than dying - + packed_ref_store: make class into a subclass of `ref_store` - + packed-backend: new module for handling packed references - + packed_read_raw_ref(): new function, replacing `resolve_packed_ref()` - + packed_ref_store: support iteration - + packed_peel_ref(): new function, extracted from `files_peel_ref()` - + repack_without_refs(): take a `packed_ref_store *` parameter - + get_packed_ref(): take a `packed_ref_store *` parameter - + rollback_packed_refs(): take a `packed_ref_store *` parameter - + commit_packed_refs(): take a `packed_ref_store *` parameter - + lock_packed_refs(): take a `packed_ref_store *` parameter - + add_packed_ref(): take a `packed_ref_store *` parameter - + get_packed_refs(): take a `packed_ref_store *` parameter - + get_packed_ref_cache(): take a `packed_ref_store *` parameter - + validate_packed_ref_cache(): take a `packed_ref_store *` parameter - + clear_packed_ref_cache(): take a `packed_ref_store *` parameter - + packed_ref_store: move `packed_refs_lock` member here - + packed_ref_store: move `packed_refs_path` here - + packed_ref_store: new struct - + add_packed_ref(): teach function to overwrite existing refs - + t1408: add a test of stale packed refs covered by loose refs - - The "ref-store" code reorganization continues. - - -* pw/am-signoff (2017-08-08) 1 commit - (merged to 'next' on 2017-08-18 at 7678ed822c) - + am: fix signoff when other trailers are present - - "git am -s" has been taught that some input may end with a trailer - block that is not Signed-off-by: and it should refrain from adding - an extra blank line before adding a new sign-off in such a case. - - -* pw/sequence-rerere-autoupdate (2017-08-02) 6 commits - (merged to 'next' on 2017-08-14 at 010cbb0cbe) - + cherry-pick/revert: reject --rerere-autoupdate when continuing - + cherry-pick/revert: remember --rerere-autoupdate - + t3504: use test_commit - + rebase -i: honor --rerere-autoupdate - + rebase: honor --rerere-autoupdate - + am: remember --rerere-autoupdate setting - - Commands like "git rebase" accepted the --rerere-autoupdate option - from the command line, but did not always use it. This has been - fixed. + Doc clean-up. -* rj/add-chmod-error-message (2017-08-09) 1 commit - (merged to 'next' on 2017-08-18 at ba2afb696a) - + builtin/add: add detail to a 'cannot chmod' error message +* jt/sha1-file-cleanup (2017-08-11) 2 commits + (merged to 'next' on 2017-08-19 at 93f4c94578) + + sha1_file: remove read_packed_sha1() + + sha1_file: set whence in storage-specific info fn + (this branch is used by jt/packmigrate.) - Message fix. + Preparatory code clean-up. -* rs/apply-lose-prefix-length (2017-08-09) 1 commit - (merged to 'next' on 2017-08-18 at 6ce0dbb3f0) - + apply: remove prefix_length member from apply_state +* kd/stash-with-bash-4.4 (2017-08-14) 1 commit + (merged to 'next' on 2017-08-19 at 79b2c4b052) + + stash: prevent warning about null bytes in input - Code clean-up. + bash 4.4 or newer gave a warning on NUL byte in command + substitution done in "git stash"; this has been squelched. -* rs/find-pack-entry-bisection (2017-08-09) 1 commit - (merged to 'next' on 2017-08-18 at b4130177a9) - + sha1_file: avoid comparison if no packed hash matches the first byte - (this branch is used by jt/packmigrate.) +* ks/prepare-commit-msg-sample-fix (2017-08-14) 1 commit + (merged to 'next' on 2017-08-19 at e75c30de64) + + hook: use correct logical variable - Code clean-up. + An "oops" fix to a topic that is already in 'master'. -* rs/fsck-obj-leakfix (2017-08-10) 1 commit - (merged to 'next' on 2017-08-18 at 77e3d111ef) - + fsck: free buffers on error in fsck_obj() +* kw/commit-keep-index-when-pre-commit-is-not-run (2017-08-16) 1 commit + (merged to 'next' on 2017-08-19 at 2b5a25e5ae) + + commit: skip discarding the index if there is no pre-commit hook - Memory leak in an error codepath has been plugged. + "git commit" used to discard the index and re-read from the filesystem + just in case the pre-commit hook has updated it in the middle; this + has been optimized out when we know we do not run the pre-commit hook. -* rs/in-obsd-basename-dirname-take-const (2017-08-07) 1 commit - (merged to 'next' on 2017-08-18 at c739077e3b) - + test-path-utils: handle const parameter of basename and dirname +* kw/rebase-progress (2017-08-14) 2 commits + (merged to 'next' on 2017-08-19 at 1958f378dd) + + rebase: turn on progress option by default for format-patch + + format-patch: have progress option while generating patches - Portability fix. + "git rebase", especially when it is run by mistake and ends up + trying to replay many changes, spent long time in silence. The + command has been taught to show progress report when it spends + long time preparing these many changes to replay (which would give + the user a chance to abort with ^C). -* rs/merge-microcleanup (2017-08-10) 1 commit - (merged to 'next' on 2017-08-18 at 79ba7d301d) - + merge: use skip_prefix() +* lg/merge-signoff (2017-07-25) 1 commit + (merged to 'next' on 2017-08-19 at cb53d7b026) + + merge: add a --signoff flag - Code clean-up. + "git merge" learned a "--signoff" option to add the Signed-off-by: + trailer with the committer's name. -* rs/obsd-getcwd-workaround (2017-08-07) 1 commit - (merged to 'next' on 2017-08-18 at adb98cfe0c) - + t0001: skip test with restrictive permissions if getpwd(3) respects them +* mg/format-ref-doc-fix (2017-08-18) 2 commits + (merged to 'next' on 2017-08-19 at 6490525c54) + + Documentation/git-for-each-ref: clarify peeling of tags for --format + + Documentation: use proper wording for ref format strings - Test portability fix for BSDs. + Doc fix. -* rs/strbuf-getwholeline-fix (2017-08-10) 1 commit - (merged to 'next' on 2017-08-18 at 5f879d8261) - + strbuf: clear errno before calling getdelim(3) +* nm/stash-untracked (2017-08-11) 1 commit + (merged to 'next' on 2017-08-19 at 70990d7eb3) + + stash: clean untracked files before reset - A helper function to read a single whole line into strbuf - mistakenly triggered OOM error at EOF under certain conditions, - which has been fixed. + "git stash -u" used the contents of the committed version of the + ".gitignore" file to decide which paths are ignored, even when the + file has local changes. The command has been taught to instead use + the locally modified contents. -* rs/t3700-clean-leftover (2017-08-08) 1 commit - (merged to 'next' on 2017-08-18 at 12232a8cd3) - + t3700: fix broken test under !POSIXPERM +* rs/commit-h-single-parent-cleanup (2017-08-19) 1 commit + (merged to 'next' on 2017-08-22 at 7db01c4035) + + commit: remove unused inline function single_parent() - A test fix. + Code clean-up. -* rs/t4062-obsd (2017-08-09) 1 commit - (merged to 'next' on 2017-08-18 at 02bff42d86) - + t4062: use less than 256 repetitions in regex +* rs/object-id (2017-08-14) 1 commit + (merged to 'next' on 2017-08-19 at 0f7283cd19) + + tree-walk: convert fill_tree_descriptor() to object_id - Test portability fix. + Conversion from uchar[20] to struct object_id continues. -* rs/unpack-entry-leakfix (2017-08-10) 1 commit - (merged to 'next' on 2017-08-18 at 1e7d8f54b1) - + sha1_file: release delta_stack on error in unpack_entry() - (this branch is used by jt/packmigrate.) +* rs/t1002-do-not-use-sum (2017-08-15) 1 commit + (merged to 'next' on 2017-08-19 at 15b2a5f21b) + + t1002: stop using sum(1) - Memory leak in an error codepath has been plugged. + Test simplification. -* rs/win32-syslog-leakfix (2017-08-10) 1 commit - (merged to 'next' on 2017-08-18 at 011eccb7bd) - + win32: plug memory leak on realloc() failure in syslog() +* sb/sha1-file-cleanup (2017-08-15) 1 commit + (merged to 'next' on 2017-08-19 at 85898d1e7c) + + sha1_file: make read_info_alternates static - Memory leak in an error codepath has been plugged. + Code clean-up. -* sb/retire-t1200 (2017-08-10) 1 commit - (merged to 'next' on 2017-08-18 at d436f9bbce) - + t1200: remove t1200-tutorial.sh +* sb/submodule-parallel-update (2017-08-17) 1 commit + (merged to 'next' on 2017-08-19 at c023a834f0) + + submodule.sh: remove unused variable - A test script that outlived its usefulness has been removed. + Code clean-up. -* ur/svn-local-zone (2017-08-08) 1 commit - (merged to 'next' on 2017-08-18 at f222bb6db0) - + git svn fetch: Create correct commit timestamp when using --localtime +* tc/curl-with-backports (2017-08-11) 2 commits + (merged to 'next' on 2017-08-22 at 06c21e1eb9) + + http: use a feature check to enable GSSAPI delegation control + + http: fix handling of missing CURLPROTO_* - "git svn" used with "--localtime" option did not compute the tz - offset for the timestamp in question and instead always used the - current time, which has been corrected. + Updates to the HTTP layer we made recently unconditionally used + features of libCurl without checking the existence of them, causing + compilation errors, which has been fixed. Also migrate the code to + check feature macros, not version numbers, to cope better with + libCurl that vendor ships with backported features. -------------------------------------------------- [New Topics] -* jt/packmigrate (2017-08-19) 27 commits - - pack: move for_each_packed_object() - - pack: move has_pack_index() - - pack: move has_sha1_pack() - - pack: move find_pack_entry() and make it global - - pack: move find_sha1_pack() - - pack: move find_pack_entry_one(), is_pack_valid() - - pack: move check_pack_index_ptr(), nth_packed_object_offset() - - pack: move nth_packed_object_{sha1,oid} - - pack: move clear_delta_base_cache(), packed_object_info(), unpack_entry() - - pack: move unpack_object_header() - - pack: move get_size_from_delta() - - pack: move unpack_object_header_buffer() - - pack: move {,re}prepare_packed_git and approximate_object_count - - pack: move install_packed_git() - - pack: move add_packed_git() - - pack: move unuse_pack() - - pack: move use_pack() - - pack: move pack-closing functions - - pack: move release_pack_memory() - - pack: move open_pack_index(), parse_pack_index() - - pack: move pack_report() - - pack: move static state variables - - pack: move pack name-related functions - - Merge branch 'rs/unpack-entry-leakfix' into HEAD - - Merge branch 'jt/sha1-file-cleanup' into HEAD - - Merge branch 'jk/drop-sha1-entry-pos' into HEAD - - Merge branch 'rs/find-pack-entry-bisection' into HEAD - (this branch uses jt/sha1-file-cleanup.) - - Code movement to make it easier to hack later. +* js/gitweb-raw-blob-link-in-history (2017-08-22) 1 commit + (merged to 'next' on 2017-08-23 at 16258266e2) + + gitweb: add 'raw' blob_plain link in history overview - Rebase this on the master after jt/sha1-file-cleanup graduates and - merge it to 'next' (if reviewers found this a good change, that - is). - - -* jc/cutoff-config (2017-08-19) 2 commits - - rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved - - rerere: represent time duration in timestamp_t internally - - "[gc] rerereResolved = 5.days" used to be invalid, as the variable - is defined to take an integer counting the number of days. It now - is allowed. - - Needs reroll. - cf. - - -* jc/simplify-progress (2017-08-19) 1 commit - - progress: simplify "delayed" progress API - - The API to start showing progress meter after a short delay has - been simplified. - - Will merge to 'next'. - - -* jt/stash-tests (2017-08-19) 3 commits - (merged to 'next' on 2017-08-22 at 0b022697aa) - + stash: add a test for stashing in a detached state - + stash: add a test for when apply fails during stash branch - + stash: add a test for stash create with no files - - Test update to improve coverage for "git stash" operations. + "gitweb" shows a link to visit the 'raw' contents of blbos in the + history overview page. Will merge to 'master'. -* rs/archive-excluded-directory (2017-08-19) 3 commits - - archive: don't queue excluded directories - - archive: factor out helper functions for handling attributes - - t5001: add tests for export-ignore attributes and exclude pathspecs - - "git archive" did not work well with pathspecs and the - export-ignore attribute. - - Will merge to 'next'. - - We may want to resurrect the "we don't archive an empty directory" - bonus patch, but I do not mind merging the above early to 'next' - and leave it as a separate follow-up enhancement. - cf. <20170820090629.tumvqwzkromcykjf@sigill.intra.peff.net> - - -* rs/commit-h-single-parent-cleanup (2017-08-19) 1 commit - (merged to 'next' on 2017-08-22 at 7db01c4035) - + commit: remove unused inline function single_parent() +* jn/vcs-svn-cleanup (2017-08-23) 4 commits + (merged to 'next' on 2017-08-24 at c184f08f5f) + + vcs-svn: move remaining repo_tree functions to fast_export.h + + vcs-svn: remove repo_delete wrapper function + + vcs-svn: remove custom mode constants + + vcs-svn: remove more unused prototypes and declarations + (this branch uses bc/vcs-svn-cleanup; is tangled with bc/hash-algo.) Code clean-up. Will merge to 'master'. -* bc/hash-algo (2017-08-20) 5 commits - - hash-algo: switch empty tree and blob lookups to use hash abstraction - - hash-algo: integrate hash algorithm support with repo setup - - hash-algo: add structure representing hash algorithm - - setup: expose enumerated repo info - - Merge branch 'bc/vcs-svn-cleanup' into bc/hash-algo - (this branch uses bc/vcs-svn-cleanup.) - +* jt/doc-pack-objects-fix (2017-08-23) 1 commit + (merged to 'next' on 2017-08-24 at 7e4c3c0c9f) + + Doc: clarify that pack-objects makes packs, plural -* bc/vcs-svn-cleanup (2017-08-20) 2 commits - - vcs-svn: rename repo functions to "svn_repo" - - vcs-svn: remove unused prototypes - (this branch is used by bc/hash-algo.) - - Code clean-up. + Doc updates. - Will merge to 'next'. + Will merge to 'master'. -* jk/doc-the-this (2017-08-20) 1 commit - - doc: fix typo in sendemail.identity +* ma/ts-cleanups (2017-08-23) 4 commits + - ThreadSanitizer: add suppressions + - strbuf_setlen: don't write to strbuf_slopbuf + - pack-objects: take lock before accessing `remaining` + - convert: always initialize attr_action in convert_attrs - Doc clean-up. + Assorted bugfixes and clean-ups. Will merge to 'next'. -* kw/write-index-reduce-alloc (2017-08-21) 3 commits - - read-cache: avoid allocating every ondisk entry when writing - - read-cache: fix memory leak in do_write_index - - perf: add test for writing the index - - -* mg/killed-merge (2017-08-21) 3 commits - - merge: save merge state earlier - - merge: split write_merge_state in two - - Documentation/git-merge: explain --continue +* ma/up-to-date (2017-08-23) 2 commits + - treewide: correct several "up-to-date" to "up to date" + - Documentation/user-manual: update outdated example output - Killing "git merge --edit" before the editor returns control left - the repository in a state with MERGE_MSG but without MERGE_HEAD, - which incorrectly tells the subsequent "git commit" that there was - a squash merge in progress. This has been fixed. + Message and doc updates. - Looked mostly good with minor nits. - cf. <36bea69b-010a-9542-ec87-38b00d2bb009@grubix.eu> + Will merge to 'next'. -* po/object-id (2017-08-20) 6 commits - - sha1_file: convert index_stream to struct object_id - - sha1_file: convert hash_sha1_file_literally to struct object_id - - sha1_file: convert index_fd to struct object_id - - sha1_file: convert index_path to struct object_id - - read-cache: convert to struct object_id - - builtin/hash-object: convert to struct object_id +* mh/ref-lock-entry (2017-08-23) 1 commit + (merged to 'next' on 2017-08-24 at 67760267f4) + + refs: retry acquiring reference locks for 100ms - Will merge to 'next'. + The code to acquire a lock on a reference (e.g. while accepting a + push from a client) used to immediately fail when the reference is + already locked---now it waits for a very short while and retries, + which can make it succeed if the lock holder was holding it during + a read-only operation. + Will merge to 'master'. -------------------------------------------------- [Stalled] @@ -509,99 +344,166 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* cc/subprocess-handshake-missing-capabilities (2017-08-16) 1 commit - (merged to 'next' on 2017-08-19 at c512710fda) - + sub-process: print the cmd when a capability is unsupported +* jt/packmigrate (2017-08-23) 23 commits + (merged to 'next' on 2017-08-24 at 34a628ae6c) + + pack: move for_each_packed_object() + + pack: move has_pack_index() + + pack: move has_sha1_pack() + + pack: move find_pack_entry() and make it global + + pack: move find_sha1_pack() + + pack: move find_pack_entry_one(), is_pack_valid() + + pack: move check_pack_index_ptr(), nth_packed_object_offset() + + pack: move nth_packed_object_{sha1,oid} + + pack: move clear_delta_base_cache(), packed_object_info(), unpack_entry() + + pack: move unpack_object_header() + + pack: move get_size_from_delta() + + pack: move unpack_object_header_buffer() + + pack: move {,re}prepare_packed_git and approximate_object_count + + pack: move install_packed_git() + + pack: move add_packed_git() + + pack: move unuse_pack() + + pack: move use_pack() + + pack: move pack-closing functions + + pack: move release_pack_memory() + + pack: move open_pack_index(), parse_pack_index() + + pack: move pack_report() + + pack: move static state variables + + pack: move pack name-related functions - When handshake with a subprocess filter notices that the process - asked for an unknown capability, Git did not report what program - the offending subprocess was running. This has been corrected. + Code movement to make it easier to hack later. Will merge to 'master'. - We may want a follow-up fix to tighten the error checking, though. +* jc/cutoff-config (2017-08-22) 6 commits + (merged to 'next' on 2017-08-24 at 2dcbf9ae04) + + rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved + + rerere: represent time duration in timestamp_t internally + + t4200: parameterize "rerere gc" custom expiry test + + t4200: gather "rerere gc" together + + t4200: make "rerere gc" test more robust + + t4200: give us a clean slate after "rerere gc" tests -* tb/apply-with-crlf (2017-08-19) 2 commits - (merged to 'next' on 2017-08-22 at f92bf67061) - + apply: file commited with CRLF should roundtrip diff and apply - + convert: add SAFE_CRLF_KEEP_CRLF - (this branch is tangled with jc/apply-with-crlf.) + "[gc] rerereResolved = 5.days" used to be invalid, as the variable + is defined to take an integer counting the number of days. It now + is allowed. - "git apply" that is used as a better "patch -p1" failed to apply a - taken from a file with CRLF line endings to a file with CRLF line - endings. The root cause was because it misused convert_to_git() - that tried to do "safe-crlf" processing by looking at the index - entry at the same path, which is a nonsense---in that mode, "apply" - is not working on the data in (or derived from) the index at all. - This has been fixed. + Will merge to 'master'. + + +* jt/stash-tests (2017-08-19) 3 commits + (merged to 'next' on 2017-08-22 at 0b022697aa) + + stash: add a test for stashing in a detached state + + stash: add a test for when apply fails during stash branch + + stash: add a test for stash create with no files + + Test update to improve coverage for "git stash" operations. Will merge to 'master'. -* rs/t1002-do-not-use-sum (2017-08-15) 1 commit - (merged to 'next' on 2017-08-19 at 15b2a5f21b) - + t1002: stop using sum(1) +* rs/archive-excluded-directory (2017-08-19) 3 commits + (merged to 'next' on 2017-08-22 at 1853597c35) + + archive: don't queue excluded directories + + archive: factor out helper functions for handling attributes + + t5001: add tests for export-ignore attributes and exclude pathspecs - Test simplification. + "git archive" did not work well with pathspecs and the + export-ignore attribute. Will merge to 'master'. + We may want to resurrect the "we don't archive an empty directory" + bonus patch, but I do not mind merging the above early to 'next' + and leave it as a separate follow-up enhancement. + cf. <20170820090629.tumvqwzkromcykjf@sigill.intra.peff.net> + + +* bc/hash-algo (2017-08-20) 5 commits + - hash-algo: switch empty tree and blob lookups to use hash abstraction + - hash-algo: integrate hash algorithm support with repo setup + - hash-algo: add structure representing hash algorithm + - setup: expose enumerated repo info + - Merge branch 'bc/vcs-svn-cleanup' into bc/hash-algo + (this branch uses bc/vcs-svn-cleanup; is tangled with jn/vcs-svn-cleanup.) -* sb/sha1-file-cleanup (2017-08-15) 1 commit - (merged to 'next' on 2017-08-19 at 85898d1e7c) - + sha1_file: make read_info_alternates static + +* bc/vcs-svn-cleanup (2017-08-20) 2 commits + (merged to 'next' on 2017-08-22 at d8494b5d5b) + + vcs-svn: rename repo functions to "svn_repo" + + vcs-svn: remove unused prototypes + (this branch is used by bc/hash-algo and jn/vcs-svn-cleanup.) Code clean-up. Will merge to 'master'. -* as/grep-quiet-no-match-exit-code-fix (2017-08-17) 1 commit - (merged to 'next' on 2017-08-19 at 362f88fb41) - + git-grep: correct exit code with --quiet and -L +* kw/write-index-reduce-alloc (2017-08-21) 3 commits + (merged to 'next' on 2017-08-24 at 29f7daad85) + + read-cache: avoid allocating every ondisk entry when writing + + read-cache: fix memory leak in do_write_index + + perf: add test for writing the index - "git grep -L" and "git grep --quiet -L" reported different exit - codes; this has been corrected. + We used to spend more than necessary cycles allocating and freeing + piece of memory while writing each index entry out. This has been + optimized. Will merge to 'master'. -* hv/t5526-andand-chain-fix (2017-08-17) 1 commit - (merged to 'next' on 2017-08-19 at fa95053653) - + t5526: fix some broken && chains +* mg/killed-merge (2017-08-23) 4 commits + (merged to 'next' on 2017-08-24 at 5db37fc192) + + merge: save merge state earlier + + merge: split write_merge_state in two + + merge: clarify call chain + + Documentation/git-merge: explain --continue - Test fix. + Killing "git merge --edit" before the editor returns control left + the repository in a state with MERGE_MSG but without MERGE_HEAD, + which incorrectly tells the subsequent "git commit" that there was + a squash merge in progress. This has been fixed. Will merge to 'master'. -* jc/diff-sane-truncate-no-more (2017-08-17) 1 commit - (merged to 'next' on 2017-08-19 at 3ba3980eed) - + diff: retire sane_truncate_fn - - Code clean-up. +* po/object-id (2017-08-20) 6 commits + (merged to 'next' on 2017-08-23 at 0faff383a8) + + sha1_file: convert index_stream to struct object_id + + sha1_file: convert hash_sha1_file_literally to struct object_id + + sha1_file: convert index_fd to struct object_id + + sha1_file: convert index_path to struct object_id + + read-cache: convert to struct object_id + + builtin/hash-object: convert to struct object_id Will merge to 'master'. -* ks/branch-set-upstream (2017-08-17) 3 commits - - branch: quote branch/ref names to improve readability - - builtin/branch: stop supporting the "--set-upstream" option - - t3200: cleanup cruft of a test +* tb/apply-with-crlf (2017-08-19) 2 commits + (merged to 'next' on 2017-08-22 at f92bf67061) + + apply: file commited with CRLF should roundtrip diff and apply + + convert: add SAFE_CRLF_KEEP_CRLF + (this branch is tangled with jc/apply-with-crlf.) - "branch --set-upstream" that has been deprecated in Git 1.8 has - finally been retired. + "git apply" that is used as a better "patch -p1" failed to apply a + taken from a file with CRLF line endings to a file with CRLF line + endings. The root cause was because it misused convert_to_git() + that tried to do "safe-crlf" processing by looking at the index + entry at the same path, which is a nonsense---in that mode, "apply" + is not working on the data in (or derived from) the index at all. + This has been fixed. - Will merge to 'next'. + Will merge to 'master'. -* mg/format-ref-doc-fix (2017-08-18) 2 commits - (merged to 'next' on 2017-08-19 at 6490525c54) - + Documentation/git-for-each-ref: clarify peeling of tags for --format - + Documentation: use proper wording for ref format strings +* ks/branch-set-upstream (2017-08-17) 3 commits + (merged to 'next' on 2017-08-22 at 10fd938390) + + branch: quote branch/ref names to improve readability + + builtin/branch: stop supporting the "--set-upstream" option + + t3200: cleanup cruft of a test - Doc fix. + "branch --set-upstream" that has been deprecated in Git 1.8 has + finally been retired. Will merge to 'master'. @@ -620,24 +522,6 @@ of the repositories listed at Will merge to 'master'. -* sb/submodule-parallel-update (2017-08-17) 1 commit - (merged to 'next' on 2017-08-19 at c023a834f0) - + submodule.sh: remove unused variable - - Code clean-up. - - Will merge to 'master'. - - -* ks/prepare-commit-msg-sample-fix (2017-08-14) 1 commit - (merged to 'next' on 2017-08-19 at e75c30de64) - + hook: use correct logical variable - - An "oops" fix to a topic that is already in 'master'. - - Will merge to 'master'. - - * mk/diff-delta-uint-may-be-shorter-than-ulong (2017-08-10) 1 commit . diff-delta: fix encoding size that would not fit in "unsigned int" @@ -662,19 +546,6 @@ of the repositories listed at Will be rerolled after tc/curl-with-backports stabilizes. -* tc/curl-with-backports (2017-08-11) 2 commits - - http: use a feature check to enable GSSAPI delegation control - - http: fix handling of missing CURLPROTO_* - - Updates to the HTTP layer we made recently unconditionally used - features of libCurl without checking the existence of them, causing - compilation errors, which has been fixed. Also migrate the code to - check feature macros, not version numbers, to cope better with - libCurl that vendor ships with backported features. - - Will merge to 'next'. - - * jk/trailers-parse (2017-08-20) 9 commits (merged to 'next' on 2017-08-22 at 2d4d937141) + doc/interpret-trailers: fix "the this" typo @@ -708,31 +579,6 @@ of the repositories listed at cf. <1502914591-26215-1-git-send-email-martin@mail.zuhause> -* jt/sha1-file-cleanup (2017-08-11) 2 commits - (merged to 'next' on 2017-08-19 at 93f4c94578) - + sha1_file: remove read_packed_sha1() - + sha1_file: set whence in storage-specific info fn - (this branch is used by jt/packmigrate.) - - Preparatory code clean-up. - - Will merge to 'master'. - - -* kw/rebase-progress (2017-08-14) 2 commits - (merged to 'next' on 2017-08-19 at 1958f378dd) - + rebase: turn on progress option by default for format-patch - + format-patch: have progress option while generating patches - - "git rebase", especially when it is run by mistake and ends up - trying to replay many changes, spent long time in silence. The - command has been taught to show progress report when it spends - long time preparing these many changes to replay (which would give - the user a chance to abort with ^C). - - Will merge to 'master'. - - * mk/diff-delta-avoid-large-offset (2017-08-11) 1 commit . diff-delta: do not allow delta offset truncation @@ -745,36 +591,6 @@ of the repositories listed at cf. <1502914591-26215-1-git-send-email-martin@mail.zuhause> -* nm/stash-untracked (2017-08-11) 1 commit - (merged to 'next' on 2017-08-19 at 70990d7eb3) - + stash: clean untracked files before reset - - "git stash -u" used the contents of the committed version of the - ".gitignore" file to decide which paths are ignored, even when the - file has local changes. The command has been taught to instead use - the locally modified contents. - - Will merge to 'master'. - - -* rs/object-id (2017-08-14) 1 commit - (merged to 'next' on 2017-08-19 at 0f7283cd19) - + tree-walk: convert fill_tree_descriptor() to object_id - - Conversion from uchar[20] to struct object_id continues. - - Will merge to 'master'. - - -* ah/doc-empty-string-is-false (2017-08-14) 1 commit - (merged to 'next' on 2017-08-19 at df47ffeffa) - + doc: clarify "config --bool" behaviour with empty string - - Doc update. - - Will merge to 'master'. - - * jt/diff-color-move-fix (2017-08-16) 3 commits (merged to 'next' on 2017-08-19 at 6ae3831c8c) + diff: define block by number of alphanumeric chars @@ -787,27 +603,6 @@ of the repositories listed at Will merge to 'master'. -* kd/stash-with-bash-4.4 (2017-08-14) 1 commit - (merged to 'next' on 2017-08-19 at 79b2c4b052) - + stash: prevent warning about null bytes in input - - bash 4.4 or newer gave a warning on NUL byte in command - substitution done in "git stash"; this has been squelched. - - Will merge to 'master'. - - -* kw/commit-keep-index-when-pre-commit-is-not-run (2017-08-16) 1 commit - (merged to 'next' on 2017-08-19 at 2b5a25e5ae) - + commit: skip discarding the index if there is no pre-commit hook - - "git commit" used to discard the index and re-read from the filesystem - just in case the pre-commit hook has updated it in the middle; this - has been optimized out when we know we do not run the pre-commit hook. - - Will merge to 'master'. - - * bw/git-clang-format (2017-08-14) 2 commits - Makefile: add style build rule - clang-format: outline the git project's coding style @@ -816,16 +611,6 @@ of the repositories listed at out coding style issues. -* lg/merge-signoff (2017-07-25) 1 commit - (merged to 'next' on 2017-08-19 at cb53d7b026) - + merge: add a --signoff flag - - "git merge" learned a "--signoff" option to add the Signed-off-by: - trailer with the committer's name. - - Will merge to 'master'. - - * pb/trailers-from-command-line (2017-08-14) 4 commits (merged to 'next' on 2017-08-19 at b12342e49e) + interpret-trailers: fix documentation typo @@ -866,27 +651,29 @@ of the repositories listed at * bw/submodule-config-cleanup (2017-08-03) 17 commits - - submodule: remove gitmodules_config - - unpack-trees: improve loading of .gitmodules - - submodule-config: lazy-load a repository's .gitmodules file - - submodule-config: move submodule-config functions to submodule-config.c - - submodule-config: remove support for overlaying repository config - - diff: stop allowing diff to have submodules configured in .git/config - - submodule: remove submodule_config callback routine - - unpack-trees: don't respect submodule.update - - submodule: don't rely on overlayed config when setting diffopts - - fetch: don't overlay config with submodule-config - - submodule--helper: don't overlay config in update-clone - - submodule--helper: don't overlay config in remote_submodule_branch - - add, reset: ensure submodules can be added or reset - - submodule: don't use submodule_from_name - - t7411: check configuration parsing errors - - Merge branch 'bc/object-id' into bw/submodule-config-cleanup - - Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup + (merged to 'next' on 2017-08-24 at e35d58c4c6) + + submodule: remove gitmodules_config + + unpack-trees: improve loading of .gitmodules + + submodule-config: lazy-load a repository's .gitmodules file + + submodule-config: move submodule-config functions to submodule-config.c + + submodule-config: remove support for overlaying repository config + + diff: stop allowing diff to have submodules configured in .git/config + + submodule: remove submodule_config callback routine + + unpack-trees: don't respect submodule.update + + submodule: don't rely on overlayed config when setting diffopts + + fetch: don't overlay config with submodule-config + + submodule--helper: don't overlay config in update-clone + + submodule--helper: don't overlay config in remote_submodule_branch + + add, reset: ensure submodules can be added or reset + + submodule: don't use submodule_from_name + + t7411: check configuration parsing errors + + Merge branch 'bc/object-id' into bw/submodule-config-cleanup + + Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup Code clean-up to avoid mixing values read from the .gitmodules file and values read from the .git/config file. + Will merge to 'master'. So, after the recent discussion around submodule..update (and its resolution "use submodule..active; "reset --hard" must ignore the .update thing"), this is now good to go, I presume?