To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Aug 2015, #05; Fri, 28)
-X-master-at: aecce6d0eff68a7144e32247d2e02d9974772ab1
-X-next-at: bcd55f746af0c6584187e548b53df1562e68a14d
+Subject: What's cooking in git.git (Aug 2015, #06; Mon, 31)
+X-master-at: 16163602bacb2804d00d599049a62b7af0b0b7b6
+X-next-at: 7a4f88f1005d1360c4762c403490bf540d65766b
-What's cooking in git.git (Aug 2015, #05; Fri, 28)
+What's cooking in git.git (Aug 2015, #06; Mon, 31)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.
+A handful of topics have been merged to 'master'. Because there
+still are a few obviously good and trivially safe fixes cooking in
+'next', it would be pretty much meaningless to tag today's state
+as -rc0 (not that -rc0 has meant that much in the first place), so
+I'll wait for a few days and merge the remaining such topics from
+'next' to 'master' and then tag the -rc0.
+
You can find the changes described here in the integration branches
of the repositories listed at
--------------------------------------------------
[Graduated to "master"]
-* as/docfix-reflog-expire-unreachable (2015-08-21) 1 commit
- (merged to 'next' on 2015-08-25 at eb75d55)
- + Documentation/config: fix inconsistent label on gc.*.reflogExpireUnreachable
-
- Docfix.
-
-
-* cc/trailers-corner-case-fix (2015-08-21) 1 commit
- (merged to 'next' on 2015-08-25 at ac25d80)
- + trailer: ignore first line of message
-
- "interpret-trailers" helper mistook a single-liner log message that
- has a colon as the end of existing trailer.
-
-
-* dt/untracked-sparse (2015-08-19) 1 commit
- (merged to 'next' on 2015-08-25 at 2501a7e)
- + t7063: use --force-untracked-cache to speed up a bit
- (this branch is used by dt/untracked-subdir.)
-
- Test update.
-
-
-* dt/untracked-subdir (2015-08-19) 2 commits
- (merged to 'next' on 2015-08-25 at ab4fd04)
- + untracked cache: fix entry invalidation
- + untracked-cache: fix subdirectory handling
- (this branch uses dt/untracked-sparse.)
+* db/push-sign-if-asked (2015-08-19) 9 commits
+ (merged to 'next' on 2015-08-26 at a7a32e9)
+ + push: add a config option push.gpgSign for default signed pushes
+ + push: support signing pushes iff the server supports it
+ + builtin/send-pack.c: use parse_options API
+ + config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
+ + transport: remove git_transport_options.push_cert
+ + gitremote-helpers.txt: document pushcert option
+ + Documentation/git-send-pack.txt: document --signed
+ + Documentation/git-send-pack.txt: wrap long synopsis line
+ + Documentation/git-push.txt: document when --signed may fail
- The experimental untracked-cache feature were buggy when paths with
- a few levels of subdirectories are involved.
+ The client side codepaths in "git push" have been cleaned up
+ and the user can request to perform an optional "signed push",
+ i.e. sign only when the other end accepts signed push.
-* ep/http-configure-ssl-version (2015-08-17) 1 commit
- (merged to 'next' on 2015-08-19 at aab726b)
- + http: add support for specifying the SSL version
+* hv/submodule-config (2015-08-19) 4 commits
+ (merged to 'next' on 2015-08-25 at 82adb30)
+ + submodule: allow erroneous values for the fetchRecurseSubmodules option
+ + submodule: use new config API for worktree configurations
+ + submodule: extract functions for config set and lookup
+ + submodule: implement a config API for lookup of .gitmodules values
+ (this branch is used by sb/submodule-helper.)
- A new configuration variable http.sslVersion can be used to specify
- what specific version of SSL/TLS to use to make a connection.
+ The gitmodules API accessed from the C code learned to cache stuff
+ lazily.
-* jc/calloc-pathspec (2015-08-20) 1 commit
- (merged to 'next' on 2015-08-25 at 877490c)
- + ps_matched: xcalloc() takes nmemb and then element size
+* jc/am-state-fix (2015-08-25) 5 commits
+ (merged to 'next' on 2015-08-25 at 4efcd88)
+ + write_file(): drop caller-supplied LF from calls to create a one-liner file
+ + write_file_v(): do not leave incomplete line at the end
+ + write_file(): drop "fatal" parameter
+ + builtin/am: make sure state files are text
+ + builtin/am: introduce write_state_*() helper functions
- Minor code cleanup.
+ Recent reimplementation of "git am" changed the format of state
+ files kept in $GIT_DIR/rebase-apply/ without meaning to do so,
+ primarily because write_file() API was cumbersome to use and it was
+ easy to mistakenly make text files with incomplete lines. Update
+ write_file() interface to make it harder to misuse.
-* jv/send-email-selective-smtp-auth (2015-08-17) 1 commit
- (merged to 'next' on 2015-08-19 at 3f0c693)
- + send-email: provide whitelist of SMTP AUTH mechanisms
+* jc/log-p-cc (2015-08-25) 4 commits
+ (merged to 'next' on 2015-08-25 at 2d6a6d4)
+ + builtin/log.c: minor reformat
+ + log: show merge commit when --cc is given
+ + log: when --cc is given, default to -p unless told otherwise
+ + log: rename "tweak" helpers
- "git send-email" learned a new option --smtp-auth to limit the SMTP
- AUTH mechanisms to be used to a subset of what the system library
- supports.
+ "git log --cc" did not show any patch, even though most of the time
+ the user meant "git log --cc -p -m" to see patch output for commits
+ with a single parent, and combined diff for merge commits. The
+ command is taught to DWIM "--cc" (without "--raw" and other forms
+ of output specification) to "--cc -p -m".
-* po/po-readme (2015-08-17) 1 commit
- (merged to 'next' on 2015-08-19 at 1899e59)
- + po/README: Update directions for l10n contributors
+* jk/fix-alias-pager-config-key-warnings (2015-08-24) 1 commit
+ (merged to 'next' on 2015-08-25 at 89eac5a)
+ + config: silence warnings for command names with invalid keys
- Doc updates for i18n.
+ Because the configuration system does not allow "alias.0foo" and
+ "pager.0foo" as the configuration key, the user cannot use '0foo'
+ as a custom command name anyway, but "git 0foo" tried to look these
+ keys up and emitted useless warnings before saying '0foo is not a
+ git command'. These warning messages have been squelched.
-* pt/am-builtin-abort-fix (2015-08-19) 1 commit
- (merged to 'next' on 2015-08-19 at 729e682)
- + am --skip/--abort: merge HEAD/ORIG_HEAD tree into index
+* jk/notes-merge-config (2015-08-17) 6 commits
+ (merged to 'next' on 2015-08-26 at 6dd2286)
+ + notes: teach git-notes about notes.<name>.mergeStrategy option
+ + notes: add notes.mergeStrategy option to select default strategy
+ + notes: add tests for --commit/--abort/--strategy exclusivity
+ + notes: extract parse_notes_merge_strategy to notes-utils
+ + notes: extract enum notes_merge_strategy to notes-utils.h
+ + notes: document cat_sort_uniq rewriteMode
- "git am" that was recently reimplemented in C had a performance
- regression in "git am --abort" that goes back to the version before
- an attempted (and failed) patch application.
+ "git notes merge" can be told with "--strategy=<how>" option how to
+ automatically handle conflicts; this can now be configured by
+ setting notes.mergeStrategy configuration variable.
-* sg/help-group (2015-08-25) 1 commit
- (merged to 'next' on 2015-08-25 at 907e5a8)
- + generate-cmdlist: re-implement as shell script
+* jk/rev-list-has-no-notes (2015-08-24) 1 commit
+ (merged to 'next' on 2015-08-25 at 73cb2ad)
+ + rev-list: make it obvious that we do not support notes
- We rewrote one of the build scripts in Perl but this reimplements
- in Bourne shell.
+ "git rev-list" does not take "--notes" option, but did not complain
+ when one is given.
-* sg/t3020-typofix (2015-08-20) 1 commit
- (merged to 'next' on 2015-08-25 at 051d6c0)
- + t3020: fix typo in test description
+* sg/config-name-only (2015-08-20) 6 commits
+ (merged to 'next' on 2015-08-25 at 6cb3b7d)
+ + get_urlmatch: avoid useless strbuf write
+ + format_config: simplify buffer handling
+ + format_config: don't init strbuf
+ + config: restructure format_config() for better control flow
+ (merged to 'next' on 2015-08-12 at c658fe4)
+ + completion: list variable names reliably with 'git config --name-only'
+ + config: add '--name-only' option to list only variable names
+ "git config --list" output was hard to parse when values consist of
+ multiple lines. "--name-only" option is added to help this.
-* sg/wt-status-header-inclusion (2015-08-21) 1 commit
- (merged to 'next' on 2015-08-25 at fa5b2b2)
- + wt-status: move #include "pathspec.h" to the header
+* sg/describe-contains (2015-08-25) 1 commit
+ (merged to 'next' on 2015-08-26 at a7c66d9)
+ + describe --contains: default to HEAD when no commit-ish is given
-* ss/fix-config-fd-leak (2015-08-14) 1 commit
- (merged to 'next' on 2015-08-19 at 80d4880)
- + config: close config file handle in case of error
+ "git describe" without argument defaulted to describe the HEAD
+ commit, but "git describe --contains" didn't. Arguably, in a
+ repository used for active development, such defaulting would not
+ be very useful as the tip of branch is typically not tagged, but it
+ is better to be consistent.
--------------------------------------------------
[New Topics]
-* ah/pack-objects-usage-strings (2015-08-28) 1 commit
- - pack-objects: place angle brackets around placeholders in usage strings
-
- Usage string fix.
-
- Will merge to 'next'.
-
-
-* ah/read-tree-usage-string (2015-08-28) 1 commit
- - read-tree: replace bracket set with parentheses to clarify usage
-
- Usage string fix.
-
- Will merge to 'next'.
-
-
-* ah/reflog-typofix-in-error (2015-08-28) 1 commit
- - reflog: add missing single quote to error message
-
- Error string fix.
-
- Will merge to 'next'.
-
-
-* ah/submodule-typofix-in-error (2015-08-28) 1 commit
- - git-submodule: remove extraneous space from error message
+* ah/show-ref-usage-string (2015-08-31) 1 commit
+ - show-ref: place angle brackets around variables in usage string
- Error string fix.
+ Both "git show-ref -h" and "git show-ref --help" illustrated that the
+ "--exclude-existing" option makes the command read list of refs
+ from its standard input. Change only the "show-ref -h" output to
+ have a pair of "<>" around the placeholder that designate an input
+ file, i.e. "git show-ref --exclude-existing < <ref-list>".
- Will merge to 'next'.
+* cc/trailers-corner-case-fix (2015-08-31) 1 commit
+ - trailer: support multiline title
-* br/svn-doc-include-paths-config (2015-08-26) 1 commit
- - git-svn doc: mention "svn-remote.<name>.include-paths"
+ The "interpret-trailers" helper mistook a multi-paragraph title of
+ a commit log message with a colon in it as the end of the trailer
+ block.
Will merge to 'next'.
-* dt/commit-preserve-base-index-upon-opportunistic-cache-tree-update (2015-08-28) 1 commit
- - commit: don't rewrite shared index unnecessarily
-
- When re-priming the cache-tree opportunistically while committing
- the in-core index as-is, we mistakenly invalidated the in-core
- index too aggressively, causing the experimental split-index code
- to unnecessarily rewrite the on-disk index file(s).
+* ee/clean-test-fixes (2015-08-31) 1 commit
+ - t7300: fix broken && chains
Will merge to 'next'.
-* dt/refs-bisection (2015-08-28) 5 commits
- - bisect: make bisection refs per-worktree
- - refs: make refs/worktree/* per-worktree
+* jk/date-local (2015-08-31) 3 commits
- SQUASH???
- - path: optimize common dir checking
- - refs: clean up common_list
+ - date: make "local" orthogonal to date format
+ - fast-import: switch crash-report date to iso8601
- Move the refs used during a "git bisect" session to per-worktree
- hierarchy refs/worktree/* so that independent bisect sessions can
- be done in different worktrees.
+ "git log --date=local" used to only allow to show the normal
+ (default) format in the local timezone. The command learned to take
+ 'local' as an instruction to use the local timezone with other
+ formats, e.g. "git show --date=rfc-local".
- Will merge to 'next' after squashing the update in.
+* nk/stash-show-config (2015-08-31) 1 commit
+ - stash: allow "stash show" diff output configurable
-* ld/p4-import-labels (2015-08-28) 3 commits
- - git-p4: fix P4 label import for unprocessed commits
- - git-p4: do not terminate creating tag for unknown commit
- - git-p4: failing test for ignoring invalid p4 labels
-
+ Users who are too busy to type three extra keystrokes to ask for
+ "git stash show -p" can now set stash.showPatch configuration
+ varible to true to always see the actual patch, not just the list
+ of paths affected with feel for the extent of damage via diffstat.
-* ls/p4-fold-case-client-specs (2015-08-28) 1 commit
- - git-p4: honor core.ignorecase when using P4 client specs
- On case insensitive systems, "git p4" did not work well with client
- specs.
+* sb/read-cache-one-indent-style-fix (2015-08-31) 1 commit
+ - read-cache: fix indentation in read_index_from
Will merge to 'next'.
-* rs/archive-zip-many (2015-08-28) 3 commits
- - archive-zip: support more than 65535 entries
- - archive-zip: use a local variable to store the creator version
- - t5004: test ZIP archives with many entries
- "git archive" did not use zip64 extension when creating an archive
- with more than 64k entries, which nobody should need, right ;-)?
-
- Will merge to 'next'.
-
-
-* rt/remove-hold-lockfile-for-append (2015-08-28) 1 commit
- - lockfile: remove function "hold_lock_file_for_append"
+* ls/p4-path-encoding (2015-08-31) 1 commit
+ - git-p4: add "--path-encoding" option
- Will merge to 'next'.
+ "git p4" learned to reencode the pathname it uses to communicate
+ with the p4 depot with a new option.
--------------------------------------------------
[Stalled]
Waiting for a reroll.
-* jk/log-missing-default-HEAD (2015-06-03) 1 commit
- - log: diagnose empty HEAD more clearly
-
- "git init empty && git -C empty log" said "bad default revision 'HEAD'",
- which was found to be a bit confusing to new users.
-
- What's the status of this one?
-
-
* wp/sha1-name-negative-match (2015-06-08) 2 commits
- sha1_name.c: introduce '^{/!-<negative pattern>}' notation
- test for '!' handling in rev-parse's named commits
($gmane/272180).
-* ad/bisect-terms (2015-08-03) 4 commits
- - bisect: allow setting any user-specified in 'git bisect start'
- - bisect: add 'git bisect terms' to view the current terms
- - bisect: add the terms old/new
- - bisect: sanity check on terms
-
- The use of 'good/bad' in "git bisect" made it confusing to use when
- hunting for a state change that is not a regression (e.g. bugfix).
- The command learned 'old/new' and then allows the end user to
- say e.g. "bisect start --term-old=fast --term=new=slow" to find a
- performance regression.
-
- Michael's idea to make 'good/bad' more intelligent does have
- certain attractiveness ($gname/272867), and makes some of the work
- on this topic a moot point.
-
- Will hold.
-
-
* mh/notes-allow-reading-treeish (2015-07-13) 1 commit
- notes: allow treeish expressions as notes ref
--------------------------------------------------
[Cooking]
-* jc/am-state-fix (2015-08-25) 5 commits
- (merged to 'next' on 2015-08-25 at 4efcd88)
- + write_file(): drop caller-supplied LF from calls to create a one-liner file
- + write_file_v(): do not leave incomplete line at the end
- + write_file(): drop "fatal" parameter
- + builtin/am: make sure state files are text
- + builtin/am: introduce write_state_*() helper functions
+* ad/bisect-terms (2015-08-03) 4 commits
+ - bisect: allow setting any user-specified in 'git bisect start'
+ - bisect: add 'git bisect terms' to view the current terms
+ - bisect: add the terms old/new
+ - bisect: sanity check on terms
+
+ The use of 'good/bad' in "git bisect" made it confusing to use when
+ hunting for a state change that is not a regression (e.g. bugfix).
+ The command learned 'old/new' and then allows the end user to
+ say e.g. "bisect start --term-old=fast --term=new=slow" to find a
+ performance regression.
+
+ Michael's idea to make 'good/bad' more intelligent does have
+ certain attractiveness ($gname/272867), and makes some of the work
+ on this topic a moot point.
+
+ Will merge to 'next'.
+
+
+* jk/log-missing-default-HEAD (2015-08-31) 1 commit
+ - log: diagnose empty HEAD more clearly
+
+ "git init empty && git -C empty log" said "bad default revision 'HEAD'",
+ which was found to be a bit confusing to new users.
+
+ Will merge to 'next'.
- Recent reimplementation of "git am" changed the format of state
- files kept in $GIT_DIR/rebase-apply/ without meaning to do so,
- primarily because write_file() API was cumbersome to use and it was
- easy to mistakenly make text files with incomplete lines. Update
- write_file() interface to make it harder to misuse.
+
+* ah/pack-objects-usage-strings (2015-08-28) 1 commit
+ (merged to 'next' on 2015-08-31 at 78c8240)
+ + pack-objects: place angle brackets around placeholders in usage strings
+
+ Usage string fix.
Will merge to 'master'.
-* jc/log-p-cc (2015-08-25) 4 commits
- (merged to 'next' on 2015-08-25 at 2d6a6d4)
- + builtin/log.c: minor reformat
- + log: show merge commit when --cc is given
- + log: when --cc is given, default to -p unless told otherwise
- + log: rename "tweak" helpers
+* ah/read-tree-usage-string (2015-08-28) 1 commit
+ (merged to 'next' on 2015-08-31 at fbaa7bd)
+ + read-tree: replace bracket set with parentheses to clarify usage
- "git log --cc" did not show any patch, even though most of the time
- the user meant "git log --cc -p -m" to see patch output for commits
- with a single parent, and combined diff for merge commits. The
- command is taught to DWIM "--cc" (without "--raw" and other forms
- of output specification) to "--cc -p -m".
+ Usage string fix.
Will merge to 'master'.
-* jk/fix-alias-pager-config-key-warnings (2015-08-24) 1 commit
- (merged to 'next' on 2015-08-25 at 89eac5a)
- + config: silence warnings for command names with invalid keys
+* ah/reflog-typofix-in-error (2015-08-28) 1 commit
+ (merged to 'next' on 2015-08-31 at 1b37218)
+ + reflog: add missing single quote to error message
- Because the configuration system does not allow "alias.0foo" and
- "pager.0foo" as the configuration key, the user cannot use '0foo'
- as a custom command name anyway, but "git 0foo" tried to look these
- keys up and emitted useless warnings before saying '0foo is not a
- git command'. These warning messages have been squelched.
+ Error string fix.
Will merge to 'master'.
-* jk/rev-list-has-no-notes (2015-08-24) 1 commit
- (merged to 'next' on 2015-08-25 at 73cb2ad)
- + rev-list: make it obvious that we do not support notes
+* ah/submodule-typofix-in-error (2015-08-28) 1 commit
+ (merged to 'next' on 2015-08-31 at 5a20628)
+ + git-submodule: remove extraneous space from error message
- "git rev-list" does not take "--notes" option, but did not complain
- when one is given.
+ Error string fix.
+
+ Will merge to 'master'.
+
+
+* br/svn-doc-include-paths-config (2015-08-26) 1 commit
+ (merged to 'next' on 2015-08-31 at 27a305f)
+ + git-svn doc: mention "svn-remote.<name>.include-paths"
+
+ Will merge to 'master'.
+
+
+* dt/commit-preserve-base-index-upon-opportunistic-cache-tree-update (2015-08-31) 1 commit
+ (merged to 'next' on 2015-08-31 at c4133fb)
+ + commit: don't rewrite shared index unnecessarily
+
+ When re-priming the cache-tree opportunistically while committing
+ the in-core index as-is, we mistakenly invalidated the in-core
+ index too aggressively, causing the experimental split-index code
+ to unnecessarily rewrite the on-disk index file(s).
+
+ Will merge to 'master'.
+
+
+* dt/refs-bisection (2015-08-31) 5 commits
+ - bisect: make bisection refs per-worktree
+ - refs: make refs/worktree/* per-worktree
+ - SQUASH???
+ - path: optimize common dir checking
+ - refs: clean up common_list
+
+ Move the refs used during a "git bisect" session to per-worktree
+ hierarchy refs/worktree/* so that independent bisect sessions can
+ be done in different worktrees.
+
+ $gmane/276765. We do not need to move (which can break third-party
+ tools) in order to make the hierarchy per-worktree.
+
+
+* ld/p4-import-labels (2015-08-28) 3 commits
+ - git-p4: fix P4 label import for unprocessed commits
+ - git-p4: do not terminate creating tag for unknown commit
+ - git-p4: failing test for ignoring invalid p4 labels
+
+ Will merge to 'next'.
+
+
+* ls/p4-fold-case-client-specs (2015-08-28) 1 commit
+ (merged to 'next' on 2015-08-31 at f25a3bd)
+ + git-p4: honor core.ignorecase when using P4 client specs
+
+ On case insensitive systems, "git p4" did not work well with client
+ specs.
+
+ Will merge to 'master'.
+
+
+* rs/archive-zip-many (2015-08-28) 3 commits
+ (merged to 'next' on 2015-08-31 at b799358)
+ + archive-zip: support more than 65535 entries
+ + archive-zip: use a local variable to store the creator version
+ + t5004: test ZIP archives with many entries
+
+ "git archive" did not use zip64 extension when creating an archive
+ with more than 64k entries, which nobody should need, right ;-)?
+
+ Will merge to 'master'.
+
+
+* rt/remove-hold-lockfile-for-append (2015-08-28) 1 commit
+ (merged to 'next' on 2015-08-31 at caabe4b)
+ + lockfile: remove function "hold_lock_file_for_append"
Will merge to 'master'.
Waiting for a reroll.
-* sg/describe-contains (2015-08-25) 1 commit
- (merged to 'next' on 2015-08-26 at a7c66d9)
- + describe --contains: default to HEAD when no commit-ish is given
-
- "git describe" without argument defaulted to describe the HEAD
- commit, but "git describe --contains" didn't. Arguably, in a
- repository used for active development, such defaulting would not
- be very useful as the tip of branch is typically not tagged, but it
- is better to be consistent.
-
- Will merge to 'master'.
-
-
-* db/push-sign-if-asked (2015-08-19) 9 commits
- (merged to 'next' on 2015-08-26 at a7a32e9)
- + push: add a config option push.gpgSign for default signed pushes
- + push: support signing pushes iff the server supports it
- + builtin/send-pack.c: use parse_options API
- + config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
- + transport: remove git_transport_options.push_cert
- + gitremote-helpers.txt: document pushcert option
- + Documentation/git-send-pack.txt: document --signed
- + Documentation/git-send-pack.txt: wrap long synopsis line
- + Documentation/git-push.txt: document when --signed may fail
-
- The client side codepaths in "git push" have been cleaned up
- and the user can request to perform an optional "signed push",
- i.e. sign only when the other end accepts signed push.
-
- Will merge to 'master'.
-
-
* dk/gc-idx-wo-pack (2015-08-17) 3 commits
- DONTMERGE: log message, grace-period and tests $gmane/276058
- gc: remove stale .idx files without corresponding .pack file
($gmane/275401)
-* jk/notes-merge-config (2015-08-17) 6 commits
- (merged to 'next' on 2015-08-26 at 6dd2286)
- + notes: teach git-notes about notes.<name>.mergeStrategy option
- + notes: add notes.mergeStrategy option to select default strategy
- + notes: add tests for --commit/--abort/--strategy exclusivity
- + notes: extract parse_notes_merge_strategy to notes-utils
- + notes: extract enum notes_merge_strategy to notes-utils.h
- + notes: document cat_sort_uniq rewriteMode
-
- "git notes merge" can be told with "--strategy=<how>" option how to
- automatically handle conflicts; this can now be configured by
- setting notes.merge configuration variable.
-
- Will merge to 'master'.
-
-
-* hv/submodule-config (2015-08-19) 4 commits
- (merged to 'next' on 2015-08-25 at 82adb30)
- + submodule: allow erroneous values for the fetchRecurseSubmodules option
- + submodule: use new config API for worktree configurations
- + submodule: extract functions for config set and lookup
- + submodule: implement a config API for lookup of .gitmodules values
- (this branch is used by sb/submodule-helper.)
-
- The gitmodules API accessed from the C code learned to cache stuff
- lazily.
-
- Will merge to 'master'.
-
-
-* sb/submodule-helper (2015-08-26) 6 commits
- - submodule: helper to run foreach in parallel
- - thread-utils: add a threaded task queue
+* sb/submodule-helper (2015-08-31) 5 commits
- submodule: implement `module_clone` as a builtin helper
- submodule: implement `module_name` as a builtin helper
+ - SQUASH???
- submodule: implement `module_list` as a builtin helper
- Merge 'hv/submodule-config' to 'sb/submodule-helper'
- (this branch uses hv/submodule-config.)
The infrastructure to rewrite "git submodule" in C is being built
- incrementally. These early part looks promising.
+ incrementally. Let's polish these early parts well enough and make
+ them graduate to 'next' and 'master', so that the more involved
+ follow-up can start cooking on a solid ground.
* ad/cygwin-wants-rename (2015-08-07) 1 commit
($gmane/275680).
-* sg/config-name-only (2015-08-20) 6 commits
- (merged to 'next' on 2015-08-25 at 6cb3b7d)
- + get_urlmatch: avoid useless strbuf write
- + format_config: simplify buffer handling
- + format_config: don't init strbuf
- + config: restructure format_config() for better control flow
- (merged to 'next' on 2015-08-12 at c658fe4)
- + completion: list variable names reliably with 'git config --name-only'
- + config: add '--name-only' option to list only variable names
-
- "git config --list" output was hard to parse when values consist of
- multiple lines. "--name-only" option is added to help this.
-
- Will merge to 'master'.
-
-
* kn/for-each-tag-branch (2015-08-03) 11 commits
(merged to 'next' on 2015-08-03 at d9e94b9)
+ for-each-ref: add '--contains' option