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