From fba3384f489ad83705a670a77df74502eb604791 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 30 Apr 2015 12:35:06 -0700 Subject: [PATCH] What's cooking (2015/04 #05) --- whats-cooking.txt | 824 +++++++++++++++++++++++++++--------------------------- 1 file changed, 419 insertions(+), 405 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index a9b3f4c3b2..1bfd2791e3 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,19 +1,19 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Apr 2015, #04; Mon, 27) -X-master-at: fb3e7d5515308c73c54c797356651d6ca41b58a6 -X-next-at: 800e5753bd3e417587c1acede4a07b3a0f1c5198 +Subject: What's cooking in git.git (Apr 2015, #05; Thu, 30) +X-master-at: 3d4a3ffe64162b45ae7c991fc60623ecb4678cfd +X-next-at: 7a0482398323b9bd8dbb64ab9010e63a95b81bce -What's cooking in git.git (Apr 2015, #04; Mon, 27) +What's cooking in git.git (Apr 2015, #05; Thu, 30) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. -I'll merge two small documentation follow-up to the new features -in 2.4.0 (mg/status-v-v and nd/versioncmp-prereleases topics) to -'master' and tag the final Git 2.4 later this week. +Git 2.4 final has been tagged. We'll wait for a few days to see +if there are brown-paper-bag bugs, fix them if there are any, and +then rewind 'next' and rebuild it to kick off the next cycle. You can find the changes described here in the integration branches of the repositories listed at @@ -23,53 +23,376 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* jc/push-cert (2015-04-02) 1 commit - (merged to 'next' on 2015-04-08 at aecdd43) - + push --signed: tighten what the receiving end can ask to sign +* mg/show-notes-doc (2015-04-17) 1 commit + (merged to 'next' on 2015-04-20 at 2e93969) + + rev-list-options.txt: complete sentence about notes matching + + Documentation fix. + + +* mg/status-v-v (2015-04-23) 1 commit + (merged to 'next' on 2015-04-25 at cbcaca4) + + status: document the -v/--verbose option + + Documentation fix. + + +* nd/versioncmp-prereleases (2015-04-23) 1 commit + (merged to 'next' on 2015-04-25 at f824d7f) + + git tag: mention versionsort.prereleaseSuffix in manpage + + Documentation fix. + +-------------------------------------------------- +[New Topics] + +* jk/rebase-quiet-noop (2015-04-28) 1 commit + - rebase: silence "git checkout" for noop rebase + + "git rebase --quiet" was not quite quiet when there is nothing to + do. + + Will merge to 'next'. + + +* ld/p4-case-fold (2015-04-28) 1 commit + - git-p4: add failing tests for case-folding p4d + + Will merge to 'next'. + + +* va/fix-git-p4-tests (2015-04-28) 1 commit + - git-p4: t9814: prevent --chain-lint failure + + Will merge to 'next'. - The "git push --signed" protocol extension did not limit what the - "nonce" that is a server-chosen string can contain or how long it - can be, which was unnecessarily lax. Limit both the length and the - alphabet to a reasonably small space that can still have enough - entropy. +* jk/filter-branch-use-of-sed-on-incomplete-line (2015-04-29) 1 commit + - filter-branch: avoid passing commit message through sed -* ma/bash-completion-leaking-x (2015-04-12) 1 commit - (merged to 'next' on 2015-04-14 at 3a52a6d) - + completion: fix global bash variable leak on __gitcompappend + "filter-branch" was broken by some "sed" implementations that + corrupt commit log message that ends with an incomplete line. + Work it around by avoiding to use "sed". - The completion script (in contrib/) contaminated global namespace - and clobbered on a shell variable $x. + Will merge to 'next'. -* ps/grep-help-all-callback-arg (2015-04-12) 1 commit - (merged to 'next' on 2015-04-14 at e0a8092) - + grep: correctly initialize help-all option +* ph/rebase-i-redo (2015-04-29) 1 commit + - rebase -i: redo tasks that die during cherry-pick - Code clean-up. + "git rebase -i" moved the "current" command from "todo" to "done" a + bit too prematurely, losing a step when a "pick" did not even start. + Will merge to 'next'. -* tb/connect-ipv6-parse-fix (2015-04-08) 1 commit - (merged to 'next' on 2015-04-14 at e720918) - + connect.c: ignore extra colon after hostname - An earlier update to the parser that disects a URL broke an - address, followed by a colon, followed by an empty string (instead - of the port number), e.g. ssh://example.com:/path/to/repo. +* ep/do-not-feed-a-pointer-to-array-size (2015-04-30) 2 commits + - SQUASH??? + - git-compat-util.h: implement a different ARRAY_SIZE macro for for safely deriving the size of array - This should go to the maintenance track, too. + Catch programmer mistake to feed a pointer not an array to + ARRAY_SIZE() macro, by using a couple of GCC extensions. -* va/fix-git-p4-tests (2015-04-12) 3 commits - (merged to 'next' on 2015-04-14 at 261bf90) - + t9814: guarantee only one source exists in git-p4 copy tests - + git-p4: fix copy detection test - + t9814: fix broken shell syntax in git-p4 rename test +* tb/blame-resurrect-convert-to-git (2015-04-30) 1 commit + - blame: CRLF in the working tree and LF in the repo - Test fixes for git-p4. + Some time ago, "git blame" (incorrectly) lost the convert_to_git() + call when synthesizing a fake "tip" commit that represents the + state in the working tree, which broke folks who record the history + with LF line ending to make their project portabile across + platforms while terminating lines in their working tree files with + CRLF for their platform. + + Will merge to 'next'. -------------------------------------------------- -[New Topics] +[Stalled] + +* kk/log-merges-config (2015-04-21) 5 commits + - bash-completion: add support for git-log --merges= and log.merges + - t4202-log: add tests for --merges= + - Documentation: add git-log --merges= option and log.merges config. var + - log: honor log.merges= option + - revision: add --merges={show|only|hide} option + + "git log" (but not other commands in the "log" family) learned to + pay attention to the log.merges configuration variable that can be + set to "show" (the normal behaviour), "only" (hide non-merge + commits), or "hide" (hide merge commits). --merges=(show|only|hide) + can be used to override the setting from the command line. + + The documentation may need to be updated once more ($gmane/267250). + Waiting for a reroll. + + +* mh/fdopen-with-retry (2015-03-06) 6 commits + - buffer_fdinit(): use fdopen_with_retry() + - update_info_file(): use fdopen_with_retry() + - copy_to_log(): use fdopen_with_retry() + - fdopen_lock_file(): use fdopen_with_retry() + - SQUASH??? $gmane/264889 + - xfdopen(): if first attempt fails, free memory and try again + + Various parts of the code where they call fdopen() can fail when + they run out of memory; attempt to proceed by retrying the + operation after freeing some resource. + + Will discard. + + +* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits + - t/lib-git-svn: check same httpd module dirs as lib-httpd + - t/lib-httpd: load mod_unixd + + This is the first two commits in a three-patch series $gmane/266962 + Will be rerolled. + with updated log message ($gmane/268061). + + +* jk/at-push-sha1 (2015-03-31) 6 commits + - sha1_name: implement @{push} shorthand + - sha1_name: refactor upstream_mark + - remote.c: provide per-branch pushremote name + - remote.c: hoist branch.*.remote lookup out of remote_get_1 + - remote.c: drop "remote" pointer from "struct branch" + - remote.c: drop default_remote_name variable + + Introduce @{push} short-hand to denote the remote-tracking + branch that tracks the branch at the remote the would be + pushed to. + + Will be rerolled ($gmane/268040). + + +* pt/xdg-config-path (2015-04-12) 7 commits + - path.c: remove home_config_paths() + - git-config: replace use of home_config_paths() + - git-commit: replace use of home_config_paths() + - credential-store.c: replace home_config_paths() with xdg_config_home() + - dir.c: replace home_config_paths() with xdg_config_home() + - attr.c: replace home_config_paths() with xdg_config_home() + - path.c: implement xdg_config_home() + (this branch uses pt/credential-xdg.) + + Seen some discussions. + Waiting for a reroll ($gmane/267518). + + +* mh/numparse (2015-03-19) 14 commits + - diff_opt_parse(): use convert_i() when handling --abbrev= + - diff_opt_parse(): use convert_i() when handling "-l" + - opt_arg(): simplify pointer handling + - opt_arg(): report errors parsing option values + - opt_arg(): use convert_i() in implementation + - opt_arg(): val is always non-NULL + - builtin_diff(): detect errors when parsing --unified argument + - handle_revision_opt(): use convert_ui() when handling "--abbrev=" + - strtoul_ui(), strtol_i(): remove functions + - handle_revision_opt(): use convert_i() when handling "-" + - handle_revision_opt(): use skip_prefix() in many places + - write_subdirectory(): use convert_ui() for parsing mode + - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo" + - numparse: new module for parsing integral numbers + + Many codepaths use unchecked use of strtol() and friends (or even + worse, atoi()). Introduce a set of wrappers that try to be more + careful. + + Will be rerolled. + ($gmane/268058). + + +* tf/gitweb-project-listing (2015-03-19) 5 commits + - gitweb: make category headings into links when they are directories + - gitweb: optionally set project category from its pathname + - gitweb: add a link under the search box to clear a project filter + - gitweb: if the PATH_INFO is incomplete, use it as a project_filter + - gitweb: fix typo in man page + + Update gitweb to make it more pleasant to deal with a hierarchical + forest of repositories. + + Any comments from those who use or have their own code in Gitweb? + + +* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit + - "-" and "@{-1}" on various programs + + Lose special case code to make a lone dash "-" mean the previous + branch aka "@{-1}" from a handful subcommands, and instead support + the notation throughout the system by reimplementing it at the + revisions layer. + + Needs tests, documentation updates, etc. Also does only a half-way + job dealing with range notation, which needs to be fixed before the + series goes anywhere. + + +* nd/list-files (2015-02-09) 21 commits + - t3080: tests for git-list-files + - list-files: -M aka diff-cached + - list-files -F: show submodules with the new indicator '&' + - list-files: add -F/--classify + - list-files: show directories as well as files + - list-files: do not show duplicate cached entries + - list-files: sort output and remove duplicates + - list-files: add -t back + - list-files: add -1 short for --no-column + - list-files: add -R/--recursive short for --max-depth=-1 + - list-files: -u does not imply showing stages + - list-files: make alias 'ls' default to 'list-files' + - list-files: a user friendly version of ls-files and more + - ls-files: support --max-depth + - ls-files: add --column + - ls-files: add --color to highlight file names + - ls-files: buffer full item in strbuf before printing + - ls_colors.c: highlight submodules like directories + - ls_colors.c: add a function to color a file name + - ls_colors.c: parse color.ls.* from config file + - ls_colors.c: add $LS_COLORS parsing code + + A new "git list-files" Porcelain command, "ls-files" with bells and + whistles. + + Reroll to base on wt-status work ($gmane/265142) has seen some + positive discussions. + + Waiting for a further polished reroll ($gmane/265534). + + +* js/fsck-opt (2015-01-21) 19 commits + - fsck: support ignoring objects in `git fsck` via fsck.skiplist + - fsck: git receive-pack: support excluding objects from fsck'ing + - fsck: introduce `git fsck --quick` + - fsck: support demoting errors to warnings + - fsck: document the new receive.fsck.* options + - fsck: allow upgrading fsck warnings to errors + - fsck: optionally ignore specific fsck issues completely + - fsck: disallow demoting grave fsck errors to warnings + - fsck: add a simple test for receive.fsck.* + - fsck: make fsck_tag() warn-friendly + - fsck: handle multiple authors in commits specially + - fsck: make fsck_commit() warn-friendly + - fsck: make fsck_ident() warn-friendly + - fsck: report the ID of the error/warning + - fsck: allow demoting errors to warnings via receive.fsck.warn = + - fsck: offer a function to demote fsck errors to warnings + - fsck: provide a function to parse fsck message IDs + - fsck: introduce identifiers for fsck messages + - fsck: introduce fsck options + + "fsck.warnings = " I suggested turned out to + be an unpopular choice (sorry Dscho). + + Expecting a reroll. + + +* nd/untracked-cache (2015-03-12) 24 commits + - git-status.txt: advertisement for untracked cache + - untracked cache: guard and disable on system changes + - mingw32: add uname() + - t7063: tests for untracked cache + - update-index: test the system before enabling untracked cache + - update-index: manually enable or disable untracked cache + - status: enable untracked cache + - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE + - untracked cache: mark index dirty if untracked cache is updated + - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS + - untracked cache: avoid racy timestamps + - read-cache.c: split racy stat test to a separate function + - untracked cache: invalidate at index addition or removal + - untracked cache: load from UNTR index extension + - untracked cache: save to an index extension + - ewah: add convenient wrapper ewah_serialize_strbuf() + - untracked cache: don't open non-existent .gitignore + - untracked cache: mark what dirs should be recursed/saved + - untracked cache: record/validate dir mtime and reuse cached output + - untracked cache: make a wrapper around {open,read,close}dir() + - untracked cache: invalidate dirs recursively if .gitignore changes + - untracked cache: initial untracked cache validation + - untracked cache: record .gitignore information and dir hierarchy + - dir.c: optionally compute sha-1 of a .gitignore file + + Need extra sets of eyes to review this. + + +* nd/pathspec-strip-fix (2015-04-18) 1 commit + - pathspec: adjust prefixlen after striping trailing slash + + Does not quite fix ($gmane/267614). + + +* jc/diff-b-m (2015-02-23) 5 commits + . WIPWIP + . WIP: diff-b-m + - diffcore-rename: allow easier debugging + - diffcore-rename.c: add locate_rename_src() + - diffcore-break: allow debugging + + "git diff -B -M" produced incorrect patch when the postimage of a + completely rewritten file is similar to the preimage of a removed + file; such a resulting file must not be expressed as a rename from + other place. + + The fix in this patch is broken, unfortunately. + + +* pw/remote-set-url-fetch (2014-11-26) 1 commit + - remote: add --fetch and --both options to set-url + + Expecting a reroll. + + +* tr/remerge-diff (2014-11-10) 9 commits + - t4213: avoid "|" in sed regexp + - log --remerge-diff: show what the conflict resolution changed + - name-hash: allow dir hashing even when !ignore_case + - merge-recursive: allow storing conflict hunks in index + - merge_diff_mode: fold all merge diff variants into an enum + - combine-diff: do not pass revs->dense_combined_merges redundantly + - merge-recursive: -Xindex-only to leave worktree unchanged + - merge-recursive: internal flag to avoid touching the worktree + - merge-recursive: remove dead conditional in update_stages() + + "log -p" output learns a new way to let users inspect a merge + commit by showing the differences between the automerged result + with conflicts the person who recorded the merge would have seen + and the final conflict resolution that was recorded in the merge. + + Waiting for a reroll ($gmane/256591). + + +* hv/submodule-config (2014-11-11) 4 commits + - do not die on error of parsing fetchrecursesubmodules option + - use new config API for worktree configurations of submodules + - extract functions for submodule config set and lookup + - implement submodule config cache for lookup of submodule names + + Kicked back to 'pu' per request ($gmane/255610). + + +* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits + - perf-lib: add test_perf_cleanup target + - perf-lib: split starting the test from the execution + + Add test_perf_cleanup shell function to the perf suite, that allows + the script writers to define a test with a clean-up action. + + Will hold. + + +* jc/show-branch (2014-03-24) 5 commits + - show-branch: use commit slab to represent bitflags of arbitrary width + - show-branch.c: remove "all_mask" + - show-branch.c: abstract out "flags" operation + - show-branch.c: lift all_mask/all_revs to a global static + - show-branch.c: update comment style + + Waiting for the final step to lift the hard-limit. + +-------------------------------------------------- +[Cooking] * jc/epochtime-wo-tz (2015-04-15) 2 commits (merged to 'next' on 2015-04-21 at b926f72) @@ -116,7 +439,7 @@ of the repositories listed at be touched?" check "git clean" does by checking if it has .git/HEAD using the submodule-related code with a more optimized check. - Will merge to 'next'. + Waiting for a reroll. * ep/fix-test-lib-functions-report (2015-04-16) 1 commit @@ -158,15 +481,6 @@ of the repositories listed at Will merge to 'master' in the second batch of post v2.4 cycle. -* mg/show-notes-doc (2015-04-17) 1 commit - (merged to 'next' on 2015-04-20 at 2e93969) - + rev-list-options.txt: complete sentence about notes matching - - Documentation fix. - - Will merge to 'master' in the first batch of post v2.4 cycle. - - * mm/add-p-split-error (2015-04-16) 5 commits (merged to 'next' on 2015-04-23 at b1bd21a) + stash -p: demonstrate failure of split with mixed y/n @@ -184,7 +498,7 @@ of the repositories listed at and biting us (I seem to have said "let's run with this and see what happens" back then). - Will merge to 'master'. + Will merge to 'master' in the third batch of post v2.4 cycle. * mm/usage-log-l-can-take-regex (2015-04-20) 2 commits @@ -195,12 +509,6 @@ of the repositories listed at Will merge to 'master' in the second batch of post v2.4 cycle. -* nd/pathspec-strip-fix (2015-04-18) 1 commit - - pathspec: adjust prefixlen after striping trailing slash - - Does not quite fix ($gmane/267614). - - * nd/t1509-chroot-test (2015-04-18) 1 commit (merged to 'next' on 2015-04-21 at 60d35d3) + t1509: update prepare script to be able to run t1509 in chroot again @@ -227,7 +535,7 @@ of the repositories listed at + t0027: support NATIVE_CRLF platforms + t0027: cleanup: rename functions; avoid non-leading TABs - Will merge to 'master' in the first batch of post v2.4 cycle. + Will merge to 'next'. * jk/prune-mtime (2015-04-20) 3 commits @@ -285,7 +593,7 @@ of the repositories listed at Will merge to 'next'. -* jc/merge (2015-04-25) 14 commits +* jc/merge (2015-04-29) 15 commits - merge: deprecate 'git merge HEAD ' syntax - merge: handle FETCH_HEAD internally - merge: decide if we auto-generate the message early in collect_parents() @@ -300,205 +608,82 @@ of the repositories listed at - t5520: test pulling an octopus into an unborn branch - t5520: style fixes - merge: simplify code flow + - merge: test the top-level merge driver (this branch is used by jc/merge-drop-old-syntax.) "git merge FETCH_HEAD" learned that the previous "git fetch" could be to create an Octopus merge, i.e. recording multiple branches that are not marked as "not-for-merge"; this allows us to lose an old style invocation "git merge HEAD $commits..." in the - implementation of "git pull" script; the old style syntax can now - be deprecated. - - -* jk/test-chain-lint (2015-04-22) 1 commit - - test-lib: turn on GIT_TEST_CHAIN_LINT by default - - Will merge to 'next'. - - -* mg/status-v-v (2015-04-23) 1 commit - (merged to 'next' on 2015-04-25 at cbcaca4) - + status: document the -v/--verbose option - - Will merge to 'master'. - - -* mh/ref-lock-avoid-running-out-of-fds (2015-04-25) 8 commits - - ref_transaction_commit(): only keep one lockfile open at a time - - ref_transaction_commit(): remove the local flags variables - - write_ref_sha1(): inline function at callers - - commit_ref_update(): new function, extracted from write_ref_sha1() - - write_ref_to_lockfile(): new function, extracted from write_ref_sha1() - - refs.c: remove lock_fd from struct ref_lock - - t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE - - update-ref: test handling large transactions properly - (this branch is tangled with sb/ref-lock-avoid-running-out-of-fds.) - - "git update-ref --stdin" was converted to be "transactional" some - time ago, but the ref transaction machinery was not prepared to - handle many refs, primarily because it tried to keep the loose ref - files open at the same time, which would cause us to hit the ENFILE - limit. Fix the ref_transaction_commit() code not to keep the file - descriptors open unnecessarily. - - We would probably want to apply the fix to older codebase, but this - fix is unfortunately done to apply only on v2.4.x track. - - -* nd/versioncmp-prereleases (2015-04-23) 1 commit - (merged to 'next' on 2015-04-25 at f824d7f) - + git tag: mention versionsort.prereleaseSuffix in manpage - - Will merge to 'master'. - - -* bc/connect-plink (2015-04-27) 3 commits - - connect: improve check for plink to reduce false positives - - t5601: fix quotation error leading to skipped tests - - connect: simplify SSH connection code path - (this branch uses jc/test-prereq-validate.) - - The connection initiation code for "ssh" transport tried to absorb - differences between the stock "ssh" and Putty-supplied "plink" and - its derivatives, but the logic to tell that we are using "plink" - variants were too loose and falsely triggered when "plink" appeared - anywhere in the path (e.g. "/home/me/bin/uplink/ssh"). - - Will merge to 'next'. - - -* jc/test-prereq-validate (2015-04-26) 1 commit - - test: validate prerequistes syntax - (this branch is used by bc/connect-plink.) - - Help us to find broken test script that splits the body part of the - test by mistaken use of wrong kind of quotes. - - Will merge to 'next'. - - -* fg/document-commit-message-stripping (2015-04-27) 1 commit - - Documentation: clarify how "git commit" cleans up the edited log message - - Will merge to 'next'. - --------------------------------------------------- -[Stalled] - -* mh/fdopen-with-retry (2015-03-06) 6 commits - - buffer_fdinit(): use fdopen_with_retry() - - update_info_file(): use fdopen_with_retry() - - copy_to_log(): use fdopen_with_retry() - - fdopen_lock_file(): use fdopen_with_retry() - - SQUASH??? $gmane/264889 - - xfdopen(): if first attempt fails, free memory and try again - - Various parts of the code where they call fdopen() can fail when - they run out of memory; attempt to proceed by retrying the - operation after freeing some resource. - - Waiting for further comments. - - -* nd/untracked-cache (2015-03-12) 24 commits - - git-status.txt: advertisement for untracked cache - - untracked cache: guard and disable on system changes - - mingw32: add uname() - - t7063: tests for untracked cache - - update-index: test the system before enabling untracked cache - - update-index: manually enable or disable untracked cache - - status: enable untracked cache - - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE - - untracked cache: mark index dirty if untracked cache is updated - - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS - - untracked cache: avoid racy timestamps - - read-cache.c: split racy stat test to a separate function - - untracked cache: invalidate at index addition or removal - - untracked cache: load from UNTR index extension - - untracked cache: save to an index extension - - ewah: add convenient wrapper ewah_serialize_strbuf() - - untracked cache: don't open non-existent .gitignore - - untracked cache: mark what dirs should be recursed/saved - - untracked cache: record/validate dir mtime and reuse cached output - - untracked cache: make a wrapper around {open,read,close}dir() - - untracked cache: invalidate dirs recursively if .gitignore changes - - untracked cache: initial untracked cache validation - - untracked cache: record .gitignore information and dir hierarchy - - dir.c: optionally compute sha-1 of a .gitignore file - - Need extra sets of eyes to review this. - - -* jc/diff-b-m (2015-02-23) 5 commits - . WIPWIP - . WIP: diff-b-m - - diffcore-rename: allow easier debugging - - diffcore-rename.c: add locate_rename_src() - - diffcore-break: allow debugging + implementation of "git pull" script; the old style syntax can now + be deprecated. - "git diff -B -M" produced incorrect patch when the postimage of a - completely rewritten file is similar to the preimage of a removed - file; such a resulting file must not be expressed as a rename from - other place. - The fix in this patch is broken, unfortunately. +* jc/merge-drop-old-syntax (2015-04-29) 1 commit + - merge: drop 'git merge HEAD ' syntax + (this branch uses jc/merge.) + Stop supporting "git merge HEAD " syntax that + has been deprecated since October 2007. -* pw/remote-set-url-fetch (2014-11-26) 1 commit - - remote: add --fetch and --both options to set-url - Expecting a reroll. +* jk/test-chain-lint (2015-04-28) 2 commits + - test-lib: turn on GIT_TEST_CHAIN_LINT by default + - t7502-commit.sh: fix a broken and-chain + Will merge to 'next'. -* tr/remerge-diff (2014-11-10) 9 commits - - t4213: avoid "|" in sed regexp - - log --remerge-diff: show what the conflict resolution changed - - name-hash: allow dir hashing even when !ignore_case - - merge-recursive: allow storing conflict hunks in index - - merge_diff_mode: fold all merge diff variants into an enum - - combine-diff: do not pass revs->dense_combined_merges redundantly - - merge-recursive: -Xindex-only to leave worktree unchanged - - merge-recursive: internal flag to avoid touching the worktree - - merge-recursive: remove dead conditional in update_stages() - "log -p" output learns a new way to let users inspect a merge - commit by showing the differences between the automerged result - with conflicts the person who recorded the merge would have seen - and the final conflict resolution that was recorded in the merge. +* mh/ref-lock-avoid-running-out-of-fds (2015-04-25) 8 commits + - ref_transaction_commit(): only keep one lockfile open at a time + - ref_transaction_commit(): remove the local flags variables + - write_ref_sha1(): inline function at callers + - commit_ref_update(): new function, extracted from write_ref_sha1() + - write_ref_to_lockfile(): new function, extracted from write_ref_sha1() + - refs.c: remove lock_fd from struct ref_lock + - t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE + - update-ref: test handling large transactions properly + (this branch is tangled with sb/ref-lock-avoid-running-out-of-fds.) - Waiting for a reroll ($gmane/256591). + "git update-ref --stdin" was converted to be "transactional" some + time ago, but the ref transaction machinery was not prepared to + handle many refs, primarily because it tried to keep the loose ref + files open at the same time, which would cause us to hit the ENFILE + limit. Fix the ref_transaction_commit() code not to keep the file + descriptors open unnecessarily. + We would probably want to apply the fix to older codebase, but this + fix is unfortunately done to apply only on v2.4.x track. -* hv/submodule-config (2014-11-11) 4 commits - - do not die on error of parsing fetchrecursesubmodules option - - use new config API for worktree configurations of submodules - - extract functions for submodule config set and lookup - - implement submodule config cache for lookup of submodule names - Kicked back to 'pu' per request ($gmane/255610). +* bc/connect-plink (2015-04-28) 3 commits + - connect: improve check for plink to reduce false positives + - t5601: fix quotation error leading to skipped tests + - connect: simplify SSH connection code path + The connection initiation code for "ssh" transport tried to absorb + differences between the stock "ssh" and Putty-supplied "plink" and + its derivatives, but the logic to tell that we are using "plink" + variants were too loose and falsely triggered when "plink" appeared + anywhere in the path (e.g. "/home/me/bin/uplink/ssh"). -* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits - - perf-lib: add test_perf_cleanup target - - perf-lib: split starting the test from the execution + Will merge to 'next'. - Add test_perf_cleanup shell function to the perf suite, that allows - the script writers to define a test with a clean-up action. - Will hold. +* jc/test-prereq-validate (2015-04-28) 1 commit + - test: validate prerequistes syntax + Help us to find broken test script that splits the body part of the + test by mistaken use of wrong kind of quotes. -* jc/show-branch (2014-03-24) 5 commits - - show-branch: use commit slab to represent bitflags of arbitrary width - - show-branch.c: remove "all_mask" - - show-branch.c: abstract out "flags" operation - - show-branch.c: lift all_mask/all_revs to a global static - - show-branch.c: update comment style + Will merge to 'next'. - Waiting for the final step to lift the hard-limit. --------------------------------------------------- -[Cooking] +* fg/document-commit-message-stripping (2015-04-27) 1 commit + - Documentation: clarify how "git commit" cleans up the edited log message + + Will merge to 'next'. + * ah/usage-strings (2015-04-02) 2 commits - branch: fix funny-sounding error message @@ -528,22 +713,6 @@ of the repositories listed at Will merge to 'master' in the second batch of post v2.4 cycle. -* kk/log-merges-config (2015-04-21) 5 commits - - bash-completion: add support for git-log --merges= and log.merges - - t4202-log: add tests for --merges= - - Documentation: add git-log --merges= option and log.merges config. var - - log: honor log.merges= option - - revision: add --merges={show|only|hide} option - - "git log" (but not other commands in the "log" family) learned to - pay attention to the log.merges configuration variable that can be - set to "show" (the normal behaviour), "only" (hide non-merge - commits), or "hide" (hide merge commits). --merges=(show|only|hide) - can be used to override the setting from the command line. - - The documentation may need to be updated once more. - - * kn/cat-file-literally (2015-04-15) 5 commits - SQUASH??? - t1006: add tests for git cat-file --literally @@ -554,7 +723,8 @@ of the repositories listed at Add the "--literally" option to "cat-file" to allow inspecting loose objects of an experimental or a broken type. - This is v8 $gmane/267213; getting closer to the final, I would say. + This is v8 $gmane/267213; v9 was posted but it will still needs reroll. + Waiting for reroll. * ld/p4-filetype-detection (2015-04-04) 3 commits @@ -566,13 +736,6 @@ of the repositories listed at Will merge to 'master' in the first batch of post v2.4 cycle. -* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits - - t/lib-git-svn: check same httpd module dirs as lib-httpd - - t/lib-httpd: load mod_unixd - - This is the first two commits in a three-patch series $gmane/266962 - - * lm/squelch-bg-progress (2015-04-15) 2 commits (merged to 'next' on 2015-04-21 at 9a8b1e9) + compat/mingw: stubs for getpgid() and tcgetpgrp() @@ -599,22 +762,7 @@ of the repositories listed at git p4 attempts to better handle branches in Perforce. - Will merge to 'master'. - - -* jk/at-push-sha1 (2015-03-31) 6 commits - - sha1_name: implement @{push} shorthand - - sha1_name: refactor upstream_mark - - remote.c: provide per-branch pushremote name - - remote.c: hoist branch.*.remote lookup out of remote_get_1 - - remote.c: drop "remote" pointer from "struct branch" - - remote.c: drop default_remote_name variable - - Introduce @{push} short-hand to denote the remote-tracking - branch that tracks the branch at the remote the would be - pushed to. - - Waiting for a reroll ($gmane/266573). + Will merge to 'master' in the third batch of post v2.4 cycle. * jk/sha1-file-reduce-useless-warnings (2015-03-30) 1 commit @@ -680,20 +828,6 @@ of the repositories listed at Will cook in 'next'. -* pt/xdg-config-path (2015-04-12) 7 commits - - path.c: remove home_config_paths() - - git-config: replace use of home_config_paths() - - git-commit: replace use of home_config_paths() - - credential-store.c: replace home_config_paths() with xdg_config_home() - - dir.c: replace home_config_paths() with xdg_config_home() - - attr.c: replace home_config_paths() with xdg_config_home() - - path.c: implement xdg_config_home() - (this branch uses pt/credential-xdg.) - - Seen some discussions. - Waiting for a reroll ($gmane/267518). - - * jc/diff-no-index-d-f (2015-03-26) 2 commits (merged to 'next' on 2015-03-27 at 1f270f9) + diff-no-index: align D/F handling with that of normal Git @@ -728,55 +862,6 @@ of the repositories listed at Will cook in 'next', as this brings in a new world order. -* mh/numparse (2015-03-19) 14 commits - - diff_opt_parse(): use convert_i() when handling --abbrev= - - diff_opt_parse(): use convert_i() when handling "-l" - - opt_arg(): simplify pointer handling - - opt_arg(): report errors parsing option values - - opt_arg(): use convert_i() in implementation - - opt_arg(): val is always non-NULL - - builtin_diff(): detect errors when parsing --unified argument - - handle_revision_opt(): use convert_ui() when handling "--abbrev=" - - strtoul_ui(), strtol_i(): remove functions - - handle_revision_opt(): use convert_i() when handling "-" - - handle_revision_opt(): use skip_prefix() in many places - - write_subdirectory(): use convert_ui() for parsing mode - - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo" - - numparse: new module for parsing integral numbers - - Many codepaths use unchecked use of strtol() and friends (or even - worse, atoi()). Introduce a set of wrappers that try to be more - careful. - - Waiting for a reroll ($gmane/266209). - - -* tf/gitweb-project-listing (2015-03-19) 5 commits - - gitweb: make category headings into links when they are directories - - gitweb: optionally set project category from its pathname - - gitweb: add a link under the search box to clear a project filter - - gitweb: if the PATH_INFO is incomplete, use it as a project_filter - - gitweb: fix typo in man page - - Update gitweb to make it more pleasant to deal with a hierarchical - forest of repositories. - - Any comments from those who use or have their own code in Gitweb? - - -* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit - - "-" and "@{-1}" on various programs - - Lose special case code to make a lone dash "-" mean the previous - branch aka "@{-1}" from a handful subcommands, and instead support - the notation throughout the system by reimplementing it at the - revisions layer. - - Needs tests, documentation updates, etc. Also does only a half-way - job dealing with range notation, which needs to be fixed before the - series goes anywhere. - - * bc/object-id (2015-03-13) 10 commits (merged to 'next' on 2015-03-24 at 3ec4f83) + apply: convert threeway_stage to object_id @@ -795,9 +880,7 @@ of the repositories listed at of hardcoded 20 as byte count and/or (2) use struct object_id instead of unsigned char [20] for object names. - Will cook in 'next'. - Also waiting for reviews on the follow-up series ($gmane/265939) - that seems to have seen no interest X-<. + Will merge to 'master' in the first batch of post v2.4 cycle. * nd/slim-index-pack-memory-usage (2015-04-18) 2 commits @@ -811,65 +894,6 @@ of the repositories listed at Will merge to 'master' in the second batch of post v2.4 cycle. -* nd/list-files (2015-02-09) 21 commits - - t3080: tests for git-list-files - - list-files: -M aka diff-cached - - list-files -F: show submodules with the new indicator '&' - - list-files: add -F/--classify - - list-files: show directories as well as files - - list-files: do not show duplicate cached entries - - list-files: sort output and remove duplicates - - list-files: add -t back - - list-files: add -1 short for --no-column - - list-files: add -R/--recursive short for --max-depth=-1 - - list-files: -u does not imply showing stages - - list-files: make alias 'ls' default to 'list-files' - - list-files: a user friendly version of ls-files and more - - ls-files: support --max-depth - - ls-files: add --column - - ls-files: add --color to highlight file names - - ls-files: buffer full item in strbuf before printing - - ls_colors.c: highlight submodules like directories - - ls_colors.c: add a function to color a file name - - ls_colors.c: parse color.ls.* from config file - - ls_colors.c: add $LS_COLORS parsing code - - A new "git list-files" Porcelain command, "ls-files" with bells and - whistles. - - Reroll to base on wt-status work ($gmane/265142) has seen some - positive discussions. - - Waiting for a further polished reroll ($gmane/265534). - - -* js/fsck-opt (2015-01-21) 19 commits - - fsck: support ignoring objects in `git fsck` via fsck.skiplist - - fsck: git receive-pack: support excluding objects from fsck'ing - - fsck: introduce `git fsck --quick` - - fsck: support demoting errors to warnings - - fsck: document the new receive.fsck.* options - - fsck: allow upgrading fsck warnings to errors - - fsck: optionally ignore specific fsck issues completely - - fsck: disallow demoting grave fsck errors to warnings - - fsck: add a simple test for receive.fsck.* - - fsck: make fsck_tag() warn-friendly - - fsck: handle multiple authors in commits specially - - fsck: make fsck_commit() warn-friendly - - fsck: make fsck_ident() warn-friendly - - fsck: report the ID of the error/warning - - fsck: allow demoting errors to warnings via receive.fsck.warn = - - fsck: offer a function to demote fsck errors to warnings - - fsck: provide a function to parse fsck message IDs - - fsck: introduce identifiers for fsck messages - - fsck: introduce fsck options - - "fsck.warnings = " I suggested turned out to - be an unpopular choice (sorry Dscho). - - Expecting a reroll. - - * nd/multiple-work-trees (2015-03-31) 41 commits (merged to 'next' on 2015-04-02 at 7ea51b4) + prune --worktrees: fix expire vs worktree existence condition @@ -951,13 +975,3 @@ of the repositories listed at October 2007. This regresses "git pull" in various ways; do not merge ($gmane/267432). - - -* jc/merge-drop-old-syntax (2015-04-25) 1 commit - - merge: drop 'git merge HEAD ' syntax - (this branch uses jc/merge.) - - Stop supporting "git merge HEAD " syntax that - has been deprecated since October 2007. - - This regresses "git pull" in various ways; do not merge ($gmane/267432). -- 2.11.4.GIT