What's cooking (2017/06 #06)

Junio C Hamano committed Jun 22, 2017 at 15:34 UTC 847201368337976fd5482e3fa4b2e0d79bb05443
1 file changed +379 -360
whats-cooking.txt
+379 -360
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jun 2017, #05; Mon, 19)
4 -X-master-at: 05ec6e13aaf33b6a647e1321203a770e697eea9a
5 -X-next-at: 0b547a2794f32e58c5c5c23c1b30b5e3920b2855
3 +Subject: What's cooking in git.git (Jun 2017, #06; Thu, 22)
4 +X-master-at: 5402b1352f5181247405fbff1887008a0cb3b04a
5 +X-next-at: bc1a90f0778b337f20670d4cbce0a6e2c034cbf5
6
7 -What's cooking in git.git (Jun 2017, #05; Mon, 19)
7 +What's cooking in git.git (Jun 2017, #06; Thu, 22)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -20,227 +20,365 @@ of the repositories listed at
20 --------------------------------------------------
21 [Graduated to "master"]
22
23 -* ab/pcre-v2 (2017-06-02) 8 commits
24 - (merged to 'next' on 2017-06-13 at 34bf49ee44)
25 - + grep: add support for PCRE v2
26 - + grep: un-break building with PCRE >= 8.32 without --enable-jit
27 - + grep: un-break building with PCRE < 8.20
28 - + grep: un-break building with PCRE < 8.32
29 - + grep: add support for the PCRE v1 JIT API
30 - + log: add -P as a synonym for --perl-regexp
31 - + grep: skip pthreads overhead when using one thread
32 - + grep: don't redundantly compile throwaway patterns under threading
33 -
34 - Update "perl-compatible regular expression" support to enable JIT
35 - and also allow linking with the newer PCRE v2 library.
36 -
37 -
38 -* ab/perf-remove-index-lock (2017-06-05) 1 commit
39 - (merged to 'next' on 2017-06-13 at c532e59233)
40 - + perf: work around the tested repo having an index.lock
41 -
42 - When an existing repository is used for t/perf testing, we first
43 - create bit-for-bit copy of it, which may grab a transient state of
44 - the repository and freeze it into the repository used for testing,
45 - which then may cause Git operations to fail. Single out "the index
46 - being locked" case and forcibly drop the lock from the copy.
47 -
48 -
49 -* bw/object-id (2017-06-05) 33 commits
50 - (merged to 'next' on 2017-06-13 at 0582278759)
51 - + diff: rename diff_fill_sha1_info to diff_fill_oid_info
52 - + diffcore-rename: use is_empty_blob_oid
53 - + tree-diff: convert path_appendnew to object_id
54 - + tree-diff: convert diff_tree_paths to struct object_id
55 - + tree-diff: convert try_to_follow_renames to struct object_id
56 - + builtin/diff-tree: cleanup references to sha1
57 - + diff-tree: convert diff_tree_sha1 to struct object_id
58 - + notes-merge: convert write_note_to_worktree to struct object_id
59 - + notes-merge: convert verify_notes_filepair to struct object_id
60 - + notes-merge: convert find_notes_merge_pair_ps to struct object_id
61 - + notes-merge: convert merge_from_diffs to struct object_id
62 - + notes-merge: convert notes_merge* to struct object_id
63 - + tree-diff: convert diff_root_tree_sha1 to struct object_id
64 - + combine-diff: convert find_paths_* to struct object_id
65 - + combine-diff: convert diff_tree_combined to struct object_id
66 - + diff: convert diff_flush_patch_id to struct object_id
67 - + patch-ids: convert to struct object_id
68 - + diff: finish conversion for prepare_temp_file to struct object_id
69 - + diff: convert reuse_worktree_file to struct object_id
70 - + diff: convert fill_filespec to struct object_id
71 - + diff: convert diff_change to struct object_id
72 - + diff: convert run_diff_files to struct object_id
73 - + diff: convert diff_addremove to struct object_id
74 - + diff: convert diff_index_show_file to struct object_id
75 - + diff: convert get_stat_data to struct object_id
76 - + grep: convert to struct object_id
77 - + notes: convert some accessor functions to struct object_id
78 - + builtin/notes: convert to struct object_id
79 - + notes: convert format_display_notes to struct object_id
80 - + notes: make get_note return pointer to struct object_id
81 - + notes: convert for_each_note to struct object_id
82 - + notes: convert internal parts to struct object_id
83 - + notes: convert internal structures to struct object_id
84 -
85 - Conversion from uchar[20] to struct object_id continues.
86 -
87 -
88 -* jk/consistent-h (2017-06-05) 8 commits
89 - (merged to 'next' on 2017-06-13 at e09c1fe968)
90 - + t0012: test "-h" with builtins
91 - + git: add hidden --list-builtins option
92 - + version: convert to parse-options
93 - + diff- and log- family: handle "git cmd -h" early
94 - + submodule--helper: show usage for "-h"
95 - + remote-{ext,fd}: print usage message on invalid arguments
96 - + upload-archive: handle "-h" option early
97 - + credential: handle invalid arguments earlier
98 -
99 - "git $cmd -h" for builtin commands calls the implementation of the
100 - command (i.e. cmd_$cmd() function) without doing any repository
101 - set-up, and the commands that expect RUN_SETUP is done by the Git
102 - potty needs to be prepared to show the help text without barfing.
103 -
104 -
105 -* jk/pathspec-magic-disambiguation (2017-05-29) 6 commits
106 - (merged to 'next' on 2017-06-13 at 088987f033)
107 - + verify_filename(): flip order of checks
108 - + verify_filename(): treat ":(magic)" as a pathspec
109 - + check_filename(): handle ":^" path magic
110 - + check_filename(): use skip_prefix
111 - + check_filename(): refactor ":/" handling
112 - + t4208: add check for ":/" without matching file
113 -
114 - The convention for a command line is to follow "git cmdname
115 - --options" with revisions followed by an optional "--"
116 - disambiguator and then finally pathspecs. When "--" is not there,
117 - we make sure early ones are all interpretable as revs (and do not
118 - look like paths) and later ones are the other way around. A
119 - pathspec with "magic" (e.g. ":/p/a/t/h" that matches p/a/t/h from
120 - the top-level of the working tree, no matter what subdirectory you
121 - are working from) are conservatively judged as "not a path", which
122 - required disambiguation more often. The command line parser
123 - learned to say "it's a pathspec" a bit more often when the syntax
124 - looks like so.
125 -
126 -
127 -* sb/submodule-rm-absorb (2017-06-04) 1 commit
128 - (merged to 'next' on 2017-06-13 at ed902e8fb4)
129 - + Documentation/git-rm: correct submodule description
130 -
131 - Doc update to a recently graduated topic.
23 +* ah/filter-branch-setup (2017-06-12) 2 commits
24 + (merged to 'next' on 2017-06-19 at f3440f2c1a)
25 + + filter-branch: add [--] to usage
26 + + filter-branch: add `--setup` step
27 +
28 + "filter-branch" learned a pseudo filter "--setup" that can be used
29 + to define a common function/variable that can be used by other
30 + filters.
31 +
32 +
33 +* km/test-mailinfo-b-failure (2017-06-12) 1 commit
34 + (merged to 'next' on 2017-06-19 at badc2c2337)
35 + + t5100: add some more mailinfo tests
36 +
37 + New tests.
38 +
39 +
40 +* ls/github (2017-06-13) 1 commit
41 + (merged to 'next' on 2017-06-19 at 4d2024615f)
42 + + Configure Git contribution guidelines for github.com
43 +
44 + Help contributors that visit us at GitHub.
45 +
46 +
47 +* mh/fast-import-raise-default-depth (2017-06-12) 1 commit
48 + (merged to 'next' on 2017-06-19 at 7093c07b8e)
49 + + fast-import: increase the default pack depth to 50
50 +
51 + "fast-import" uses a default pack chain depth that is consistent
52 + with other parts of the system.
53 +
54 +
55 +* nd/fopen-errors (2017-06-15) 1 commit
56 + (merged to 'next' on 2017-06-15 at 86bcb7c082)
57 + + configure.ac: loosen FREAD_READS_DIRECTORIES test program
58 +
59 + Hotfix for a topic that is already in 'master'.
60 +
61 +
62 +* pc/dir-count-slashes (2017-06-12) 1 commit
63 + (merged to 'next' on 2017-06-19 at 57351a2771)
64 + + dir: create function count_slashes()
65 +
66 + Three instances of the same helper function have been consolidated
67 + to one.
68 +
69 +
70 +* ps/stash-push-pathspec-fix (2017-06-13) 1 commit
71 + (merged to 'next' on 2017-06-19 at 866c9035e0)
72 + + git-stash: fix pushing stash with pathspec from subdir
73 +
74 + "git stash push <pathspec>" did not work from a subdirectory at all.
75 + Bugfix for a topic in v2.13
76 +
77 +
78 +* rs/strbuf-addftime-zZ (2017-06-15) 3 commits
79 + (merged to 'next' on 2017-06-19 at 77480669f0)
80 + + date: use localtime() for "-local" time formats
81 + + t0006: check --date=format zone offsets
82 + + strbuf: let strbuf_addftime handle %z and %Z itself
83 +
84 + As there is no portable way to pass timezone information to
85 + strftime, some output format from "git log" and friends are
86 + impossible to produce. Teach our own strbuf_addftime to replace %z
87 + and %Z with caller-supplied values to help working around this.
88 +
89 +
90 +* sb/t4005-modernize (2017-06-10) 1 commit
91 + (merged to 'next' on 2017-06-19 at beedeb757b)
92 + + t4005: modernize style and drop hard coded sha1
93 +
94 + Test clean-up.
95 +
96 +
97 +* sd/t3200-branch-m-test (2017-06-13) 1 commit
98 + (merged to 'next' on 2017-06-19 at 0fd712c46e)
99 + + t3200: add test for single parameter passed to -m option
100 +
101 + New test.
102 +
103 +
104 +* sg/revision-parser-skip-prefix (2017-06-12) 5 commits
105 + (merged to 'next' on 2017-06-19 at 0a90bec767)
106 + + revision.c: use skip_prefix() in handle_revision_pseudo_opt()
107 + + revision.c: use skip_prefix() in handle_revision_opt()
108 + + revision.c: stricter parsing of '--early-output'
109 + + revision.c: stricter parsing of '--no-{min,max}-parents'
110 + + revision.h: turn rev_info.early_output back into an unsigned int
111 +
112 + Code clean-up.
113
114 --------------------------------------------------
115 [New Topics]
116
117 +* mh/packed-ref-store-prep-extra (2017-06-18) 1 commit
118 + - prefix_ref_iterator_advance(): relax the check of trim length
119 + (this branch uses mh/packed-ref-store-prep; is tangled with mh/packed-ref-store.)
120 +
121 + Split out of mh/packed-ref-store-prep; will drop.
122 +
123 +
124 +* ab/die-errors-in-threaded (2017-06-21) 1 commit
125 + - die(): stop hiding errors due to overzealous recursion guard
126 +
127 + Traditionally, the default die() routine had a code to prevent it
128 + from getting called multiple times, which interacted badly when a
129 + threaded program used it (one downside is that the real error may
130 + be hidden and instead the only error message given to the user may
131 + end up being "die recursion detected", which is not very useful).
132 +
133 + Will merge to 'next'.
134 +
135 +
136 +* ab/pcre-v2 (2017-06-21) 1 commit
137 + (merged to 'next' on 2017-06-21 at fb6320213c)
138 + + grep: fix erroneously copy/pasted variable in check/assert pattern
139 +
140 + Hotfix for a topic already in 'master'.
141 +
142 + Will merge to 'master'.
143 +
144 +
145 +* bw/repo-object (2017-06-22) 21 commits
146 + - ls-files: use repository object
147 + - repository: enable initialization of submodules
148 + - submodule: convert is_submodule_initialized to work on a repository
149 + - submodule: add repo_read_gitmodules
150 + - submodule-config: store the_submodule_cache in the_repository
151 + - repository: add index_state to struct repo
152 + - config: read config from a repository object
153 + - path: add repo_worktree_path and strbuf_repo_worktree_path
154 + - path: add repo_git_path and strbuf_repo_git_path
155 + - path: worktree_git_path() should not use file relocation
156 + - path: convert do_git_path to take a 'struct repository'
157 + - path: convert strbuf_git_common_path to take a 'struct repository'
158 + - path: always pass in commondir to update_common_dir
159 + - path: create path.h
160 + - environment: store worktree in the_repository
161 + - environment: place key repository state in the_repository
162 + - repository: introduce the repository object
163 + - environment: remove namespace_len variable
164 + - setup: add comment indicating a hack
165 + - setup: don't perform lazy initialization of repository state
166 + - Merge branches 'bw/ls-files-sans-the-index' and 'bw/config-h' into HEAD
167 + (this branch uses bw/config-h, bw/ls-files-sans-the-index and js/alias-early-config.)
168 +
169 + Introduce a "repository" object to eventually make it easier to
170 + work in multiple repositories (the primary focus is to work with
171 + the superproject and its submodules) in a single process.
172 +
173 +
174 +* dt/raise-core-packed-git-limit (2017-06-21) 1 commit
175 + (merged to 'next' on 2017-06-22 at bc1a90f077)
176 + + docs: update 64-bit core.packedGitLimit default
177 +
178 + Doc update for a topic already in 'master'.
179 +
180 + Will merge to 'master'.
181 +
182 +
183 +* jk/add-p-commentchar-fix (2017-06-21) 2 commits
184 + (merged to 'next' on 2017-06-22 at 5a1d464e6d)
185 + + add--interactive: quote commentChar regex
186 + + add--interactive: handle EOF in prompt_yesno
187 +
188 + "git add -p" were updated in 2.12 timeframe to cope with custom
189 + core.commentchar but the implementation was buggy and a
190 + metacharacter like $ and * did not work.
191 +
192 + Will merge to 'master'.
193 +
194 +
195 +* ks/t7508-indent-fix (2017-06-21) 1 commit
196 + (merged to 'next' on 2017-06-22 at d12526967b)
197 + + t7508: fix a broken indentation
198 +
199 + Cosmetic update to a test.
200 +
201 + Will merge to 'master'.
202 +
203 +
204 +* mb/reword-autocomplete-message (2017-06-21) 1 commit
205 + (merged to 'next' on 2017-06-22 at 878888a743)
206 + + auto-correct: tweak phrasing
207 +
208 + Message update.
209 +
210 + Will merge to 'master'.
211 +
212 +
213 +* ks/submodule-add-doc (2017-06-22) 1 commit
214 + - Documentation/git-submodule: cleanup "add" section
215 +
216 + Doc update.
217 +
218 + Will merge to 'next'.
219 +
220 +
221 +* pw/unquote-path-in-git-pm (2017-06-22) 5 commits
222 + - git-add--interactive.perl: Use unquote_path() from Git.pm
223 + - Add tests for Git::unquote_path()
224 + - Git::unquote_path() throw an exception on bad path
225 + - Git::unquote_path() Handle '\a'
226 + - Git.pm: add unquote_path()
227 + (this branch uses rs/sha1-name-readdir-optim.)
228 +
229 + Code refactoring.
230 +
231 + Expecting a reroll.
232 + The structure of the series has a bit to be desired, but the end
233 + result looked mostly OK.
234 +
235 +
236 +* rs/sha1-name-readdir-optim (2017-06-22) 1 commit
237 + - sha1_name: cache readdir(3) results in find_short_object_filename()
238 + (this branch is used by pw/unquote-path-in-git-pm.)
239 +
240 + Optimize "what are the object names already taken in an alternate
241 + object database?" query that is used to derive the length of prefix
242 + an object name is uniquely abbreviated to.
243 +
244 + It would be nice to have some numbers, though.
245 +
246 +--------------------------------------------------
247 +[Stalled]
248 +
249 +* mg/status-in-progress-info (2017-05-10) 2 commits
250 + - status --short --inprogress: spell it as --in-progress
251 + - status: show in-progress info for short status
252 +
253 + "git status" learns an option to report various operations
254 + (e.g. "merging") that the user is in the middle of.
255 +
256 + cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
257 +
258 +
259 +* nd/worktree-move (2017-04-20) 6 commits
260 + - worktree remove: new command
261 + - worktree move: refuse to move worktrees with submodules
262 + - worktree move: accept destination as directory
263 + - worktree move: new command
264 + - worktree.c: add update_worktree_location()
265 + - worktree.c: add validate_worktree()
266 +
267 + "git worktree" learned move and remove subcommands.
268 +
269 + Expecting a reroll.
270 + cf. <20170420101024.7593-1-pclouds@gmail.com>
271 + cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
272 + cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
273 +
274 +--------------------------------------------------
275 +[Cooking]
276 +
277 * ab/free-and-null (2017-06-16) 6 commits
137 - - *.[ch] refactoring: make use of the FREE_AND_NULL() macro
138 - - coccinelle: make use of the "expression" FREE_AND_NULL() rule
139 - - coccinelle: add a rule to make "expression" code use FREE_AND_NULL()
140 - - coccinelle: make use of the "type" FREE_AND_NULL() rule
141 - - coccinelle: add a rule to make "type" code use FREE_AND_NULL()
142 - - git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL
278 + (merged to 'next' on 2017-06-21 at a1825fabd8)
279 + + *.[ch] refactoring: make use of the FREE_AND_NULL() macro
280 + + coccinelle: make use of the "expression" FREE_AND_NULL() rule
281 + + coccinelle: add a rule to make "expression" code use FREE_AND_NULL()
282 + + coccinelle: make use of the "type" FREE_AND_NULL() rule
283 + + coccinelle: add a rule to make "type" code use FREE_AND_NULL()
284 + + git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL
285
286 A common pattern to free a piece of memory and assign NULL to the
287 pointer that used to point at it has been replaced with a new
288 FREE_AND_NULL() macro.
289
148 - Will merge to 'next'.
290 + Will merge to 'master'.
291
292
293 * ab/wildmatch-glob-slash-test (2017-06-15) 1 commit
152 - - wildmatch test: cover a blind spot in "/" matching
294 + (merged to 'next' on 2017-06-21 at 8f4a056f5f)
295 + + wildmatch test: cover a blind spot in "/" matching
296
297 A new test to show the interaction between the pattern [^a-z]
298 (which matches '/') and a slash in a path has been added. The
299 pattern should not match the slash with "pathmatch", but should
300 with "wildmatch".
301
159 - Will merge to 'next'.
302 + Will merge to 'master'.
303
304
305 * ah/doc-gitattributes-empty-index (2017-06-15) 1 commit
163 - - doc: do not use `rm .git/index` when normalizing line endings
306 + (merged to 'next' on 2017-06-21 at f1dc92557b)
307 + + doc: do not use `rm .git/index` when normalizing line endings
308
309 An example in documentation that does not work in multi worktree
310 configuration has been corrected.
311
168 - Will merge to 'next'.
312 + Will merge to 'master'.
313
314
315 * jk/diff-highlight-module (2017-06-15) 1 commit
172 - - diff-highlight: split code into module
316 + (merged to 'next' on 2017-06-21 at e418062ad2)
317 + + diff-highlight: split code into module
318
319 The 'diff-highlight' program (in contrib/) has been restructured
320 for easier reuse by an external project 'diff-so-fancy'.
321
177 - Will merge to 'next'.
322 + Will merge to 'master'.
323
324
180 -* jt/unify-object-info (2017-06-15) 4 commits
181 - - sha1_file, fsck: add missing blob support
182 - - sha1_file: consolidate storage-agnostic object fns
325 +* jt/unify-object-info (2017-06-21) 8 commits
326 + - sha1_file: refactor has_sha1_file_with_flags
327 + - sha1_file: do not access pack if unneeded
328 + - sha1_file: improve sha1_object_info_extended
329 + - sha1_file: refactor read_object
330 - sha1_file: move delta base cache code up
331 + - sha1_file: rename LOOKUP_REPLACE_OBJECT
332 + - sha1_file: rename LOOKUP_UNKNOWN_OBJECT
333 - sha1_file: teach packed_object_info about typename
334
335 Code clean-ups.
336
188 - I seem to have made a mistake during my review of the previous
189 - one, and took this one in a wrong direction. A better organization
190 - was suggested.
191 - cf. <20170617121934.a6onn7f2luhkuuym@sigill.intra.peff.net>
337 + Looked sensible to me. Any further comments?
338
339
340 * rs/pretty-add-again (2017-06-15) 1 commit
195 - - pretty: recalculate duplicate short hashes
341 + (merged to 'next' on 2017-06-21 at 5128ad3632)
342 + + pretty: recalculate duplicate short hashes
343
344 The pretty-format specifiers like '%h', '%t', etc. had an
345 optimization that no longer works correctly. In preparation/hope
346 of getting it correctly implemented, first discard the optimization
347 that is broken.
348
202 - Will merge to 'next'.
349 + Will merge to 'master'.
350
351
352 * sg/doc-pretty-formats (2017-06-15) 1 commit
206 - - docs/pretty-formats: stress that %- removes all preceding line-feeds
353 + (merged to 'next' on 2017-06-21 at 011df65cf5)
354 + + docs/pretty-formats: stress that %- removes all preceding line-feeds
355
356 Doc update.
357
210 - Will merge to 'next'.
358 + Will merge to 'master'.
359
360
361 * sn/reset-doc-typofix (2017-06-15) 1 commit
214 - - doc: git-reset: fix a trivial typo
362 + (merged to 'next' on 2017-06-21 at 3e629ac2cb)
363 + + doc: git-reset: fix a trivial typo
364
365 Doc update.
366
218 - Will merge to 'next'.
219 -
220 -
221 -* nd/fopen-errors (2017-06-15) 1 commit
222 - (merged to 'next' on 2017-06-15 at 86bcb7c082)
223 - + configure.ac: loosen FREAD_READS_DIRECTORIES test program
224 -
225 - Hotfix for a topic that is already in 'master'.
226 -
227 - Will merge to 'next'.
367 + Will merge to 'master'.
368
369
370 * da/mergetools-meld-output-opt-on-macos (2017-06-18) 1 commit
231 - - mergetools/meld: improve compatibiilty with Meld on macOS X
371 + (merged to 'next' on 2017-06-21 at de00cce3c0)
372 + + mergetools/meld: improve compatibiilty with Meld on macOS X
373
374 "git mergetool" learned to work around a wrapper MacOS X adds
375 around underlying meld.
376
236 - Will merge to 'next'.
377 + Will merge to 'master'.
378
379
239 -* ks/status-initial-commit (2017-06-18) 4 commits
240 - - SQUASH???
241 - - Add test for the new status message
242 - - SQUASH???
243 - - Contextually notify user about an initial commit
380 +* ks/status-initial-commit (2017-06-21) 1 commit
381 + - status: contextually notify user about an initial commit
382
383 "git status" has long shown essentially the same message as "git
384 commit"; the message it gives while preparing for the root commit,
@@ -249,22 +387,23 @@ of the repositories listed at
387 (rather than the commit the user is preparing for, which is more in
388 line with the focus of "git commit").
389
252 - Expecting a reroll.
253 - cf. <20170619024123.5438-1-kaarticsivaraam91196@gmail.com>
390 + Will merge to 'next'.
391
392
393 * lb/status-stash-count (2017-06-18) 3 commits
257 - - glossary: define 'stash entry'
258 - - status: add optional stash count information
259 - - stash: update documentation to use 'stash entry'
394 + (merged to 'next' on 2017-06-22 at 86bc2f2213)
395 + + glossary: define 'stash entry'
396 + + status: add optional stash count information
397 + + stash: update documentation to use 'stash entry'
398
399 "git status" learned to optionally give how many stash entries the
400 user has in its output.
401
264 - Will merge to 'next'.
402 + Will merge to 'master'.
403
404
267 -* mh/packed-ref-store (2017-06-18) 28 commits
405 +* mh/packed-ref-store (2017-06-19) 29 commits
406 + - SQUASH???
407 - read_packed_refs(): die if `packed-refs` contains bogus data
408 - repack_without_refs(): don't lock or unlock the packed refs
409 - commit_packed_refs(): remove call to `packed_refs_unlock()`
@@ -293,7 +432,7 @@ of the repositories listed at
432 - packed_ref_store: move `packed_refs_path` here
433 - packed_ref_store: new struct
434 - add_packed_ref(): teach function to overwrite existing refs
296 - (this branch uses mh/packed-ref-store-prep.)
435 + (this branch uses mh/packed-ref-store-prep; is tangled with mh/packed-ref-store-prep-extra.)
436
437 The "ref-store" code reorganization continues.
438
@@ -302,45 +441,16 @@ of the repositories listed at
441 error.
442 cf. <20170619195330.fhjlfiqmcwhgttaa@sigill.intra.peff.net>
443
305 ---------------------------------------------------
306 -[Stalled]
307 -
308 -* mg/status-in-progress-info (2017-05-10) 2 commits
309 - - status --short --inprogress: spell it as --in-progress
310 - - status: show in-progress info for short status
311 -
312 - "git status" learns an option to report various operations
313 - (e.g. "merging") that the user is in the middle of.
314 -
315 - cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
316 -
317 -
318 -* nd/worktree-move (2017-04-20) 6 commits
319 - - worktree remove: new command
320 - - worktree move: refuse to move worktrees with submodules
321 - - worktree move: accept destination as directory
322 - - worktree move: new command
323 - - worktree.c: add update_worktree_location()
324 - - worktree.c: add validate_worktree()
325 -
326 - "git worktree" learned move and remove subcommands.
327 -
328 - Expecting a reroll.
329 - cf. <20170420101024.7593-1-pclouds@gmail.com>
330 - cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
331 - cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
332 -
333 ---------------------------------------------------
334 -[Cooking]
444
445 * js/alias-early-config (2017-06-15) 6 commits
337 - - alias: use the early config machinery to expand aliases
338 - - t7006: demonstrate a problem with aliases in subdirectories
339 - - t1308: relax the test verifying that empty alias values are disallowed
340 - - help: use early config when autocorrecting aliases
341 - - config: report correct line number upon error
342 - - discover_git_directory(): avoid setting invalid git_dir
343 - (this branch is used by bw/config-h.)
446 + (merged to 'next' on 2017-06-21 at ca4995aac2)
447 + + alias: use the early config machinery to expand aliases
448 + + t7006: demonstrate a problem with aliases in subdirectories
449 + + t1308: relax the test verifying that empty alias values are disallowed
450 + + help: use early config when autocorrecting aliases
451 + + config: report correct line number upon error
452 + + discover_git_directory(): avoid setting invalid git_dir
453 + (this branch is used by bw/config-h and bw/repo-object.)
454
455 The code to pick up and execute command alias definition from the
456 configuration used to switch to the top of the working tree and
@@ -348,142 +458,77 @@ of the repositories listed at
458 unnecessarilyl complex. Attempt to simplify the logic by using the
459 early-config mechanism that does not chdir around.
460
351 - Will merge to 'next'.
352 -
353 -
354 -* pc/dir-count-slashes (2017-06-12) 1 commit
355 - (merged to 'next' on 2017-06-19 at 57351a2771)
356 - + dir: create function count_slashes()
357 -
358 - Three instances of the same helper function have been consolidated
359 - to one.
360 -
361 - Will merge to 'master'.
362 -
363 -
364 -* sb/t4005-modernize (2017-06-10) 1 commit
365 - (merged to 'next' on 2017-06-19 at beedeb757b)
366 - + t4005: modernize style and drop hard coded sha1
367 -
368 - Test clean-up.
369 -
370 - Will merge to 'master'.
371 -
372 -
373 -* ah/filter-branch-setup (2017-06-12) 2 commits
374 - (merged to 'next' on 2017-06-19 at f3440f2c1a)
375 - + filter-branch: add [--] to usage
376 - + filter-branch: add `--setup` step
377 -
378 - "filter-branch" learned a pseudo filter "--setup" that can be used
379 - to define a common function/variable that can be used by other
380 - filters.
381 -
461 Will merge to 'master'.
462
463
464 * bw/config-h (2017-06-15) 6 commits
386 - - config: don't implicitly use gitdir or commondir
387 - - config: respect commondir
388 - - setup: teach discover_git_directory to respect the commondir
389 - - config: don't include config.h by default
390 - - config: remove git_config_iter
391 - - config: create config.h
392 - (this branch uses js/alias-early-config.)
465 + (merged to 'next' on 2017-06-21 at 15c5f34034)
466 + + config: don't implicitly use gitdir or commondir
467 + + config: respect commondir
468 + + setup: teach discover_git_directory to respect the commondir
469 + + config: don't include config.h by default
470 + + config: remove git_config_iter
471 + + config: create config.h
472 + (this branch is used by bw/repo-object; uses js/alias-early-config.)
473
474 Fix configuration codepath to pay proper attention to commondir
475 that is used in multi-worktree situation, and isolate config API
476 into its own header file.
477
398 - Will merge to 'next'.
478 + Will merge to 'master'.
479
480
481 * bw/ls-files-sans-the-index (2017-06-13) 17 commits
402 - - ls-files: factor out tag calculation
403 - - ls-files: factor out debug info into a function
404 - - ls-files: convert show_files to take an index
405 - - ls-files: convert show_ce_entry to take an index
406 - - ls-files: convert prune_cache to take an index
407 - - ls-files: convert ce_excluded to take an index
408 - - ls-files: convert show_ru_info to take an index
409 - - ls-files: convert show_other_files to take an index
410 - - ls-files: convert show_killed_files to take an index
411 - - ls-files: convert write_eolinfo to take an index
412 - - ls-files: convert overlay_tree_on_cache to take an index
413 - - tree: convert read_tree to take an index parameter
414 - - convert: convert renormalize_buffer to take an index
415 - - convert: convert convert_to_git to take an index
416 - - convert: convert convert_to_git_filter_fd to take an index
417 - - convert: convert crlf_to_git to take an index
418 - - convert: convert get_cached_convert_stats_ascii to take an index
482 + (merged to 'next' on 2017-06-21 at 39ce64f6c7)
483 + + ls-files: factor out tag calculation
484 + + ls-files: factor out debug info into a function
485 + + ls-files: convert show_files to take an index
486 + + ls-files: convert show_ce_entry to take an index
487 + + ls-files: convert prune_cache to take an index
488 + + ls-files: convert ce_excluded to take an index
489 + + ls-files: convert show_ru_info to take an index
490 + + ls-files: convert show_other_files to take an index
491 + + ls-files: convert show_killed_files to take an index
492 + + ls-files: convert write_eolinfo to take an index
493 + + ls-files: convert overlay_tree_on_cache to take an index
494 + + tree: convert read_tree to take an index parameter
495 + + convert: convert renormalize_buffer to take an index
496 + + convert: convert convert_to_git to take an index
497 + + convert: convert convert_to_git_filter_fd to take an index
498 + + convert: convert crlf_to_git to take an index
499 + + convert: convert get_cached_convert_stats_ascii to take an index
500 + (this branch is used by bw/repo-object.)
501
502 Code clean-up.
503
422 - Will merge to 'next'.
504 + Will merge to 'master'.
505
506
507 * jk/warn-add-gitlink (2017-06-15) 2 commits
426 - - t: move "git add submodule" into test blocks
427 - - add: warn when adding an embedded repository
508 + (merged to 'next' on 2017-06-21 at 7210ddbb2e)
509 + + t: move "git add submodule" into test blocks
510 + + add: warn when adding an embedded repository
511
512 Using "git add d/i/r" when d/i/r is the top of the working tree of
513 a separate repository would create a gitlink in the index, which
514 would appear as a not-quite-initialized submodule to others. We
515 learned to give warnings when this happens.
516
434 - Will merge to 'next'.
435 -
436 -
437 -* km/test-mailinfo-b-failure (2017-06-12) 1 commit
438 - (merged to 'next' on 2017-06-19 at badc2c2337)
439 - + t5100: add some more mailinfo tests
440 -
441 - New tests.
442 -
517 Will merge to 'master'.
518
519
446 -* ls/github (2017-06-13) 1 commit
447 - (merged to 'next' on 2017-06-19 at 4d2024615f)
448 - + Configure Git contribution guidelines for github.com
449 -
450 - Help contributors that visit us at GitHub.
451 -
452 - Will merge to 'master'.
453 -
454 -
455 -* mh/fast-import-raise-default-depth (2017-06-12) 1 commit
456 - (merged to 'next' on 2017-06-19 at 7093c07b8e)
457 - + fast-import: increase the default pack depth to 50
458 -
459 - "fast-import" uses a default pack chain depth that is consistent
460 - with other parts of the system.
461 -
462 - Will merge to 'master'.
463 -
464 -
465 -* mh/packed-ref-store-prep (2017-06-18) 3 commits
466 - - prefix_ref_iterator_advance(): relax the check of trim length
467 - - for_each_bisect_ref(): don't trim refnames
468 - - lock_packed_refs(): fix cache validity check
469 - (this branch is used by mh/packed-ref-store.)
520 +* mh/packed-ref-store-prep (2017-06-18) 2 commits
521 + (merged to 'next' on 2017-06-22 at 3f7a4da1e8)
522 + + for_each_bisect_ref(): don't trim refnames
523 + + lock_packed_refs(): fix cache validity check
524 + (this branch is used by mh/packed-ref-store and mh/packed-ref-store-prep-extra.)
525
526 Bugfix for a topic that is (only) in 'master'.
527
473 - Will merge the first two to 'next'.
474 -
475 -
476 -* ps/stash-push-pathspec-fix (2017-06-13) 1 commit
477 - (merged to 'next' on 2017-06-19 at 866c9035e0)
478 - + git-stash: fix pushing stash with pathspec from subdir
479 -
480 - "git stash push <pathspec>" did not work from a subdirectory at all.
481 - Bugfix for a topic in v2.13
482 -
528 Will merge to 'master'.
529
530
486 -* sb/submodule-doc (2017-06-13) 1 commit
531 +* sb/submodule-doc (2017-06-22) 1 commit
532 - submodules: overhaul documentation
533
534 Doc update.
@@ -491,15 +536,6 @@ of the repositories listed at
536 Waiting for discussion to settle.
537
538
494 -* sd/t3200-branch-m-test (2017-06-13) 1 commit
495 - (merged to 'next' on 2017-06-19 at 0fd712c46e)
496 - + t3200: add test for single parameter passed to -m option
497 -
498 - New test.
499 -
500 - Will merge to 'master'.
501 -
502 -
539 * sd/branch-copy (2017-06-18) 3 commits
540 - branch: add a --copy (-c) option to go with --move (-m)
541 - branch: add test for -m renaming multiple config sections
@@ -512,33 +548,6 @@ of the repositories listed at
548 wait for them to stabilize a bit more.
549
550
515 -* rs/strbuf-addftime-zZ (2017-06-15) 3 commits
516 - (merged to 'next' on 2017-06-19 at 77480669f0)
517 - + date: use localtime() for "-local" time formats
518 - + t0006: check --date=format zone offsets
519 - + strbuf: let strbuf_addftime handle %z and %Z itself
520 -
521 - As there is no portable way to pass timezone information to
522 - strftime, some output format from "git log" and friends are
523 - impossible to produce. Teach our own strbuf_addftime to replace %z
524 - and %Z with caller-supplied values to help working around this.
525 -
526 - Will merge to 'master'.
527 -
528 -
529 -* sg/revision-parser-skip-prefix (2017-06-12) 5 commits
530 - (merged to 'next' on 2017-06-19 at 0a90bec767)
531 - + revision.c: use skip_prefix() in handle_revision_pseudo_opt()
532 - + revision.c: use skip_prefix() in handle_revision_opt()
533 - + revision.c: stricter parsing of '--early-output'
534 - + revision.c: stricter parsing of '--no-{min,max}-parents'
535 - + revision.h: turn rev_info.early_output back into an unsigned int
536 -
537 - Code clean-up.
538 -
539 - Will merge to 'master'.
540 -
541 -
551 * ls/filter-process-delayed (2017-06-01) 5 commits
552 - convert: add "status=delayed" to filter process protocol
553 - convert: move multiple file filter error handling to separate function
@@ -553,15 +562,16 @@ of the repositories listed at
562
563
564 * pw/rebase-i-regression-fix-tests (2017-06-19) 4 commits
556 - - rebase: add more regression tests for console output
557 - - rebase: add regression tests for console output
558 - - rebase -i: add test for reflog message
559 - - sequencer: print autostash messages to stderr
565 + (merged to 'next' on 2017-06-22 at d1dde1672a)
566 + + rebase: add more regression tests for console output
567 + + rebase: add regression tests for console output
568 + + rebase -i: add test for reflog message
569 + + sequencer: print autostash messages to stderr
570
571 Fix a recent regression to "git rebase -i" and add tests that would
572 have caught it and others.
573
564 - Will merge to 'next'.
574 + Will merge to 'master'.
575
576
577 * ab/sha1dc (2017-06-07) 2 commits
@@ -590,24 +600,32 @@ of the repositories listed at
600 Waiting for discussion to settle.
601
602
593 -* sb/diff-color-move (2017-06-01) 17 commits
603 +* sb/diff-color-move (2017-06-21) 25 commits
604 + - diff: document the new --color-moved setting
605 + - diff.c: add dimming to moved line detection
606 + - diff.c: color moved lines differently, plain mode
607 - diff.c: color moved lines differently
595 - - diff: buffer all output if asked to
596 - - diff.c: emit_line includes whitespace highlighting
597 - - diff.c: convert diff_summary to use emit_line_*
598 - - diff.c: convert diff_flush to use emit_line_*
599 - - diff.c: convert word diffing to use emit_line_*
600 - - diff.c: convert show_stats to use emit_line_*
601 - - diff.c: convert emit_binary_diff_body to use emit_line_*
602 - - submodule.c: convert show_submodule_summary to use emit_line_fmt
603 - - diff.c: convert emit_rewrite_lines to use emit_line_*
604 - - diff.c: convert emit_rewrite_diff to use emit_line_*
605 - - diff.c: convert builtin_diff to use emit_line_*
606 - - diff.c: convert fn_out_consume to use emit_line
607 - - diff: introduce more flexible emit function
608 + - diff.c: buffer all output if asked to
609 + - diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY
610 + - diff.c: emit_diff_symbol learns about DIFF_SYMBOL_STAT_SEP
611 + - diff.c: convert word diffing to use emit_diff_symbol
612 + - diff.c: convert show_stats to use emit_diff_symbol
613 + - diff.c: convert emit_binary_diff_body to use emit_diff_symbol
614 + - submodule.c: migrate diff output to use emit_diff_symbol
615 + - diff.c: emit_diff_symbol learns DIFF_SYMBOL_REWRITE_DIFF
616 + - diff.c: emit_diff_symbol learns about DIFF_SYMBOL_BINARY_FILES
617 + - diff.c: emit_diff_symbol learns DIFF_SYMBOL_HEADER
618 + - diff.c: emit_diff_symbol learns DIFF_SYMBOL_FILEPAIR
619 + - diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_INCOMPLETE
620 + - diff.c: emit_diff_symbol learns DIFF_SYMBOL_WORDS{_PORCELAIN}
621 + - diff.c: migrate emit_line_checked to use emit_diff_symbol
622 + - diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF
623 + - diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_FRAGINFO
624 + - diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_MARKER
625 + - diff.c: introduce emit_diff_symbol
626 - diff.c: factor out diff_flush_patch_all_file_pairs
609 - - diff: move line ending check into emit_hunk_header
610 - - diff: readability fix
627 + - diff.c: move line ending check into emit_hunk_header
628 + - diff.c: readability fix
629
630 "git diff" has been taught to optionally paint new lines that are
631 the same as deleted lines elsewhere differently from genuinely new
@@ -630,6 +648,7 @@ of the repositories listed at
648 * sg/clone-refspec-from-command-line-config (2017-06-16) 2 commits
649 - Documentation/clone: document ignored configuration variables
650 - clone: respect additional configured fetch refspecs during initial fetch
651 + (this branch is used by sg/remote-no-string-refspecs.)
652
653 "git clone -c var=val" is a way to set configuration variables in
654 the resulting repository, but it is more useful to also make these