What's cooking (2018/06 #01)

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Jun 1, 2018 at 16:17 UTC c497294dbf114501721f0e51e38ee7c991a2fee0
1 file changed +374 -612
whats-cooking.txt
+374 -612
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (May 2018, #04; Wed, 30)
4 -X-master-at: f15a486ca1dd67757cb6a3c0545dc2c6ef992bc3
5 -X-next-at: e295dfb56eed062f935757b69da965cde0bc0927
3 +Subject: What's cooking in git.git (Jun 2018, #01; Fri, 1)
4 +X-master-at: c2c7d17b030646b40e6764ba34a5ebf66aee77af
5 +X-next-at: fd7c087b0d85b48ffb998ee0349e5bb8945e292a
6
7 -What's cooking in git.git (May 2018, #04; Wed, 30)
7 +What's cooking in git.git (Jun 2018, #01; Fri, 1)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,345 +12,204 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -The recent fixes in v2.17.1 and downward have been merged to these
16 -integration branches 'master' and above.
17 -
15 You can find the changes described here in the integration branches
16 of the repositories listed at
17
18 http://git-blame.blogspot.com/p/git-public-repositories.html
19
20 --------------------------------------------------
24 -[Graduated to "master"]
25 -
26 -* ab/get-short-oid (2018-05-11) 5 commits
27 - (merged to 'next' on 2018-05-23 at 07e1908439)
28 - + get_short_oid: sort ambiguous objects by type, then SHA-1
29 - + sha1-name.c: move around the collect_ambiguous() function
30 - + git-p4: change "commitish" typo to "committish"
31 - + sha1-array.h: align function arguments
32 - + sha1-name.c: remove stray newline
33 -
34 - When a short hexadecimal string is used to name an object but there
35 - are multiple objects that share the string as the prefix of their
36 - names, the code lists these ambiguous candidates in a help message.
37 - These object names are now sorted according to their types for
38 - easier eyeballing.
39 -
40 -
41 -* bc/object-id (2018-05-02) 42 commits
42 - (merged to 'next' on 2018-05-23 at 916bcce829)
43 - + merge-one-file: compute empty blob object ID
44 - + add--interactive: compute the empty tree value
45 - + Update shell scripts to compute empty tree object ID
46 - + sha1_file: only expose empty object constants through git_hash_algo
47 - + dir: use the_hash_algo for empty blob object ID
48 - + sequencer: use the_hash_algo for empty tree object ID
49 - + cache-tree: use is_empty_tree_oid
50 - + sha1_file: convert cached object code to struct object_id
51 - + builtin/reset: convert use of EMPTY_TREE_SHA1_BIN
52 - + builtin/receive-pack: convert one use of EMPTY_TREE_SHA1_HEX
53 - + wt-status: convert two uses of EMPTY_TREE_SHA1_HEX
54 - + submodule: convert several uses of EMPTY_TREE_SHA1_HEX
55 - + sequencer: convert one use of EMPTY_TREE_SHA1_HEX
56 - + merge: convert empty tree constant to the_hash_algo
57 - + builtin/merge: switch tree functions to use object_id
58 - + builtin/am: convert uses of EMPTY_TREE_SHA1_BIN to the_hash_algo
59 - + sha1-file: add functions for hex empty tree and blob OIDs
60 - + builtin/receive-pack: avoid hard-coded constants for push certs
61 - + diff: specify abbreviation size in terms of the_hash_algo
62 - + upload-pack: replace use of several hard-coded constants
63 - + revision: replace use of hard-coded constants
64 - + http: eliminate hard-coded constants
65 - + dir: convert struct untracked_cache_dir to object_id
66 - + commit: convert uses of get_sha1_hex to get_oid_hex
67 - + index-pack: abstract away hash function constant
68 - + pack-redundant: convert linked lists to use struct object_id
69 - + Update struct index_state to use struct object_id
70 - + split-index: convert struct split_index to object_id
71 - + submodule-config: convert structures to object_id
72 - + fsck: convert static functions to struct object_id
73 - + tree-walk: convert get_tree_entry_follow_symlinks to object_id
74 - + tree-walk: avoid hard-coded 20 constant
75 - + pack-redundant: abstract away hash algorithm
76 - + pack-objects: abstract away hash algorithm
77 - + packfile: abstract away hash constant values
78 - + packfile: convert find_pack_entry to object_id
79 - + sha1-file: convert freshen functions to object_id
80 - + packfile: convert has_sha1_pack to object_id
81 - + packfile: remove unused member from struct pack_entry
82 - + Remove unused member in struct object_context
83 - + server-info: remove unused members from struct pack_info
84 - + cache: add a function to read an object ID from a buffer
85 -
86 - Conversion from uchar[20] to struct object_id continues.
87 -
88 -
89 -* bp/merge-rename-config (2018-05-08) 3 commits
90 - (merged to 'next' on 2018-05-22 at 911440a742)
91 - + merge: pass aggressive when rename detection is turned off
92 - + merge: add merge.renames config setting
93 - + merge: update documentation for {merge,diff}.renameLimit
94 - (this branch is used by ma/unpack-trees-free-msgs.)
95 -
96 - With merge.renames configuration set to false, the recursive merge
97 - strategy can be told not to spend cycles trying to find renamed
98 - paths and merge them accordingly.
99 -
100 -
101 -* bp/status-rename-config (2018-05-13) 1 commit
102 - (merged to 'next' on 2018-05-22 at ffcb0a7aa7)
103 - + add status config and command line options for rename detection
104 -
105 - "git status" learned to honor a new status.renames configuration to
106 - skip rename detection, which could be useful for those who want to
107 - do so without disabling the default rename detection done by the
108 - "git diff" command.
109 -
110 -
111 -* cf/submodule-progress-dissociate (2018-05-22) 3 commits
112 - (merged to 'next' on 2018-05-22 at 9b3b96c54b)
113 - + submodule: add --dissociate option to add/update commands
114 - + submodule: add --progress option to add command
115 - + submodule: clean up substitutions in script
116 -
117 - "git submodule update" and "git submodule add" supported the
118 - "--reference" option to borrow objects from a neighbouring local
119 - repository like "git clone" does, but lacked the more recent
120 - invention "--dissociate". Also "git submodule add" has been taught
121 - to take the "--progress" option.
122 -
123 -
124 -* dd/send-email-reedit (2018-05-06) 1 commit
125 - (merged to 'next' on 2018-05-22 at 1f4c98324f)
126 - + git-send-email: allow re-editing of message
127 -
128 - "git send-email" can sometimes offer confirmation dialog "Send this
129 - email?" with choices 'Yes', 'No', 'Quit', and 'All'. A new action
130 - 'Edit' has been added to this dialog's choice.
131 -
132 -
133 -* jk/unavailable-can-be-missing (2018-05-13) 4 commits
134 - (merged to 'next' on 2018-05-22 at 91980c5d1e)
135 - + mark_parents_uninteresting(): avoid most allocation
136 - + mark_parents_uninteresting(): replace list with stack
137 - + mark_parents_uninteresting(): drop missing object check
138 - + mark_tree_contents_uninteresting(): drop missing object check
139 -
140 - Code clean-up to turn history traversal more robust in a
141 - semi-corrupt repository.
142 -
143 -
144 -* js/sequencer-and-root-commits (2018-05-06) 6 commits
145 - (merged to 'next' on 2018-05-22 at c1a62f5bc9)
146 - + rebase --rebase-merges: root commits can be cousins, too
147 - + rebase --rebase-merges: a "merge" into a new root is a fast-forward
148 - + sequencer: allow introducing new root commits
149 - + rebase -i --root: let the sequencer handle even the initial part
150 - + sequencer: learn about the special "fake root commit" handling
151 - + sequencer: extract helper to update active_cache_tree
152 -
153 - The implementation of "git rebase -i --root" has been updated to use
154 - the sequencer machinery more.
155 -
156 -
157 -* js/use-bug-macro (2018-05-10) 5 commits
158 - (merged to 'next' on 2018-05-22 at fd848c39ae)
159 - + BUG_exit_code: fix sparse "symbol not declared" warning
160 - + Convert remaining die*(BUG) messages
161 - + Replace all die("BUG: ...") calls by BUG() ones
162 - + run-command: use BUG() to report bugs, not die()
163 - + test-tool: help verifying BUG() code paths
164 -
165 - Developer support update, by using BUG() macro instead of die() to
166 - mark codepaths that should not happen more clearly.
167 - Further updates can come on top later.
168 - cf. <20180507090109.GA367@sigill.intra.peff.net>
169 -
170 -
171 -* jt/partial-clone-proto-v2 (2018-05-06) 4 commits
172 - (merged to 'next' on 2018-05-23 at f8b3692e8e)
173 - + {fetch,upload}-pack: support filter in protocol v2
174 - + upload-pack: read config when serving protocol v2
175 - + upload-pack: fix error message typo
176 - + Merge branch 'bw/protocol-v2' into jt/partial-clone-proto-v2
177 -
178 - Transfer protocol v2 learned to support the partial clone.
179 -
180 -
181 -* lm/credential-netrc (2018-05-14) 2 commits
182 - (merged to 'next' on 2018-05-23 at c3a0417715)
183 - + git-credential-netrc: accept gpg option
184 - + git-credential-netrc: adapt to test framework for git
185 -
186 - Update credential-netrc helper (in contrib/) to allow customizing
187 - the GPG used to decrypt the encrypted .netrc file.
188 -
21 +[New Topics]
22
190 -* ma/create-pseudoref-with-null-old-oid (2018-05-13) 3 commits
191 - (merged to 'next' on 2018-05-22 at c751a19b67)
192 - + refs: handle zero oid for pseudorefs
193 - + t1400: add tests around adding/deleting pseudorefs
194 - + refs.c: refer to "object ID", not "sha1", in error messages
23 +* ag/rebase-p (2018-06-01) 4 commits
24 + - rebase: remove -p code from git-rebase--interactive.sh
25 + - rebase: use the new git-rebase--preserve-merges.sh
26 + - rebase: strip unused code in git-rebase--preserve-merges.sh
27 + - rebase: introduce a dedicated backend for --preserve-merges
28
196 - "git update-ref A B" is supposed to ensure that ref A does not yet
197 - exist when B is a NULL OID, but this check was not done correctly
198 - for pseudo-refs outside refs/ hierarchy, e.g. MERGE_HEAD.
29 + Separate "rebase -p" codepath out of "rebase -i" implementation to
30 + slim down the latter and make it easier to manage.
31
32
201 -* ma/lockfile-cleanup (2018-05-10) 5 commits
202 - (merged to 'next' on 2018-05-22 at e2efbf0b90)
203 - + lock_file: move static locks into functions
204 - + lock_file: make function-local locks non-static
205 - + refs.c: do not die if locking fails in `delete_pseudoref()`
206 - + refs.c: do not die if locking fails in `write_pseudoref()`
207 - + t/helper/test-write-cache: clean up lock-handling
33 +* jk/index-pack-maint (2018-06-01) 2 commits
34 + - index-pack: handle --strict checks of non-repo packs
35 + - prepare_commit_graft: treat non-repository as a noop
36
209 - Code clean-up to adjust to a more recent lockfile API convention that
210 - allows lockfile instances kept on the stack.
37 + "index-pack --strict" has been taught to make sure that it runs the
38 + final object integrity checks after making the freshly indexed
39 + packfile available to itself.
40
41 + Will merge to 'next' and then to 'master'.
42
213 -* nd/pack-struct-commit (2018-05-13) 1 commit
214 - (merged to 'next' on 2018-05-22 at 38d8a651f0)
215 - + commit.h: rearrange 'index' to shrink struct commit
43
217 - Memory optimization.
44 +* ls/complete-remote-update-names (2018-06-01) 1 commit
45 + - completion: complete remote names too
46
47 + "git remote update" can take both a single remote nickname and a
48 + nickname for remote groups, and the completion script (in contrib/)
49 + has been taught about it.
50
220 -* nd/repo-clear-keep-the-index (2018-05-10) 1 commit
221 - (merged to 'next' on 2018-05-22 at 398c7ac4e9)
222 - + repository: fix free problem with repo_clear(the_repository)
51 + Will merge to and cook in 'next'.
52
224 - the_repository->index is not a allocated piece of memory but
225 - repo_clear() indiscriminately attempted to free(3) it, which has
226 - been corrected.
53
54 +* nd/remote-update-doc (2018-06-01) 1 commit
55 + - remote.txt: update documentation for 'update' command
56
229 -* nd/travis-gcc-8 (2018-05-21) 1 commit
230 - (merged to 'next' on 2018-05-22 at d5d54efa72)
231 - + travis-ci: run gcc-8 on linux-gcc jobs
57 + "git remote update" can take both a single remote nickname and a
58 + nickname for remote groups, but only one of them was documented.
59
233 - Developer support. Use newer GCC on one of the builds done at
234 - TravisCI.org to get more warnings and errors diagnosed.
60 + Will merge to 'next' and then to 'master'.
61
62
237 -* rs/no-null-ptr-arith-in-fast-export (2018-05-10) 1 commit
238 - (merged to 'next' on 2018-05-22 at db60f06bba)
239 - + fast-export: avoid NULL pointer arithmetic
63 +* rd/p4-doc-markup-env (2018-06-01) 1 commit
64 + - p4.txt: Use backquotes for variable names
65
241 - Code clean-up to avoid non-standard-conformant pointer arithmetic.
66 + Doc markup update.
67
68 + Will merge to 'next' and then to 'master'.
69
244 -* sb/blame-color (2018-04-24) 3 commits
245 - (merged to 'next' on 2018-05-23 at 2e9c0daf0b)
246 - + builtin/blame: add new coloring scheme config
247 - + builtin/blame: highlight recently changed lines
248 - + builtin/blame: dim uninteresting metadata lines
70
250 - "git blame" learns to unhighlight uninteresting metadata from the
251 - originating commit on lines that are the same as the previous one,
252 - and also paint lines in different colors depending on the age of
253 - the commit.
71 +* sb/plug-misc-leaks (2018-06-01) 2 commits
72 + - submodule--helper: plug mem leak in print_default_remote
73 + - refs/packed-backend.c: close fd of empty file
74
75 + Misc leak plugging.
76
256 -* sb/submodule-update-try-harder (2018-05-16) 1 commit
257 - (merged to 'next' on 2018-05-23 at 698e6707d7)
258 - + git-submodule.sh: try harder to fetch a submodule
77 + Will merge to 'next' and then to 'master'.
78
260 - "git submodule update" attempts two different kinds of "git fetch"
261 - against the upstream repository to grab a commit bound at the
262 - submodule's path, but it incorrectly gave up if the first kind
263 - (i.e. a normal fetch) failed, making the second "last resort" one
264 - (i.e. fetching an exact commit object by object name) ineffective.
265 - This has been corrected.
79
80 +* tg/doc-sec-list (2018-06-01) 2 commits
81 + - note git-security@googlegroups.com in more places
82 + - SubmittingPatches: replace numbered attributes with names
83
268 -* sg/complete-paths (2018-05-21) 13 commits
269 - (merged to 'next' on 2018-05-22 at a00b992aec)
270 - + t9902-completion: exercise __git_complete_index_file() directly
271 - + completion: don't return with error from __gitcomp_file_direct()
272 - (merged to 'next' on 2018-05-08 at 2a11444f90)
273 - + completion: fill COMPREPLY directly when completing paths
274 - + completion: improve handling quoted paths in 'git ls-files's output
275 - + completion: remove repeated dirnames with 'awk' during path completion
276 - + t9902-completion: ignore COMPREPLY element order in some tests
277 - + completion: use 'awk' to strip trailing path components
278 - + completion: let 'ls-files' and 'diff-index' filter matching paths
279 - + completion: improve handling quoted paths on the command line
280 - + completion: support completing non-ASCII pathnames
281 - + completion: simplify prefix path component handling during path completion
282 - + completion: move __git_complete_index_file() next to its helpers
283 - + t9902-completion: add tests demonstrating issues with quoted pathnames
84 + Doc update.
85
285 - Command line completion (in contrib/) learned to complete pathnames
286 - for various commands better.
86 + Will merge to 'next' and then to 'master'.
87
88 +* bw/refspec-api (2018-06-01) 1 commit
89 + - refspec-api: avoid uninitialized field in refspec item
90
289 -* sg/t6500-no-redirect-of-stdin (2018-05-09) 1 commit
290 - (merged to 'next' on 2018-05-22 at 7019b3a1d5)
291 - + t6050-replace: don't disable stdin for the whole test script
91 + Hotfix.
92
293 - Test cleanup.
93 + Will merge to 'next' and then to 'master'.
94
95 --------------------------------------------------
296 -[New Topics]
96 +[Graduated to "master"]
97
298 -* pa/import-tars-long-names (2018-05-24) 1 commit
299 - (merged to 'next' on 2018-05-30 at 5e043b2fca)
300 - + import-tars: read overlong names from pax extended header
98 +* bw/refspec-api (2018-05-18) 36 commits
99 + (merged to 'next' on 2018-05-24 at 83d361419e)
100 + + submodule: convert push_unpushed_submodules to take a struct refspec
101 + + remote: convert check_push_refs to take a struct refspec
102 + + remote: convert match_push_refs to take a struct refspec
103 + + http-push: store refspecs in a struct refspec
104 + + transport: remove transport_verify_remote_names
105 + + send-pack: store refspecs in a struct refspec
106 + + transport: convert transport_push to take a struct refspec
107 + + push: convert to use struct refspec
108 + + push: check for errors earlier
109 + + remote: convert match_explicit_refs to take a struct refspec
110 + + remote: convert get_ref_match to take a struct refspec
111 + + remote: convert query_refspecs to take a struct refspec
112 + + remote: convert apply_refspecs to take a struct refspec
113 + + remote: convert get_stale_heads to take a struct refspec
114 + + fetch: convert prune_refs to take a struct refspec
115 + + fetch: convert get_ref_map to take a struct refspec
116 + + fetch: convert do_fetch to take a struct refspec
117 + + refspec: remove the deprecated functions
118 + + fetch: convert refmap to use struct refspec
119 + + fetch: convert fetch_one to use struct refspec
120 + + transport-helper: convert to use struct refspec
121 + + remote: remove add_prune_tags_to_fetch_refspec
122 + + remote: convert fetch refspecs to struct refspec
123 + + remote: convert push refspecs to struct refspec
124 + + fast-export: convert to use struct refspec
125 + + clone: convert cmd_clone to use refspec_item_init
126 + + remote: convert match_push_refs to use struct refspec
127 + + remote: convert check_push_refs to use struct refspec
128 + + transport: convert transport_push to use struct refspec
129 + + pull: convert get_tracking_branch to use refspec_item_init
130 + + submodule--helper: convert push_check to use struct refspec
131 + + refspec: convert valid_fetch_refspec to use parse_refspec
132 + + refspec: introduce struct refspec
133 + + refspec: factor out parsing a single refspec
134 + + refspec: rename struct refspec to struct refspec_item
135 + + refspec: move refspec parsing logic into its own file
136 + (this branch is used by bw/ref-prefix-for-configured-refspec.)
137
302 - The import-tars script (in contrib/) has been taught to handle
303 - tarballs with overly long paths that use PAX extended headers.
138 + An API update for handling of refspecs used by fetch & push
139 + codepath.
140
305 - Will merge to 'master'.
141
142 +* bc/hash-independent-tests (2018-05-21) 28 commits
143 + (merged to 'next' on 2018-05-24 at 40fb709f7c)
144 + + t5300: abstract away SHA-1-specific constants
145 + + t4208: abstract away SHA-1-specific constants
146 + + t4045: abstract away SHA-1-specific constants
147 + + t4042: abstract away SHA-1-specific constants
148 + + t4205: sort log output in a hash-independent way
149 + + t/lib-diff-alternative: abstract away SHA-1-specific constants
150 + + t4030: abstract away SHA-1-specific constants
151 + + t4029: abstract away SHA-1-specific constants
152 + + t4029: fix test indentation
153 + + t4022: abstract away SHA-1-specific constants
154 + + t4020: abstract away SHA-1-specific constants
155 + + t4014: abstract away SHA-1-specific constants
156 + + t4008: abstract away SHA-1-specific constants
157 + + t4007: abstract away SHA-1-specific constants
158 + + t3905: abstract away SHA-1-specific constants
159 + + t3702: abstract away SHA-1-specific constants
160 + + t3103: abstract away SHA-1-specific constants
161 + + t2203: abstract away SHA-1-specific constants
162 + + t: skip pack tests if not using SHA-1
163 + + t4044: skip test if not using SHA-1
164 + + t1512: skip test if not using SHA-1
165 + + t1007: annotate with SHA1 prerequisite
166 + + t0000: annotate with SHA1 prerequisite
167 + + t: switch $_x40 to $OID_REGEX
168 + + t/test-lib: introduce OID_REGEX
169 + + t: switch $_z40 to $ZERO_OID
170 + + t/test-lib: introduce ZERO_OID
171 + + t/test-lib: add an SHA1 prerequisite
172
308 -* nd/use-opt-int-set-f (2018-05-24) 1 commit
309 - (merged to 'next' on 2018-05-30 at f8f5d612ed)
310 - + Use OPT_SET_INT_F() for cmdline option specification
173 + Many tests hardcode the raw object names, which would change once
174 + we migrate away from SHA-1. While some of them must test against
175 + exact object names, most of them do not have to use hardcoded
176 + constants in the test. The latter kind of tests have been updated
177 + to test the moral equivalent of the original without hardcoding the
178 + actual object names.
179
312 - Code simplification.
180
314 - Will merge to 'master'.
181 +* bw/ref-prefix-for-configured-refspec (2018-05-18) 2 commits
182 + (merged to 'next' on 2018-05-24 at a0d4af6180)
183 + + fetch: generate ref-prefixes when using a configured refspec
184 + + refspec: consolidate ref-prefix generation logic
185 + (this branch uses bw/refspec-api.)
186
187 + "git fetch $there $refspec" that talks over protocol v2 can take
188 + advantage of server-side ref filtering; the code has been extended
189 + so that this mechanism triggers also when fetching with configured
190 + refspec.
191
317 -* ds/commit-graph-fsck (2018-05-29) 20 commits
318 - - commit-graph: update design document
319 - - gc: automatically write commit-graph files
320 - - commit-graph: add '--reachable' option
321 - - fsck: verify commit-graph
322 - - commit-graph: verify contents match checksum
323 - - commit-graph: test for corrupted octopus edge
324 - - commit-graph: verify commit date
325 - - commit-graph: verify generation number
326 - - commit-graph: verify parent list
327 - - commit-graph: verify root tree OIDs
328 - - commit-graph: verify objects exist
329 - - commit-graph: verify corrupt OID fanout and lookup
330 - - commit-graph: verify required chunks are present
331 - - commit-graph: verify catches corrupt signature
332 - - commit-graph: add 'verify' subcommand
333 - - commit-graph: load a root tree from specific graph
334 - - commit: force commit to parse from object database
335 - - commit-graph: parse commit from chosen graph
336 - - commit-graph: fix GRAPH_MIN_SIZE
337 - - commit-graph: UNLEAK before die()
338 - (this branch uses ds/commit-graph-lockfile-fix and ds/generation-numbers.)
192
340 - Expecting a reroll.
341 - cf. <ba3b8e06-b5e1-99a1-0fe4-ff97d6da8f15@gmail.com>
193 +* bw/remote-curl-compressed-responses (2018-05-23) 2 commits
194 + (merged to 'next' on 2018-05-24 at 98ee4308dc)
195 + + remote-curl: accept compressed responses with protocol v2
196 + + remote-curl: accept all encodings supported by curl
197
198 + Our HTTP client code used to advertise that we accept gzip encoding
199 + from the other side; instead, just let cURL library to advertise
200 + and negotiate the best one.
201
344 -* en/merge-recursive-tests (2018-05-28) 5 commits
345 - - t6036: prefer test_when_finished to manual cleanup in following test
346 - - t6036, t6042: prefer test_cmp to sequences of test
347 - - t6036, t6042: prefer test_path_is_file, test_path_is_missing
348 - - t6036, t6042: use test_line_count instead of wc -l
349 - - t6036, t6042: use test_create_repo to keep tests independent
202
351 - Clean up tests in t6xxx series about 'merge' command.
203 +* cc/tests-without-assuming-ref-files-backend (2018-05-30) 2 commits
204 + (merged to 'next' on 2018-05-30 at e9605bacf0)
205 + + t990X: use '.git/objects' as 'deep inside .git' path
206 + (merged to 'next' on 2018-05-24 at 19138b162f)
207 + + t: make many tests depend less on the refs being files
208
353 - Will merge to 'next'.
209 + Quite a many tests assumed that newly created refs are made as
210 + loose refs using the files backend, which have been updated to use
211 + proper plumbing like rev-parse and update-ref, to avoid breakage
212 + once we start using different ref backends.
213
214
215 * en/rev-parse-invalid-range (2018-05-25) 1 commit
@@ -360,16 +219,30 @@ of the repositories listed at
219 "git rev-parse Y..." etc. misbehaved when given endpoints were
220 not committishes.
221
363 - Will merge to 'master'.
222
223 +* jk/config-blob-sans-repo (2018-05-21) 1 commit
224 + (merged to 'next' on 2018-05-24 at 3426d9508c)
225 + + config: die when --blob is used outside a repository
226
366 -* jk/show-index (2018-05-29) 2 commits
367 - - show-index: update documentation for index v2
368 - - make show-index a builtin
227 + Error codepath fix.
228
370 - Modernize a less often used command.
229
372 - Will merge to 'next'.
230 +* jk/snprintf-truncation (2018-05-21) 5 commits
231 + (merged to 'next' on 2018-05-24 at 4b78e15f66)
232 + + fmt_with_err: add a comment that truncation is OK
233 + + shorten_unambiguous_ref: use xsnprintf
234 + + fsmonitor: use internal argv_array of struct child_process
235 + + log_write_email_headers: use strbufs
236 + + http: use strbufs instead of fixed buffers
237 +
238 + Avoid unchecked snprintf() to make future code auditing easier.
239 +
240 +
241 +* js/empty-config-section-fix (2018-05-18) 1 commit
242 + (merged to 'next' on 2018-05-24 at 3d0875c7b4)
243 + + config: a user-provided invalid section is not a BUG
244 +
245 + Error codepath fix.
246
247
248 * js/rebase-recreate-merge (2018-05-30) 2 commits
@@ -379,62 +252,80 @@ of the repositories listed at
252
253 Hotfixes.
254
382 - Will merge to 'master'.
255
256 +* ld/p4-unshelve (2018-05-24) 1 commit
257 + (merged to 'next' on 2018-05-30 at 7367508399)
258 + + git-p4: add unshelve command
259
385 -* jt/submodule-pull-recurse-rebase (2018-05-25) 1 commit
386 - - submodule: do not pass null OID to setup_revisions
260 + "git p4" learned to "unshelve" shelved commit from P4.
261
388 - "git pull -recurse-submodules --rebase", when the submodule
389 - repository's history did not have anything common between ours and
390 - the upstream's, failed to execute. We need to fetch from them to
391 - continue even in such a case.
262
393 - Will merge to 'next'.
263 +* ma/config-store-data-clear (2018-05-21) 3 commits
264 + (merged to 'next' on 2018-05-24 at cc6e4b9371)
265 + + config: let `config_store_data_clear()` handle `key`
266 + + config: let `config_store_data_clear()` handle `value_regex`
267 + + config: free resources of `struct config_store_data`
268
269 + Leak plugging.
270
396 -* ma/wrapped-info (2018-05-28) 2 commits
397 - - usage: prefix all lines in `vreportf()`, not just the first
398 - - usage: extract `prefix_suffix_lines()` from `advise()`
271
400 - An attempt to help making multi-line messages fed to warning(),
401 - error(), and friends more easily translatable.
272 +* ma/regex-no-regfree-after-comp-fail (2018-05-21) 1 commit
273 + (merged to 'next' on 2018-05-24 at 3e473da1b5)
274 + + regex: do not call `regfree()` if compilation fails
275
403 - Wait for discussion to settle.
404 - cf. <20180529213957.GF7964@sigill.intra.peff.net>
276 + We used to call regfree() after regcomp() failed in some codepaths,
277 + which have been corrected.
278
279
407 -* nd/complete-config-vars (2018-05-29) 13 commits
408 - - completion: complete general config vars in two steps
409 - - log-tree: allow to customize 'grafted' color
410 - - completion: support case-insensitive config vars
411 - - completion: keep other config var completion in camelCase
412 - - completion: drop the hard coded list of config vars
413 - - am: move advice.amWorkDir parsing back to advice.c
414 - - advice: keep config name in camelCase in advice_config[]
415 - - fsck: produce camelCase config key names
416 - - help: add --config to list all available config
417 - - fsck: factor out msg_id_info[] lazy initialization code
418 - - grep: keep all colors in an array
419 - - Add and use generic name->id mapping code for color slot parsing
420 - - Merge branch 'nd/command-list' into nd/complete-config-vars
421 - (this branch uses nd/command-list.)
280 +* ma/unpack-trees-free-msgs (2018-05-22) 4 commits
281 + (merged to 'next' on 2018-05-24 at 84cbd459f7)
282 + + unpack_trees_options: free messages when done
283 + + argv-array: return the pushed string from argv_push*()
284 + + merge-recursive: provide pair of `unpack_trees_{start,finish}()`
285 + + merge: setup `opts` later in `checkout_fast_forward()`
286
423 - Continuing with the idea to programatically enumerate various
424 - pieces of data required for command line completion, teach the
425 - codebase to report the list of configuration variables
426 - subcommands care about to help complete them.
287 + Leak plugging.
288
289
429 -* nd/completion-negation (2018-05-29) 3 commits
430 - - completion: collapse extra --no-.. options
431 - - completion: suppress some -no- options
432 - - parse-options: option to let --git-completion-helper show negative form
290 +* nd/command-list (2018-05-21) 17 commits
291 + (merged to 'next' on 2018-05-24 at 093e983b05)
292 + + completion: allow to customize the completable command list
293 + + completion: add and use --list-cmds=alias
294 + + completion: add and use --list-cmds=nohelpers
295 + + Move declaration for alias.c to alias.h
296 + + completion: reduce completable command list
297 + + completion: let git provide the completable command list
298 + + command-list.txt: documentation and guide line
299 + + help: use command-list.txt for the source of guides
300 + + help: add "-a --verbose" to list all commands with synopsis
301 + + git: support --list-cmds=list-<category>
302 + + completion: implement and use --list-cmds=main,others
303 + + git --list-cmds: collect command list in a string_list
304 + + git.c: convert --list-* to --list-cmds=*
305 + + Remove common-cmds.h
306 + + help: use command-list.h for common command list
307 + + generate-cmds.sh: export all commands to command-list.h
308 + + generate-cmds.sh: factor out synopsis extract code
309 + (this branch is used by nd/complete-config-vars.)
310
434 - Continuing with the idea to programatically enumerate various
435 - pieces of data required for command line completion, the codebase
436 - has been taught to enumerate options prefixed with "--no-" to
437 - negate them.
311 + The list of commands with their various attributes were spread
312 + across a few places in the build procedure, but it now is getting a
313 + bit more consolidated to allow more automation.
314 +
315 +
316 +* nd/use-opt-int-set-f (2018-05-24) 1 commit
317 + (merged to 'next' on 2018-05-30 at f8f5d612ed)
318 + + Use OPT_SET_INT_F() for cmdline option specification
319 +
320 + Code simplification.
321 +
322 +
323 +* pa/import-tars-long-names (2018-05-24) 1 commit
324 + (merged to 'next' on 2018-05-30 at 5e043b2fca)
325 + + import-tars: read overlong names from pax extended header
326 +
327 + The import-tars script (in contrib/) has been taught to handle
328 + tarballs with overly long paths that use PAX extended headers.
329
330
331 * rd/doc-options-placeholder (2018-05-25) 1 commit
@@ -443,7 +334,12 @@ of the repositories listed at
334
335 Docfix.
336
446 - Will merge to 'master'.
337 +
338 +* rd/init-typo (2018-05-30) 1 commit
339 + (merged to 'next' on 2018-05-30 at 8813a649eb)
340 + + init: fix grammar in "templates not found" msg
341 +
342 + Message fix.
343
344
345 * rd/tag-doc-lightweight (2018-05-29) 1 commit
@@ -452,16 +348,28 @@ of the repositories listed at
348
349 Docfix.
350
455 - Will merge to 'master'.
351
352 +* sb/grep-die-on-unreadable-index (2018-05-16) 1 commit
353 + (merged to 'next' on 2018-05-24 at 6d78916503)
354 + + grep: handle corrupt index files early
355
458 -* rd/init-typo (2018-05-30) 1 commit
459 - (merged to 'next' on 2018-05-30 at 8813a649eb)
460 - + init: fix grammar in "templates not found" msg
356 + Error behaviour of "git grep" when it cannot read the index was
357 + inconsistent with other commands that uses the index, which has
358 + been corrected to error out early.
359
462 - Message fix.
360
464 - Will merge to 'master'.
361 +* sb/submodule-merge-in-merge-recursive (2018-05-18) 3 commits
362 + (merged to 'next' on 2018-05-24 at 6228d22182)
363 + + merge-recursive: give notice when submodule commit gets fast-forwarded
364 + + merge-recursive: i18n submodule merge output and respect verbosity
365 + + submodule.c: move submodule merging to merge-recursive.c
366 +
367 + By code restructuring of submodule merge in merge-recursive,
368 + informational messages from the codepath are now given using the
369 + same mechanism as other output, and honor the merge.verbosity
370 + configuration. The code also learned to give a few new messages
371 + when a submodule three-way merge resolves cleanly when one side
372 + records a descendant of the commit chosen by the other side.
373
374 --------------------------------------------------
375 [Stalled]
@@ -520,14 +428,14 @@ of the repositories listed at
428 before too long.
429
430
523 -* is/parsing-line-range (2018-04-27) 2 commits
431 +* is/parsing-line-range (2018-06-01) 2 commits
432 . log: prevent error if line range ends past end of file
433 . blame: prevent error if range ends past end of file
434
435 Parsing of -L[<N>][,[<M>]] parameters "git blame" and "git log"
436 take has been tweaked.
437
530 - Seems to break a few tests.
438 + Updated. Still seems to break a few tests.
439
440
441 * av/fsmonitor-updates (2018-01-04) 6 commits
@@ -603,217 +511,135 @@ of the repositories listed at
511 --------------------------------------------------
512 [Cooking]
513
606 -* jm/cache-entry-from-mem-pool (2018-05-24) 7 commits
607 - - block alloc: add validations around cache_entry lifecyle
608 - - block alloc: allocate cache entries from mem_pool
609 - - mem-pool: fill out functionality
610 - - mem-pool: add lifecycle management functions
611 - - mem-pool: only search head block for available space
612 - - block alloc: add lifecycle APIs for cache_entry structs
613 - - read-cache: teach refresh_cache_entry() to take istate
614 -
615 - For a large tree, the index needs to hold many cache entries
616 - allocated on heap. These cache entries are now allocated out of a
617 - dedicated memory pool to amortize malloc(3) overhead.
618 -
619 - Is this ready for 'next'?
620 -
621 -
622 -* bw/ref-prefix-for-configured-refspec (2018-05-18) 2 commits
623 - (merged to 'next' on 2018-05-24 at a0d4af6180)
624 - + fetch: generate ref-prefixes when using a configured refspec
625 - + refspec: consolidate ref-prefix generation logic
626 - (this branch uses bw/refspec-api.)
627 -
628 - "git fetch $there $refspec" that talks over protocol v2 can take
629 - advantage of server-side ref filtering; the code has been extended
630 - so that this mechanism triggers also when fetching with configured
631 - refspec.
632 -
633 - Will merge to 'master'.
634 -
635 -
636 -* jk/config-blob-sans-repo (2018-05-21) 1 commit
637 - (merged to 'next' on 2018-05-24 at 3426d9508c)
638 - + config: die when --blob is used outside a repository
639 -
640 - Error codepath fix.
641 -
642 - Will merge to 'master'.
643 -
644 -
645 -* jk/snprintf-truncation (2018-05-21) 5 commits
646 - (merged to 'next' on 2018-05-24 at 4b78e15f66)
647 - + fmt_with_err: add a comment that truncation is OK
648 - + shorten_unambiguous_ref: use xsnprintf
649 - + fsmonitor: use internal argv_array of struct child_process
650 - + log_write_email_headers: use strbufs
651 - + http: use strbufs instead of fixed buffers
652 -
653 - Avoid unchecked snprintf() to make future code auditing easier.
654 -
655 - Will merge to 'master'.
656 -
657 -
658 -* js/empty-config-section-fix (2018-05-18) 1 commit
659 - (merged to 'next' on 2018-05-24 at 3d0875c7b4)
660 - + config: a user-provided invalid section is not a BUG
661 -
662 - Error codepath fix.
663 -
664 - Will merge to 'master'.
665 -
514 +* ds/commit-graph-fsck (2018-05-29) 20 commits
515 + - commit-graph: update design document
516 + - gc: automatically write commit-graph files
517 + - commit-graph: add '--reachable' option
518 + - fsck: verify commit-graph
519 + - commit-graph: verify contents match checksum
520 + - commit-graph: test for corrupted octopus edge
521 + - commit-graph: verify commit date
522 + - commit-graph: verify generation number
523 + - commit-graph: verify parent list
524 + - commit-graph: verify root tree OIDs
525 + - commit-graph: verify objects exist
526 + - commit-graph: verify corrupt OID fanout and lookup
527 + - commit-graph: verify required chunks are present
528 + - commit-graph: verify catches corrupt signature
529 + - commit-graph: add 'verify' subcommand
530 + - commit-graph: load a root tree from specific graph
531 + - commit: force commit to parse from object database
532 + - commit-graph: parse commit from chosen graph
533 + - commit-graph: fix GRAPH_MIN_SIZE
534 + - commit-graph: UNLEAK before die()
535 + (this branch uses ds/commit-graph-lockfile-fix and ds/generation-numbers.)
536
667 -* ma/config-store-data-clear (2018-05-21) 3 commits
668 - (merged to 'next' on 2018-05-24 at cc6e4b9371)
669 - + config: let `config_store_data_clear()` handle `key`
670 - + config: let `config_store_data_clear()` handle `value_regex`
671 - + config: free resources of `struct config_store_data`
537 + Expecting a reroll.
538 + cf. <ba3b8e06-b5e1-99a1-0fe4-ff97d6da8f15@gmail.com>
539
673 - Leak plugging.
540
675 - Will merge to 'master'.
541 +* en/merge-recursive-tests (2018-05-28) 5 commits
542 + (merged to 'next' on 2018-06-01 at 8490b560b4)
543 + + t6036: prefer test_when_finished to manual cleanup in following test
544 + + t6036, t6042: prefer test_cmp to sequences of test
545 + + t6036, t6042: prefer test_path_is_file, test_path_is_missing
546 + + t6036, t6042: use test_line_count instead of wc -l
547 + + t6036, t6042: use test_create_repo to keep tests independent
548
549 + Clean up tests in t6xxx series about 'merge' command.
550
678 -* ma/regex-no-regfree-after-comp-fail (2018-05-21) 1 commit
679 - (merged to 'next' on 2018-05-24 at 3e473da1b5)
680 - + regex: do not call `regfree()` if compilation fails
551 + Will cook in 'next'.
552
682 - We used to call regfree() after regcomp() failed in some codepaths,
683 - which have been corrected.
553
685 - Will merge to 'master'.
554 +* jk/show-index (2018-05-29) 2 commits
555 + (merged to 'next' on 2018-06-01 at 4b3382d994)
556 + + show-index: update documentation for index v2
557 + + make show-index a builtin
558
559 + Modernize a less often used command.
560
688 -* ma/unpack-trees-free-msgs (2018-05-22) 4 commits
689 - (merged to 'next' on 2018-05-24 at 84cbd459f7)
690 - + unpack_trees_options: free messages when done
691 - + argv-array: return the pushed string from argv_push*()
692 - + merge-recursive: provide pair of `unpack_trees_{start,finish}()`
693 - + merge: setup `opts` later in `checkout_fast_forward()`
561 + Will cook in 'next'.
562
695 - Leak plugging.
563 +
564 +* jt/submodule-pull-recurse-rebase (2018-05-25) 1 commit
565 + (merged to 'next' on 2018-06-01 at cd3e2a1008)
566 + + submodule: do not pass null OID to setup_revisions
567 +
568 + "git pull -recurse-submodules --rebase", when the submodule
569 + repository's history did not have anything common between ours and
570 + the upstream's, failed to execute. We need to fetch from them to
571 + continue even in such a case.
572
573 Will merge to 'master'.
574
575
700 -* rm/p4-submit-with-commit-option (2018-05-21) 1 commit
701 - - git-p4: add options --commit and --disable-rebase
576 +* ma/wrapped-info (2018-05-28) 2 commits
577 + - usage: prefix all lines in `vreportf()`, not just the first
578 + - usage: extract `prefix_suffix_lines()` from `advise()`
579
703 - Needs sign-off.
580 + An attempt to help making multi-line messages fed to warning(),
581 + error(), and friends more easily translatable.
582
583 + Wait for discussion to settle.
584 + cf. <20180529213957.GF7964@sigill.intra.peff.net>
585
706 -* bw/remote-curl-compressed-responses (2018-05-23) 2 commits
707 - (merged to 'next' on 2018-05-24 at 98ee4308dc)
708 - + remote-curl: accept compressed responses with protocol v2
709 - + remote-curl: accept all encodings supported by curl
586
711 - Our HTTP client code used to advertise that we accept gzip encoding
712 - from the other side; instead, just let cURL library to advertise
713 - and negotiate the best one.
587 +* nd/complete-config-vars (2018-05-29) 13 commits
588 + - completion: complete general config vars in two steps
589 + - log-tree: allow to customize 'grafted' color
590 + - completion: support case-insensitive config vars
591 + - completion: keep other config var completion in camelCase
592 + - completion: drop the hard coded list of config vars
593 + - am: move advice.amWorkDir parsing back to advice.c
594 + - advice: keep config name in camelCase in advice_config[]
595 + - fsck: produce camelCase config key names
596 + - help: add --config to list all available config
597 + - fsck: factor out msg_id_info[] lazy initialization code
598 + - grep: keep all colors in an array
599 + - Add and use generic name->id mapping code for color slot parsing
600 + - Merge branch 'nd/command-list' into nd/complete-config-vars
601
715 - Will merge to 'master'.
602 + Continuing with the idea to programatically enumerate various
603 + pieces of data required for command line completion, teach the
604 + codebase to report the list of configuration variables
605 + subcommands care about to help complete them.
606
607 + Will merge to and cook in 'next'.
608
718 -* cc/tests-without-assuming-ref-files-backend (2018-05-30) 2 commits
719 - (merged to 'next' on 2018-05-30 at e9605bacf0)
720 - + t990X: use '.git/objects' as 'deep inside .git' path
721 - (merged to 'next' on 2018-05-24 at 19138b162f)
722 - + t: make many tests depend less on the refs being files
609
724 - Quite a many tests assumed that newly created refs are made as
725 - loose refs using the files backend, which have been updated to use
726 - proper plumbing like rev-parse and update-ref, to avoid breakage
727 - once we start using different ref backends.
610 +* nd/completion-negation (2018-05-29) 3 commits
611 + - completion: collapse extra --no-.. options
612 + - completion: suppress some -no- options
613 + - parse-options: option to let --git-completion-helper show negative form
614
729 - Will merge to 'master'.
615 + Continuing with the idea to programatically enumerate various
616 + pieces of data required for command line completion, the codebase
617 + has been taught to enumerate options prefixed with "--no-" to
618 + negate them.
619
620 + Will merge to and cook in 'next'.
621
732 -* bc/hash-independent-tests (2018-05-21) 28 commits
733 - (merged to 'next' on 2018-05-24 at 40fb709f7c)
734 - + t5300: abstract away SHA-1-specific constants
735 - + t4208: abstract away SHA-1-specific constants
736 - + t4045: abstract away SHA-1-specific constants
737 - + t4042: abstract away SHA-1-specific constants
738 - + t4205: sort log output in a hash-independent way
739 - + t/lib-diff-alternative: abstract away SHA-1-specific constants
740 - + t4030: abstract away SHA-1-specific constants
741 - + t4029: abstract away SHA-1-specific constants
742 - + t4029: fix test indentation
743 - + t4022: abstract away SHA-1-specific constants
744 - + t4020: abstract away SHA-1-specific constants
745 - + t4014: abstract away SHA-1-specific constants
746 - + t4008: abstract away SHA-1-specific constants
747 - + t4007: abstract away SHA-1-specific constants
748 - + t3905: abstract away SHA-1-specific constants
749 - + t3702: abstract away SHA-1-specific constants
750 - + t3103: abstract away SHA-1-specific constants
751 - + t2203: abstract away SHA-1-specific constants
752 - + t: skip pack tests if not using SHA-1
753 - + t4044: skip test if not using SHA-1
754 - + t1512: skip test if not using SHA-1
755 - + t1007: annotate with SHA1 prerequisite
756 - + t0000: annotate with SHA1 prerequisite
757 - + t: switch $_x40 to $OID_REGEX
758 - + t/test-lib: introduce OID_REGEX
759 - + t: switch $_z40 to $ZERO_OID
760 - + t/test-lib: introduce ZERO_OID
761 - + t/test-lib: add an SHA1 prerequisite
622
763 - Many tests hardcode the raw object names, which would change once
764 - we migrate away from SHA-1. While some of them must test against
765 - exact object names, most of them do not have to use hardcoded
766 - constants in the test. The latter kind of tests have been updated
767 - to test the moral equivalent of the original without hardcoding the
768 - actual object names.
623 +* jm/cache-entry-from-mem-pool (2018-05-24) 7 commits
624 + - block alloc: add validations around cache_entry lifecyle
625 + - block alloc: allocate cache entries from mem_pool
626 + - mem-pool: fill out functionality
627 + - mem-pool: add lifecycle management functions
628 + - mem-pool: only search head block for available space
629 + - block alloc: add lifecycle APIs for cache_entry structs
630 + - read-cache: teach refresh_cache_entry() to take istate
631
770 - Will merge to 'master'.
632 + For a large tree, the index needs to hold many cache entries
633 + allocated on heap. These cache entries are now allocated out of a
634 + dedicated memory pool to amortize malloc(3) overhead.
635
636 + Is this ready for 'next'?
637
773 -* bw/refspec-api (2018-05-18) 36 commits
774 - (merged to 'next' on 2018-05-24 at 83d361419e)
775 - + submodule: convert push_unpushed_submodules to take a struct refspec
776 - + remote: convert check_push_refs to take a struct refspec
777 - + remote: convert match_push_refs to take a struct refspec
778 - + http-push: store refspecs in a struct refspec
779 - + transport: remove transport_verify_remote_names
780 - + send-pack: store refspecs in a struct refspec
781 - + transport: convert transport_push to take a struct refspec
782 - + push: convert to use struct refspec
783 - + push: check for errors earlier
784 - + remote: convert match_explicit_refs to take a struct refspec
785 - + remote: convert get_ref_match to take a struct refspec
786 - + remote: convert query_refspecs to take a struct refspec
787 - + remote: convert apply_refspecs to take a struct refspec
788 - + remote: convert get_stale_heads to take a struct refspec
789 - + fetch: convert prune_refs to take a struct refspec
790 - + fetch: convert get_ref_map to take a struct refspec
791 - + fetch: convert do_fetch to take a struct refspec
792 - + refspec: remove the deprecated functions
793 - + fetch: convert refmap to use struct refspec
794 - + fetch: convert fetch_one to use struct refspec
795 - + transport-helper: convert to use struct refspec
796 - + remote: remove add_prune_tags_to_fetch_refspec
797 - + remote: convert fetch refspecs to struct refspec
798 - + remote: convert push refspecs to struct refspec
799 - + fast-export: convert to use struct refspec
800 - + clone: convert cmd_clone to use refspec_item_init
801 - + remote: convert match_push_refs to use struct refspec
802 - + remote: convert check_push_refs to use struct refspec
803 - + transport: convert transport_push to use struct refspec
804 - + pull: convert get_tracking_branch to use refspec_item_init
805 - + submodule--helper: convert push_check to use struct refspec
806 - + refspec: convert valid_fetch_refspec to use parse_refspec
807 - + refspec: introduce struct refspec
808 - + refspec: factor out parsing a single refspec
809 - + refspec: rename struct refspec to struct refspec_item
810 - + refspec: move refspec parsing logic into its own file
811 - (this branch is used by bw/ref-prefix-for-configured-refspec.)
638
813 - An API update for handling of refspecs used by fetch & push
814 - codepath.
639 +* rm/p4-submit-with-commit-option (2018-05-21) 1 commit
640 + - git-p4: add options --commit and --disable-rebase
641
816 - Will merge to 'master'.
642 + Needs sign-off.
643
644
645 * ds/commit-graph-lockfile-fix (2018-05-22) 1 commit
@@ -823,7 +649,7 @@ of the repositories listed at
649
650 Update to ds/generation-numbers topic.
651
826 - Will merge to 'master'.
652 + Wait for ds/generation-numbers
653
654
655 * nd/commit-util-to-slab (2018-05-21) 15 commits
@@ -849,7 +675,7 @@ of the repositories listed at
675 code. All of the existing uses of the field has been migrated to a
676 more dedicated "commit-slab" mechanism and the field is eliminated.
677
852 - Will merge to 'master'.
678 + Will cook in 'next'.
679
680
681 * nd/diff-apply-ita (2018-05-29) 4 commits
@@ -868,19 +694,7 @@ of the repositories listed at
694 otherwise working-tree-only application of a patch will add new
695 paths to the index marked with the "intent-to-add" bit.
696
871 - Kicked back to 'pu'.
872 - cf. <20180526120846.23663-1-pclouds@gmail.com>
873 -
874 -
875 -* sb/grep-die-on-unreadable-index (2018-05-16) 1 commit
876 - (merged to 'next' on 2018-05-24 at 6d78916503)
877 - + grep: handle corrupt index files early
878 -
879 - Error behaviour of "git grep" when it cannot read the index was
880 - inconsistent with other commands that uses the index, which has
881 - been corrected to error out early.
882 -
883 - Will merge to 'master'.
697 + Will cook in 'next'.
698
699
700 * sb/object-store-grafts (2018-05-18) 19 commits
@@ -908,32 +722,7 @@ of the repositories listed at
722 The conversion to pass "the_repository" and then "a_repository"
723 throughout the object access API continues.
724
911 - Is this ready for 'next'?
912 -
913 -
914 -* sb/submodule-merge-in-merge-recursive (2018-05-18) 3 commits
915 - (merged to 'next' on 2018-05-24 at 6228d22182)
916 - + merge-recursive: give notice when submodule commit gets fast-forwarded
917 - + merge-recursive: i18n submodule merge output and respect verbosity
918 - + submodule.c: move submodule merging to merge-recursive.c
919 -
920 - By code restructuring of submodule merge in merge-recursive,
921 - informational messages from the codepath are now given using the
922 - same mechanism as other output, and honor the merge.verbosity
923 - configuration. The code also learned to give a few new messages
924 - when a submodule three-way merge resolves cleanly when one side
925 - records a descendant of the commit chosen by the other side.
926 -
927 - Will merge to 'master'.
928 -
929 -
930 -* ld/p4-unshelve (2018-05-24) 1 commit
931 - (merged to 'next' on 2018-05-30 at 7367508399)
932 - + git-p4: add unshelve command
933 -
934 - "git p4" learned to "unshelve" shelved commit from P4.
935 -
936 - Will merge to 'master'.
725 + Will merge to and cook in 'next'.
726
727
728 * pc/submodule-helper-foreach (2018-05-11) 4 commits
@@ -945,7 +734,7 @@ of the repositories listed at
734
735 The bulk of "git submodule foreach" has been rewritten in C.
736
948 - Will merge to and cook in 'next'.
737 + Will cook in 'next'.
738
739
740 * js/branch-diff (2018-05-16) 19 commits
@@ -996,31 +785,32 @@ of the repositories listed at
785 The conversion to pass "the_repository" and then "a_repository"
786 throughout the object access API continues.
787
999 - Is this ready for 'next'?
788 + Will merge to and cook in 'next'.
789
790
791 * tb/grep-column (2018-05-14) 7 commits
1003 - - contrib/git-jump/git-jump: jump to match column in addition to line
1004 - - grep.c: add configuration variables to show matched option
1005 - - builtin/grep.c: add '--column' option to 'git-grep(1)'
1006 - - grep.c: display column number of first match
1007 - - grep.[ch]: extend grep_opt to allow showing matched column
1008 - - grep.c: expose matched column in match_line()
1009 - - Documentation/config.txt: camel-case lineNumber for consistency
792 + . contrib/git-jump/git-jump: jump to match column in addition to line
793 + . grep.c: add configuration variables to show matched option
794 + . builtin/grep.c: add '--column' option to 'git-grep(1)'
795 + . grep.c: display column number of first match
796 + . grep.[ch]: extend grep_opt to allow showing matched column
797 + . grep.c: expose matched column in match_line()
798 + . Documentation/config.txt: camel-case lineNumber for consistency
799 (this branch is used by tb/grep-only-matching.)
800
801 "git grep" learned the "--column" option that gives not just the
802 line number but the column number of the hit.
803
1015 - What's the doneness of this topic?
804 + Expecting a reroll.
805 + cf. <20180530160908.GA8340@D-10-19-29-76.dhcp4.washington.edu>
806
807
808 * tb/grep-only-matching (2018-05-14) 2 commits
1019 - - builtin/grep.c: teach '-o', '--only-matching' to 'git-grep'
1020 - - grep.c: extract show_line_header()
809 + . builtin/grep.c: teach '-o', '--only-matching' to 'git-grep'
810 + . grep.c: extract show_line_header()
811 (this branch uses tb/grep-column.)
812
1023 - What's the doneness of this topic?
813 + Waiting on tb/grep-column
814
815
816 * sb/diff-color-move-more (2018-05-21) 8 commits
@@ -1059,35 +849,7 @@ of the repositories listed at
849 pre-computed generation numbers to speed up the decisions to stop
850 history traversal.
851
1062 - Will merge to 'master'.
1063 -
1064 -
1065 -* nd/command-list (2018-05-21) 17 commits
1066 - (merged to 'next' on 2018-05-24 at 093e983b05)
1067 - + completion: allow to customize the completable command list
1068 - + completion: add and use --list-cmds=alias
1069 - + completion: add and use --list-cmds=nohelpers
1070 - + Move declaration for alias.c to alias.h
1071 - + completion: reduce completable command list
1072 - + completion: let git provide the completable command list
1073 - + command-list.txt: documentation and guide line
1074 - + help: use command-list.txt for the source of guides
1075 - + help: add "-a --verbose" to list all commands with synopsis
1076 - + git: support --list-cmds=list-<category>
1077 - + completion: implement and use --list-cmds=main,others
1078 - + git --list-cmds: collect command list in a string_list
1079 - + git.c: convert --list-* to --list-cmds=*
1080 - + Remove common-cmds.h
1081 - + help: use command-list.h for common command list
1082 - + generate-cmds.sh: export all commands to command-list.h
1083 - + generate-cmds.sh: factor out synopsis extract code
1084 - (this branch is used by nd/complete-config-vars.)
1085 -
1086 - The list of commands with their various attributes were spread
1087 - across a few places in the build procedure, but it now is getting a
1088 - bit more consolidated to allow more automation.
1089 -
1090 - Will merge to 'master'.
852 + Will cook in 'next'.
853
854
855 * jk/branch-l-0-deprecation (2018-05-25) 5 commits