What's cooking (2018/04 #02)
Junio C Hamano committed
Apr 17, 2018 at 14:34 UTC
4dbd0b37699e32bbaa957b5dd0b0b57bfc4db129
1 file changed
+1034
-797
whats-cooking.txt
+1034
-797
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Apr 2018, #01; Mon, 9)
4
-X-master-at: 468165c1d8a442994a825f3684528361727cd8c0
5
-X-next-at: 0c8726318caac19d9d977b9d5c971576311abb84
3
+Subject: What's cooking in git.git (Apr 2018, #02; Tue, 17)
4
+X-master-at: fe0a9eaf31dd0c349ae4308498c33a5c3794b293
5
+X-next-at: 8a3641ab3abcf492e9443f88d82a7a22fa8b4816
6
7
-What's cooking in git.git (Apr 2018, #01; Mon, 9)
7
+What's cooking in git.git (Apr 2018, #02; Tue, 17)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -20,284 +20,784 @@ behind the plan. Please do not read more than that into "cf." (e.g.
20
the ones listed are not more important than other messages in the
21
same thread).
22
23
-The tip of 'next' has not been rewind post 2.17 release. I plan to
24
-flush as many solid topics that have been cooking there down to
25
-'master' first without merging anything new to 'next', and then
26
-do so sometime in this week. Let's see how it goes.
27
-
23
You can find the changes described here in the integration branches
24
of the repositories listed at
25
26
http://git-blame.blogspot.com/p/git-public-repositories.html
27
33
---------------------------------------------------
34
-[Graduated to "master"]
35
-
36
-* pw/add-p-single (2018-03-31) 1 commit
37
- (merged to 'next' on 2018-03-31 at 43a177f941)
38
- + add -p: fix 2.17.0-rc* regression due to moved code
39
-
40
- Hotfix.
41
-
28
--------------------------------------------------
29
[New Topics]
30
45
-* ab/simplify-perl-makefile (2018-04-09) 2 commits
46
- - SQUASH???
47
- - perl: fix installing modules from contrib
48
-
49
- Recent simplification of build procedure forgot a bit of tweak to
50
- the build procedure of contrib/mw-to-git/
31
+* bt/gpg-interface (2018-04-16) 7 commits
32
+ - gpg-interface: find the last gpg signature line
33
+ - gpg-interface: extract gpg line matching helper
34
+ - gpg-interface: fix const-correctness of "eol" pointer
35
+ - gpg-interface: use size_t for signature buffer size
36
+ - gpg-interface: modernize function declarations
37
+ - gpg-interface: handle bool user.signingkey
38
+ - t7004: fix mistaken tag name
39
40
+ What is queued here is only the obviously correct and
41
+ uncontroversial code clean-up part, which is an earlier 7 patches,
42
+ of a larger series.
43
53
-* ak/bisect-doc-typofix (2018-04-07) 1 commit
54
- - Documentation/git-bisect.txt: git bisect term → git bisect terms
44
+ The remainder that is not queued introuces a few configuration
45
+ variables to deal with e-signature backends with different
46
+ signature format.
47
56
- Docfix.
48
+ I am not sure if this is going in a good direction. Wouldn't it
49
+ encourage fragmenting the world even more?
50
58
- Will merge to 'next'.
51
52
+* cb/bash-completion-ls-files-processing (2018-04-10) 1 commit
53
+ (merged to 'next' on 2018-04-17 at 956b155366)
54
+ + completion: improve ls-files filter performance
55
61
-* bw/commit-partial-from-subdirectory-fix (2018-04-05) 1 commit
62
- - commit: allow partial commits with relative paths
56
+ Shell completion (in contrib) that gives list of paths have been
57
+ optimized somewhat.
58
64
- "cd sub/dir && git commit ../path" ought to record the changes to
65
- the file "sub/path", but this regressed long time ago.
59
+ Will merge to 'master'.
60
67
- Will merge to 'next'.
61
62
+* ds/generation-numbers (2018-04-11) 10 commits
63
+ - commit: add short-circuit to paint_down_to_common()
64
+ - commit: use generation numbers for in_merge_bases()
65
+ - ref-filter: use generation number for --contains
66
+ - commit-graph.txt: update future work
67
+ - commit.c: use generation to halt paint walk
68
+ - commit: use generations in paint_down_to_common()
69
+ - commit-graph: compute generation numbers
70
+ - commit: add generation number to struct commmit
71
+ - merge: check config before loading commits
72
+ - object.c: parse commit in graph first
73
+ (this branch uses ds/commit-graph; is tangled with ds/lazy-load-trees.)
74
70
-* ds/lazy-load-trees (2018-04-07) 5 commits
71
- - commit-graph: lazy-load trees for commits
72
- - treewide: replace maybe_tree with accessor methods
73
- - commit: create get_commit_tree() method
74
- - treewide: rename tree to maybe_tree
75
- - Merge branch 'bw/c-plus-plus' into ds/lazy-load-trees
76
- (this branch uses ds/commit-graph.)
75
+ A recently added "commit-graph" datafile has learned to store
76
+ pre-computed generation numbers to speed up the decisions to stop
77
+ history traversal.
78
79
+ Expecting a reroll.
80
+ cf. <cc58d8c1-f8de-4841-934f-56e4ad7729aa@gmail.com>
81
79
-* jk/t5561-missing-curl (2018-04-05) 2 commits
80
- - t5561: skip tests if curl is not available
81
- - t5561: drop curl stderr redirects
82
83
- Test fixes.
83
+* bp/fsexcludes (2018-04-16) 2 commits
84
+ - fsmonitor: switch to use new fsexcludes logic and remove unused untracked cache based logic
85
+ - fsexcludes: add a programmatic way to exclude files from git's working directory traversal logic
86
85
- Will merge to 'next'.
87
+ Can we have a few lines summary here, just like we have for other
88
+ topic ;-) I personally take the overlong title of these commits as
89
+ a sign that they can further be simplified and cleaned up by
90
+ splitting, focusing the scope, etc.
91
92
+ Waiting for a bit more discussion.
93
+ cf. <CACsJy8B+fTfUiGA-cFE5QEipa_4pSfC4_GhUSJvCKL82G21xWw@mail.gmail.com>
94
88
-* ks/branch-list-detached-rebase-i (2018-04-05) 2 commits
89
- - t3200: verify "branch --list" sanity when rebasing from detached HEAD
90
- - branch --list: print useful info whilst interactive rebasing a detached HEAD
95
92
- "git branch --list" during an interrupted "rebase -i" now lets
93
- users distinguish the case where a detached HEAD is being rebased
94
- and a normal branch is being rebased.
96
+* bp/fsmonitor-bufsize-fix (2018-04-11) 1 commit
97
+ (merged to 'next' on 2018-04-17 at 70a7091e06)
98
+ + fsmonitor: fix incorrect buffer size when printing version number
99
96
- Will merge to 'next'.
100
+ Fix an unexploitable (because the oversized contents are not under
101
+ attacker's control) buffer overflow.
102
103
+ Will merge to 'master'.
104
99
-* lw/daemon-log-destination (2018-04-09) 1 commit
100
- - daemon.c: fix condition for redirecting stderr
105
102
- Recent introduction of "--log-destination" option to "git daemon"
103
- did not work well when the daemon was run under "--inetd" mode.
106
+* bp/fsmonitor-prime-index (2018-04-11) 1 commit
107
+ (merged to 'next' on 2018-04-17 at 765edccdf0)
108
+ + fsmonitor: force index write after full scan
109
105
- Will merge to 'next'.
110
+ The index file is updated to record the fsmonitor section after a
111
+ full scan was made, to avoid wasting the effort that has already
112
+ spent.
113
114
+ Will merge to 'master'.
115
108
-* mn/send-email-credential-doc (2018-04-08) 1 commit
109
- - send-email: simplify Gmail example in the documentation
116
111
- Doc update.
117
+* cc/perf-bisect (2018-04-11) 2 commits
118
+ (merged to 'next' on 2018-04-17 at 62a1498dd0)
119
+ + t/perf: add scripts to bisect performance regressions
120
+ + perf/run: add --subsection option
121
113
- Will merge to 'next'.
122
+ Performance measuring framework in t/perf learned to help bisecting
123
+ performance regressions.
124
125
+ Will merge to 'master'.
126
116
-* nd/worktree-move (2018-04-05) 1 commit
117
- - t2028: tighten grep expression to make "move worktree" test more robust
118
- (this branch is used by es/worktree-docs.)
127
120
- Test update.
128
+* en/rename-directory-detection-reboot (2018-04-16) 32 commits
129
+ - merge-recursive: fix check for skipability of working tree updates
130
+ - merge-recursive: Fix was_tracked() to quit lying with some renamed paths
131
+ - t6046: testcases checking whether updates can be skipped in a merge
132
+ - merge-recursive: improve output precision around skipping updates
133
+ - merge-recursive: avoid spurious rename/rename conflict from dir renames
134
+ - directory rename detection: new testcases showcasing a pair of bugs
135
+ - merge-recursive: fix remaining directory rename + dirty overwrite cases
136
+ - merge-recursive: fix overwriting dirty files involved in renames
137
+ - merge-recursive: avoid clobbering untracked files with directory renames
138
+ - merge-recursive: apply necessary modifications for directory renames
139
+ - merge-recursive: when comparing files, don't include trees
140
+ - merge-recursive: check for file level conflicts then get new name
141
+ - merge-recursive: add computation of collisions due to dir rename & merging
142
+ - merge-recursive: check for directory level conflicts
143
+ - merge-recursive: add get_directory_renames()
144
+ - merge-recursive: make a helper function for cleanup for handle_renames
145
+ - merge-recursive: split out code for determining diff_filepairs
146
+ - merge-recursive: make !o->detect_rename codepath more obvious
147
+ - merge-recursive: fix leaks of allocated renames and diff_filepairs
148
+ - merge-recursive: introduce new functions to handle rename logic
149
+ - merge-recursive: move the get_renames() function
150
+ - directory rename detection: tests for handling overwriting dirty files
151
+ - directory rename detection: tests for handling overwriting untracked files
152
+ - directory rename detection: miscellaneous testcases to complete coverage
153
+ - directory rename detection: testcases exploring possibly suboptimal merges
154
+ - directory rename detection: more involved edge/corner testcases
155
+ - directory rename detection: testcases checking which side did the rename
156
+ - directory rename detection: files/directories in the way of some renames
157
+ - directory rename detection: partially renamed directory testcase/discussion
158
+ - directory rename detection: testcases to avoid taking detection too far
159
+ - directory rename detection: directory splitting testcases
160
+ - directory rename detection: basic testcases
161
+
162
+ Reboot of an attempt to detect wholesale directory renames and use
163
+ it while merging.
164
+
165
+
166
+* fg/completion-external (2018-04-11) 1 commit
167
+ - completion: load completion file for external subcommand
168
+
169
+ The command line completion mechanism (in contrib/) learned to load
170
+ custom completion file for "git $command" where $command is a
171
+ custom "git-$command" that the end user has on the $PATH when using
172
+ newer version of bash.
173
174
Will merge to 'next'.
175
176
125
-* ab/git-svn-get-record-typofix (2018-04-09) 1 commit
126
- - git-svn: avoid warning on undef readline()
127
-
128
- "git svn" had a minor thinko/typo which has been fixed.
129
-
130
-
131
-* br/mergetools-guiffy (2018-04-06) 1 commit
132
- - mergetools: add support for guiffy
177
+* nd/command-list (2018-04-16) 7 commits
178
+ - SQUASH???
179
+ - help: use command-list.txt for the source of guides
180
+ - help: add "-a --verbose" to list all commands with synopsis
181
+ - git.c: implement --list-cmds=porcelain
182
+ - generate-cmdlist.sh: keep all information in common-cmds.h
183
+ - git.c: implement --list-cmds=all and use it in git-completion.bash
184
+ - git.c: convert --list-builtins to --list-cmds=builtins
185
134
- "git mergetools" learned talking to guiffy.
186
+ The list of commands with their various attributes were spread
187
+ across a few places in the build procedure, but it now is getting a
188
+ bit more consolidated to allow more automation.
189
136
- Will merge to 'next'.
190
+ Expecting a reroll.
191
+ Bash-isms and other things need to be fixed.
192
193
139
-* en/doc-typoes (2018-04-09) 2 commits
140
- - Documentation: normalize spelling of 'normalised'
141
- - Documentation: fix several one-character-off spelling errors
194
+* sb/filenames-with-dashes (2018-04-11) 6 commits
195
+ (merged to 'next' on 2018-04-17 at 45fdeb5cb1)
196
+ + replace_object.c: rename to use dash in file name
197
+ + sha1_file.c: rename to use dash in file name
198
+ + sha1_name.c: rename to use dash in file name
199
+ + exec_cmd: rename to use dash in file name
200
+ + unicode_width.h: rename to use dash in file name
201
+ + write_or_die.c: rename to use dashes in file name
202
143
- Docfix.
203
+ Rename bunch of source files to more consistently use dashes
204
+ instead of underscores to connect words.
205
145
- Will merge to 'next'.
206
+ Will merge to 'master'.
207
208
148
-* hn/sort-ls-remote (2018-04-09) 1 commit
149
- - ls-remote: create '--sort' option
150
- (this branch uses jk/ref-array-push.)
209
+* sb/object-store-replace (2018-04-12) 15 commits
210
+ - replace-object: allow lookup_replace_object to handle arbitrary repositories
211
+ - replace-object: allow do_lookup_replace_object to handle arbitrary repositories
212
+ - replace-object: allow prepare_replace_object to handle arbitrary repositories
213
+ - refs: allow for_each_replace_ref to handle arbitrary repositories
214
+ - refs: store the main ref store inside the repository struct
215
+ - replace-object: add repository argument to lookup_replace_object
216
+ - replace-object: add repository argument to do_lookup_replace_object
217
+ - replace-object: add repository argument to prepare_replace_object
218
+ - refs: add repository argument to for_each_replace_ref
219
+ - refs: add repository argument to get_main_ref_store
220
+ - replace-object: check_replace_refs is safe in multi repo environment
221
+ - replace-object: eliminate replace objects prepared flag
222
+ - object-store: move lookup_replace_object to replace-object.h
223
+ - replace-object: move replace_map to object store
224
+ - replace_object: use oidmap
225
+
226
+ The effort to pass the repository in-core structure throughout the
227
+ API continues. This round deals with the code that implements the
228
+ refs/replace/ mechanism.
229
+
230
+ What's the doneness of this thing? I didn't recall seeing any
231
+ response, especially ones that demonstrated the reviewer carefully
232
+ read and thought about the issues surrounding the code. Not that I
233
+ spotted any problems in these patches myself, though.
234
+
235
+
236
+* tg/use-git-contacts (2018-04-12) 1 commit
237
+ (merged to 'next' on 2018-04-17 at 26cf8c1d8c)
238
+ + SubmittingPatches: mention the git contacts command
239
152
- "git ls-remote" learned an option to allow sorting its output based
153
- on the refnames being shown.
240
+ Doc update.
241
242
+ Will merge to 'master'.
243
156
-* jk/ref-array-push (2018-04-09) 3 commits
157
- - ref-filter: factor ref_array pushing into its own function
158
- - ref-filter: make ref_array_item allocation more consistent
159
- - ref-filter: use "struct object_id" consistently
160
- (this branch is used by hn/sort-ls-remote.)
244
162
- API clean-up aournd ref-filter code.
245
+* hn/bisect-first-parent (2018-04-17) 1 commit
246
+ - bisect: create 'bisect_flags' parameter in find_bisection()
247
164
- Will merge to 'next'.
248
+ Preliminary code update to allow passing more flags down the
249
+ bisection codepath in the future.
250
251
+ We do not add random code that does not have real users to our
252
+ codebase, so let's have it wait until such a real code materializes
253
+ before too long.
254
167
-* js/empty-config-section-fix (2018-04-06) 14 commits
168
- - git_config_set: reuse empty sections
169
- - git config --unset: remove empty sections (in the common case)
170
- - git_config_set: make use of the config parser's event stream
171
- - git_config_set: do not use a state machine
172
- - config_set_store: rename some fields for consistency
173
- - config: avoid using the global variable `store`
174
- - config: introduce an optional event stream while parsing
175
- - t1300: `--unset-all` can leave an empty section behind (bug)
176
- - t1300: remove unreasonable expectation from TODO
177
- - t1300: avoid relying on a bug
178
- - config --replace-all: avoid extra line breaks
179
- - t1300: demonstrate that --replace-all can "invent" newlines
180
- - t1300: rename it to reflect that `repo-config` was deprecated
181
- - git_config_set: fix off-by-two
255
183
- "git config --unset a.b", when "a.b" is the last variable in an
184
- otherwise empty section "a", left an empty section "a" behind, and
185
- worse yet, a subsequent "git config a.c value" did not reuse that
186
- empty shell and instead created a new one. These have been
187
- (partially) corrected.
256
+* sg/complete-paths (2018-04-17) 11 commits
257
+ - completion: fill COMPREPLY directly when completing paths
258
+ - completion: improve handling quoted paths in 'git ls-files's output
259
+ - completion: remove repeated dirnames with 'awk' during path completion
260
+ - t9902-completion: ignore COMPREPLY element order in some tests
261
+ - completion: use 'awk' to strip trailing path components
262
+ - completion: let 'ls-files' and 'diff-index' filter matching paths
263
+ - completion: improve handling quoted paths on the command line
264
+ - completion: support completing non-ASCII pathnames
265
+ - completion: simplify prefix path component handling during path completion
266
+ - completion: move __git_complete_index_file() next to its helpers
267
+ - t9902-completion: add tests demonstrating issues with quoted pathnames
268
189
- Reroll exists, which needs to be picked up.
269
+ Command line completion (in contrib/) learned to complete pathnames
270
+ for various commands better.
271
272
192
-* js/t5404-path-fix (2018-04-09) 1 commit
193
- - t5404: relax overzealous test
273
+* so/grossary-ancestor (2018-04-17) 1 commit
274
+ - glossary: substitute "ancestor" for "direct ancestor" in 'push' description.
275
195
- Test fix.
276
+ Docfix.
277
278
Will merge to 'next'.
279
280
200
-* ps/test-chmtime-get (2018-04-09) 1 commit
201
- - t/helper: 'test-chmtime (--get|-g)' to print only the mtime
281
+* tq/t1510 (2018-04-17) 1 commit
282
+ - t1510-repo-setup.sh: remove useless mkdir
283
284
Test cleanup.
285
286
Will merge to 'next'.
287
288
+--------------------------------------------------
289
+[Graduated to "master"]
290
208
-* es/fread-reads-dir-autoconf-fix (2018-04-09) 1 commit
209
- - configure.ac: fix botched FREAD_READS_DIRECTORIES check
210
-
211
- Small fix to the autoconf build procedure.
212
-
213
- Will merge to 'next'.
291
+* ab/doc-hash-brokenness (2018-03-27) 2 commits
292
+ (merged to 'next' on 2018-03-29 at e9b2f5cf4a)
293
+ + doc hash-function-transition: clarify what SHAttered means
294
+ + doc hash-function-transition: clarify how older gits die on NewHash
295
296
+ Doc updates.
297
216
-* es/worktree-docs (2018-04-09) 2 commits
217
- - git-worktree.txt: unify command-line prompt in example blocks
218
- - git-worktree.txt: recommend 'git worktree remove' over manual deletion
219
- (this branch uses nd/worktree-move.)
298
221
- Doc updates.
299
+* ab/drop-contrib-examples (2018-03-26) 1 commit
300
+ (merged to 'next' on 2018-03-29 at 9d8a7603b5)
301
+ + Remove contrib/examples/*
302
223
- Will merge to 'next'.
303
225
---------------------------------------------------
226
-[Stalled]
304
+* ab/install-symlinks (2018-03-15) 3 commits
305
+ (merged to 'next' on 2018-03-15 at 99d6bd6cb3)
306
+ + Makefile: optionally symlink libexec/git-core binaries to bin/git
307
+ + Makefile: add a gitexecdir_relative variable
308
+ + Makefile: fix broken bindir_relative variable
309
228
-* ld/p4-unshelve (2018-02-22) 1 commit
229
- - git-p4: add unshelve command
310
+ The build procedure learned to optionally use symbolic links
311
+ (instead of hardlinks and copies) to install "git-foo" for built-in
312
+ commands, whose binaries are all identical.
313
231
- "git p4" learned to "unshelve" shelved commit from P4.
314
233
- Will hold, perhaps drop and use format-change that uses a proper "diff".
234
- cf. <CAE5ih7_ooDMqVtTMoQ70s5XCkncr04HY0JkqSp1UmKQeG81oaA@mail.gmail.com>
315
+* ab/pcre-v2 (2018-03-14) 3 commits
316
+ (merged to 'next' on 2018-03-15 at e77b116903)
317
+ + Makefile: make USE_LIBPCRE=YesPlease mean v2, not v1
318
+ + configure: detect redundant --with-libpcre & --with-libpcre1
319
+ + configure: fix a regression in PCRE v1 detection
320
321
+ Git can be built to use either v1 or v2 of the PCRE library, and so
322
+ far, the build-time configuration USE_LIBPCRE=YesPlease instructed
323
+ the build procedure to use v1, but now it means v2. USE_LIBPCRE1
324
+ and USE_LIBPCRE2 can be used to explicitly choose which version to
325
+ use, as before.
326
237
-* sb/blame-color (2018-02-13) 3 commits
238
- - builtin/blame: highlight recently changed lines
239
- - builtin/blame: add option to color metadata fields separately
240
- - builtin/blame: dim uninteresting metadata
327
242
- Expecting a reroll.
243
- cf. https://public-inbox.org/git/20171110011002.10179-1-sbeller@google.com/#t
244
- error messages are funny, can segfault, ...
328
+* bc/hash-independent-tests (2018-03-26) 10 commits
329
+ (merged to 'next' on 2018-03-29 at 11179d9b71)
330
+ + t2107: abstract away SHA-1-specific constants
331
+ + t2101: abstract away SHA-1-specific constants
332
+ + t2101: modernize test style
333
+ + t2020: abstract away SHA-1 specific constants
334
+ + t1507: abstract away SHA-1-specific constants
335
+ + t1411: abstract away SHA-1-specific constants
336
+ + t1405: sort reflog entries in a hash-independent way
337
+ + t1300: abstract away SHA-1-specific constants
338
+ + t1304: abstract away SHA-1-specific constants
339
+ + t1011: abstract away SHA-1-specific constants
340
341
+ Tests that rely on the exact hardcoded values of object names have
342
+ been updated in preparation for hash function migration.
343
247
-* av/fsmonitor-updates (2018-01-04) 6 commits
248
- - fsmonitor: use fsmonitor data in `git diff`
249
- - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh
250
- - fsmonitor: make output of test-dump-fsmonitor more concise
251
- - fsmonitor: update helper tool, now that flags are filled later
252
- - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
253
- - dir.c: update comments to match argument name
344
255
- Code clean-up on fsmonitor integration, plus optional utilization
256
- of the fsmonitor data in diff-files.
345
+* bc/object-id (2018-03-14) 36 commits
346
+ (merged to 'next' on 2018-03-20 at f1800a33ff)
347
+ + convert: convert to struct object_id
348
+ + sha1_file: introduce a constant for max header length
349
+ + Convert lookup_replace_object to struct object_id
350
+ + sha1_file: convert read_sha1_file to struct object_id
351
+ + sha1_file: convert read_object_with_reference to object_id
352
+ + tree-walk: convert tree entry functions to object_id
353
+ + streaming: convert istream internals to struct object_id
354
+ + tree-walk: convert get_tree_entry_follow_symlinks internals to object_id
355
+ + builtin/notes: convert static functions to object_id
356
+ + builtin/fmt-merge-msg: convert remaining code to object_id
357
+ + sha1_file: convert sha1_object_info* to object_id
358
+ + Convert remaining callers of sha1_object_info_extended to object_id
359
+ + packfile: convert unpack_entry to struct object_id
360
+ + sha1_file: convert retry_bad_packed_offset to struct object_id
361
+ + sha1_file: convert assert_sha1_type to object_id
362
+ + builtin/mktree: convert to struct object_id
363
+ + streaming: convert open_istream to use struct object_id
364
+ + sha1_file: convert check_sha1_signature to struct object_id
365
+ + sha1_file: convert read_loose_object to use struct object_id
366
+ + builtin/index-pack: convert struct ref_delta_entry to object_id
367
+ + archive: convert sha1_file_to_archive to struct object_id
368
+ + archive: convert write_archive_entry_fn_t to object_id
369
+ + builtin/mktag: convert to struct object_id
370
+ + replace_object: convert struct replace_object to object_id
371
+ + send-pack: convert remaining functions to struct object_id
372
+ + http-walker: convert struct object_request to use struct object_id
373
+ + Convert find_unique_abbrev* to struct object_id
374
+ + wt-status: convert struct wt_status_state to object_id
375
+ + strbuf: convert strbuf_add_unique_abbrev to use struct object_id
376
+ + ref-filter: convert grab_objectname to struct object_id
377
+ + tree: convert read_tree_recursive to struct object_id
378
+ + resolve-undo: convert struct resolve_undo_info to object_id
379
+ + cache-tree: convert remnants to struct object_id
380
+ + cache-tree: convert write_*_as_tree to object_id
381
+ + builtin/write-tree: convert to struct object_id
382
+ + bulk-checkin: convert index_bulk_checkin to struct object_id
383
+ (this branch is used by ds/bsearch-hash.)
384
258
- Waiting for an update.
259
- cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com>
385
+ Conversion from uchar[20] to struct object_id continues.
386
387
262
-* pb/bisect-helper-2 (2017-10-28) 8 commits
263
- - t6030: make various test to pass GETTEXT_POISON tests
264
- - bisect--helper: `bisect_start` shell function partially in C
265
- - bisect--helper: `get_terms` & `bisect_terms` shell function in C
266
- - bisect--helper: `bisect_next_check` shell function in C
267
- - bisect--helper: `check_and_set_terms` shell function in C
268
- - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
269
- - bisect--helper: `bisect_write` shell function in C
270
- - bisect--helper: `bisect_reset` shell function in C
388
+* cc/perf-aggregate-sort (2018-03-27) 2 commits
389
+ (merged to 'next' on 2018-03-29 at 0251068bac)
390
+ + perf/aggregate: add --sort-by=regression option
391
+ + perf/aggregate: add display_dir()
392
272
- Expecting a reroll.
273
- cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
393
+ Perf-test update.
394
395
276
-* mk/http-backend-content-length (2017-11-27) 4 commits
277
- - SQUASH???
278
- - t5560-http-backend-noserver.sh: add CONTENT_LENGTH cases
279
- - SQUASH???
280
- - http-backend: respect CONTENT_LENGTH as specified by rfc3875
396
+* ds/bsearch-hash (2018-03-25) 4 commits
397
+ (merged to 'next' on 2018-03-29 at 561d5577a7)
398
+ + sha1_name: use bsearch_pack() in unique_in_pack()
399
+ + sha1_name: use bsearch_pack() for abbreviations
400
+ + packfile: define and use bsearch_pack()
401
+ + sha1_name: convert struct min_abbrev_data to object_id
402
282
- The http-backend (used for smart-http transport) used to slurp the
283
- whole input until EOF, without paying attention to CONTENT_LENGTH
284
- that is supplied in the environment and instead expecting the Web
285
- server to close the input stream. This has been fixed.
403
+ Code to find the length to uniquely abbreviate object names based
404
+ on packfile content, which is a relatively recent addtion, has been
405
+ optimized to use the same fan-out table.
406
287
- Expecting a reroll.
288
- Suggested fixes to be used when rerolling is queued, but I'd
289
- prefer _not_ squashing them myself.
407
291
- Also, it may be too complex solution for the problem.
292
- cf. <20171204171308.GA13332@sigill.intra.peff.net>
408
+* eb/cred-helper-ignore-sigpipe (2018-03-29) 1 commit
409
+ (merged to 'next' on 2018-03-30 at c48e98c1b1)
410
+ + credential: ignore SIGPIPE when writing to credential helpers
411
412
+ When credential helper exits very quickly without reading its
413
+ input, it used to cause Git to die with SIGPIPE, which has been
414
+ fixed.
415
295
-* jk/drop-ancient-curl (2017-08-09) 5 commits
296
- - http: #error on too-old curl
297
- - curl: remove ifdef'd code never used with curl >=7.19.4
298
- - http: drop support for curl < 7.19.4
299
- - http: drop support for curl < 7.16.0
300
- - http: drop support for curl < 7.11.1
416
+
417
+* en/rename-directory-detection (2018-02-27) 29 commits
418
+ (merged to 'next' on 2018-03-06 at d42470f86e)
419
+ + merge-recursive: ensure we write updates for directory-renamed file
420
+ + merge-recursive: avoid spurious rename/rename conflict from dir renames
421
+ + directory rename detection: new testcases showcasing a pair of bugs
422
+ + merge-recursive: fix remaining directory rename + dirty overwrite cases
423
+ + merge-recursive: fix overwriting dirty files involved in renames
424
+ + merge-recursive: avoid clobbering untracked files with directory renames
425
+ + merge-recursive: apply necessary modifications for directory renames
426
+ + merge-recursive: when comparing files, don't include trees
427
+ + merge-recursive: check for file level conflicts then get new name
428
+ + merge-recursive: add computation of collisions due to dir rename & merging
429
+ + merge-recursive: check for directory level conflicts
430
+ + merge-recursive: add get_directory_renames()
431
+ + merge-recursive: make a helper function for cleanup for handle_renames
432
+ + merge-recursive: split out code for determining diff_filepairs
433
+ + merge-recursive: make !o->detect_rename codepath more obvious
434
+ + merge-recursive: fix leaks of allocated renames and diff_filepairs
435
+ + merge-recursive: introduce new functions to handle rename logic
436
+ + merge-recursive: move the get_renames() function
437
+ + directory rename detection: tests for handling overwriting dirty files
438
+ + directory rename detection: tests for handling overwriting untracked files
439
+ + directory rename detection: miscellaneous testcases to complete coverage
440
+ + directory rename detection: testcases exploring possibly suboptimal merges
441
+ + directory rename detection: more involved edge/corner testcases
442
+ + directory rename detection: testcases checking which side did the rename
443
+ + directory rename detection: files/directories in the way of some renames
444
+ + directory rename detection: partially renamed directory testcase/discussion
445
+ + directory rename detection: testcases to avoid taking detection too far
446
+ + directory rename detection: directory splitting testcases
447
+ + directory rename detection: basic testcases
448
+
449
+ Rename detection logic in "diff" family that is used in "merge" has
450
+ learned to guess when all of x/a, x/b and x/c have moved to z/a,
451
+ z/b and z/c, it is likely that x/d added in the meantime would also
452
+ want to move to z/d by taking the hint that the entire directory
453
+ 'x' moved to 'z'. A bug causing dirty files involved in a rename
454
+ to be overwritten during merge has also been fixed as part of this
455
+ work.
456
+
457
+
458
+* jc/test-must-be-empty (2018-03-27) 1 commit
459
+ (merged to 'next' on 2018-03-29 at 2e64650f23)
460
+ + test_must_be_empty: simplify file existence check
461
+
462
+ Test helper update.
463
+
464
+
465
+* jk/diff-highlight-graph-fix (2018-03-21) 7 commits
466
+ (merged to 'next' on 2018-03-29 at eb995f66e3)
467
+ + diff-highlight: detect --graph by indent
468
+ + diff-highlight: use flush() helper consistently
469
+ + diff-highlight: test graphs with --color
470
+ + diff-highlight: test interleaved parallel lines of history
471
+ + diff-highlight: prefer "echo" to "cat" in tests
472
+ + diff-highlight: use test_tick in graph test
473
+ + diff-highlight: correct test graph diagram
474
+
475
+ "diff-highlight" filter (in contrib/) learned to undertand "git log
476
+ --graph" output better.
477
+
478
+
479
+* lv/tls-1.3 (2018-03-29) 1 commit
480
+ (merged to 'next' on 2018-03-30 at 4f13731408)
481
+ + http: allow use of TLS 1.3
482
+
483
+ When built with more recent cURL, GIT_SSL_VERSION can now specify
484
+ "tlsv1.3" as its value.
485
+
486
+
487
+* ma/shortlog-revparse (2018-03-15) 3 commits
488
+ (merged to 'next' on 2018-03-15 at 2c2de7eb95)
489
+ + shortlog: disallow left-over arguments outside repo
490
+ + shortlog: add usage-string for stdin-reading
491
+ + git-shortlog.txt: reorder usages
492
+
493
+ "git shortlog cruft" aborted with a BUG message when run outside a
494
+ Git repository. The command has been taught to complain about
495
+ extra and unwanted arguments on its command line instead in such a
496
+ case.
497
+
498
+
499
+* ml/filter-branch-no-op-error (2018-03-15) 1 commit
500
+ (merged to 'next' on 2018-03-15 at ba8ac48dec)
501
+ + filter-branch: return 2 when nothing to rewrite
502
+
503
+ "git filter-branch" learned to use a different exit code to allow
504
+ the callers to tell the case where there was no new commits to
505
+ rewrite from other error cases.
506
+
507
+
508
+* nd/combined-test-helper (2018-03-27) 36 commits
509
+ (merged to 'next' on 2018-03-30 at ea73d57c30)
510
+ + t/helper: merge test-write-cache into test-tool
511
+ + t/helper: merge test-wildmatch into test-tool
512
+ + t/helper: merge test-urlmatch-normalization into test-tool
513
+ + t/helper: merge test-subprocess into test-tool
514
+ + t/helper: merge test-submodule-config into test-tool
515
+ + t/helper: merge test-string-list into test-tool
516
+ + t/helper: merge test-strcmp-offset into test-tool
517
+ + t/helper: merge test-sigchain into test-tool
518
+ + t/helper: merge test-sha1-array into test-tool
519
+ + t/helper: merge test-scrap-cache-tree into test-tool
520
+ + t/helper: merge test-run-command into test-tool
521
+ + t/helper: merge test-revision-walking into test-tool
522
+ + t/helper: merge test-regex into test-tool
523
+ + t/helper: merge test-ref-store into test-tool
524
+ + t/helper: merge test-read-cache into test-tool
525
+ + t/helper: merge test-prio-queue into test-tool
526
+ + t/helper: merge test-path-utils into test-tool
527
+ + t/helper: merge test-online-cpus into test-tool
528
+ + t/helper: merge test-mktemp into test-tool
529
+ + t/helper: merge (unused) test-mergesort into test-tool
530
+ + t/helper: merge (unused) test-match-trees into test-tool
531
+ + t/helper: merge test-index-version into test-tool
532
+ + t/helper: merge test-hashmap into test-tool
533
+ + t/helper: merge test-genrandom into test-tool
534
+ + t/helper: merge test-example-decorate into test-tool
535
+ + t/helper: merge test-dump-split-index into test-tool
536
+ + t/helper: merge test-dump-cache-tree into test-tool
537
+ + t/helper: merge test-drop-caches into test-tool
538
+ + t/helper: merge (unused) test-delta into test-tool
539
+ + t/helper: merge test-date into test-tool
540
+ + t/helper: merge test-ctype into test-tool
541
+ + t/helper: merge test-config into test-tool
542
+ + t/helper: merge test-lazy-init-name-hash into test-tool
543
+ + t/helper: merge test-sha1 into test-tool
544
+ + t/helper: merge test-chmtime into test-tool
545
+ + t/helper: add an empty test-tool program
546
+
547
+ Small test-helper programs have been consolidated into a single
548
+ binary.
549
+
550
+
551
+* nd/parseopt-completion-more (2018-03-25) 8 commits
552
+ (merged to 'next' on 2018-03-29 at 9007b165e2)
553
+ + completion: use __gitcomp_builtin in _git_cherry
554
+ + completion: use __gitcomp_builtin in _git_ls_tree
555
+ + completion: delete option-only completion commands
556
+ + completion: add --option completion for most builtin commands
557
+ + completion: factor out _git_xxx calling code
558
+ + completion: mention the oldest version we need to support
559
+ + git.c: add hidden option --list-parseopt-builtins
560
+ + git.c: move cmd_struct declaration up
561
+
562
+ The mechanism to use parse-options API to automate the command line
563
+ completion continues to get extended and polished.
564
+
565
+
566
+* nd/remove-ignore-env-field (2018-03-23) 6 commits
567
+ (merged to 'next' on 2018-03-23 at ba9d0f2565)
568
+ + repository.h: add comment and clarify repo_set_gitdir
569
+ (merged to 'next' on 2018-03-15 at 802b6ea1cb)
570
+ + repository: delete ignore_env member
571
+ + sha1_file.c: move delayed getenv(altdb) back to setup_git_env()
572
+ + repository.c: delete dead functions
573
+ + repository.c: move env-related setup code back to environment.c
574
+ + repository: initialize the_repository in main()
575
+ (this branch is used by sb/object-store, sb/packfiles-in-repository and sb/submodule-move-nested.)
576
+
577
+ Code clean-up for the "repository" abstraction.
578
+
579
+
580
+* nd/trace-with-env (2018-03-25) 1 commit
581
+ (merged to 'next' on 2018-03-29 at 6890e2c39b)
582
+ + run-command: use strbuf_addstr() for adding a string to a strbuf
583
+
584
+ Code cleanup.
585
+
586
+
587
+* nd/worktree-prune (2018-03-15) 3 commits
588
+ (merged to 'next' on 2018-03-20 at e2d9677b20)
589
+ + worktree prune: improve prune logic when worktree is moved
590
+ + worktree: delete dead code
591
+ + gc.txt: more details about what gc does
592
+
593
+ The way "git worktree prune" worked internally has been simplified,
594
+ by assuming how "git worktree move" moves an existing worktree to a
595
+ different place.
596
+
597
+
598
+* pk/test-avoid-pipe-hiding-exit-status (2018-03-28) 1 commit
599
+ (merged to 'next' on 2018-03-30 at 4f3df09139)
600
+ + test: avoid pipes in git related commands for test
601
+
602
+ Test cleanup.
603
+
604
+
605
+* ps/contains-id-error-message (2018-03-22) 1 commit
606
+ (merged to 'next' on 2018-03-22 at 3bb1dcd506)
607
+ + parse-options: do not show usage upon invalid option value
608
+
609
+ "git tag --contains no-such-commit" gave a full list of options
610
+ after giving an error message.
611
+
612
+
613
+* rs/status-with-removed-submodule (2018-03-28) 1 commit
614
+ (merged to 'next' on 2018-03-30 at 8a7b618bc1)
615
+ + submodule: check for NULL return of get_submodule_ref_store()
616
+
617
+ "git submodule status" misbehaved on a submodule that has been
618
+ removed from the working tree.
619
+
620
+
621
+* sb/object-store (2018-03-26) 27 commits
622
+ (merged to 'next' on 2018-03-30 at 93e3475178)
623
+ + sha1_file: allow sha1_loose_object_info to handle arbitrary repositories
624
+ + sha1_file: allow map_sha1_file to handle arbitrary repositories
625
+ + sha1_file: allow map_sha1_file_1 to handle arbitrary repositories
626
+ + sha1_file: allow open_sha1_file to handle arbitrary repositories
627
+ + sha1_file: allow stat_sha1_file to handle arbitrary repositories
628
+ + sha1_file: allow sha1_file_name to handle arbitrary repositories
629
+ + sha1_file: add repository argument to sha1_loose_object_info
630
+ + sha1_file: add repository argument to map_sha1_file
631
+ + sha1_file: add repository argument to map_sha1_file_1
632
+ + sha1_file: add repository argument to open_sha1_file
633
+ + sha1_file: add repository argument to stat_sha1_file
634
+ + sha1_file: add repository argument to sha1_file_name
635
+ + sha1_file: allow prepare_alt_odb to handle arbitrary repositories
636
+ + sha1_file: allow link_alt_odb_entries to handle arbitrary repositories
637
+ + sha1_file: add repository argument to prepare_alt_odb
638
+ + sha1_file: add repository argument to link_alt_odb_entries
639
+ + sha1_file: add repository argument to read_info_alternates
640
+ + sha1_file: add repository argument to link_alt_odb_entry
641
+ + sha1_file: add raw_object_store argument to alt_odb_usable
642
+ + pack: move approximate object count to object store
643
+ + pack: move prepare_packed_git_run_once to object store
644
+ + object-store: close all packs upon clearing the object store
645
+ + object-store: move packed_git and packed_git_mru to object store
646
+ + object-store: free alt_odb_list
647
+ + object-store: move alt_odb_list and alt_odb_tail to object store
648
+ + object-store: migrate alternates struct and functions from cache.h
649
+ + repository: introduce raw object store field
650
+ (this branch is used by sb/packfiles-in-repository and sb/submodule-move-nested.)
651
+
652
+ Refactoring the internal global data structure to make it possible
653
+ to open multiple repositories, work with and then close them.
654
+
655
+ Rerolled by Duy on top of a separate preliminary clean-up topic.
656
+ The resulting structure of the topics looked very sensible.
657
+
658
+
659
+* sb/packfiles-in-repository (2018-03-26) 12 commits
660
+ (merged to 'next' on 2018-03-30 at caa68db14d)
661
+ + packfile: keep prepare_packed_git() private
662
+ + packfile: allow find_pack_entry to handle arbitrary repositories
663
+ + packfile: add repository argument to find_pack_entry
664
+ + packfile: allow reprepare_packed_git to handle arbitrary repositories
665
+ + packfile: allow prepare_packed_git to handle arbitrary repositories
666
+ + packfile: allow prepare_packed_git_one to handle arbitrary repositories
667
+ + packfile: add repository argument to reprepare_packed_git
668
+ + packfile: add repository argument to prepare_packed_git
669
+ + packfile: add repository argument to prepare_packed_git_one
670
+ + packfile: allow install_packed_git to handle arbitrary repositories
671
+ + packfile: allow rearrange_packed_git to handle arbitrary repositories
672
+ + packfile: allow prepare_packed_git_mru to handle arbitrary repositories
673
+ (this branch uses sb/object-store; is tangled with sb/submodule-move-nested.)
674
+
675
+ Refactoring of the internal global data structure continues.
676
+
677
+
678
+* tg/stash-untracked-with-pathspec-fix (2018-03-21) 4 commits
679
+ (merged to 'next' on 2018-03-22 at 73c4bef74f)
680
+ + stash: drop superfluos pathspec parameter
681
+ (merged to 'next' on 2018-03-21 at 8f5b5ab131)
682
+ + stash push -u: don't create empty stash
683
+ + stash push: avoid printing errors
684
+ + stash: fix nonsense pipeline
685
+
686
+ "git stash push -u -- <pathspec>" gave an unnecessary and confusing
687
+ error message when there was no tracked files that match the
688
+ <pathspec>, which has been fixed.
689
+
690
+
691
+* ti/fetch-everything-local-optim (2018-03-14) 1 commit
692
+ (merged to 'next' on 2018-03-15 at 2be87aa7a7)
693
+ + fetch-pack.c: use oidset to check existence of loose object
694
+
695
+ A "git fetch" from a repository with insane number of refs into a
696
+ repository that is already up-to-date still wasted too many cycles
697
+ making many lstat(2) calls to see if these objects at the tips
698
+ exist as loose objects locally. These lstat(2) calls are optimized
699
+ away by enumerating all loose objects beforehand.
700
+
701
+ It is unknown if the new strategy negatively affects existing use
702
+ cases, fetching into a repository with many loose objects from a
703
+ repository with small number of refs.
704
+
705
+
706
+* ws/rebase-p (2018-03-23) 8 commits
707
+ (merged to 'next' on 2018-03-29 at d20ae8510e)
708
+ + rebase: remove merges_option and a blank line
709
+ + rebase: remove unused code paths from git_rebase__interactive__preserve_merges
710
+ + rebase: remove unused code paths from git_rebase__interactive
711
+ + rebase: add and use git_rebase__interactive__preserve_merges
712
+ + rebase: extract functions out of git_rebase__interactive
713
+ + rebase: reindent function git_rebase__interactive
714
+ + rebase: update invocation of rebase dot-sourced scripts
715
+ + rebase-interactive: simplify pick_on_preserving_merges
716
+
717
+ Code clean-up.
718
+
719
+
720
+* yk/filter-branch-non-committish-refs (2018-03-25) 1 commit
721
+ (merged to 'next' on 2018-03-29 at 8ac3806bcf)
722
+ + filter-branch: fix errors caused by refs that point at non-committish
723
+
724
+ when refs that do not point at committish are given, "git
725
+ filter-branch" gave a misleading error messages. This has been
726
+ corrected.
727
+
728
+
729
+* ys/bisect-object-id-missing-conversion-fix (2018-03-25) 1 commit
730
+ (merged to 'next' on 2018-03-29 at 7d988b57d4)
731
+ + bisect: use oid_to_hex() for converting object_id hashes to hex strings
732
+
733
+ Code clean-up.
734
+
735
+--------------------------------------------------
736
+[Stalled]
737
+
738
+* ld/p4-unshelve (2018-02-22) 1 commit
739
+ - git-p4: add unshelve command
740
+
741
+ "git p4" learned to "unshelve" shelved commit from P4.
742
+
743
+ Will hold, perhaps drop and use format-change that uses a proper "diff".
744
+ cf. <CAE5ih7_ooDMqVtTMoQ70s5XCkncr04HY0JkqSp1UmKQeG81oaA@mail.gmail.com>
745
+
746
+
747
+* av/fsmonitor-updates (2018-01-04) 6 commits
748
+ - fsmonitor: use fsmonitor data in `git diff`
749
+ - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh
750
+ - fsmonitor: make output of test-dump-fsmonitor more concise
751
+ - fsmonitor: update helper tool, now that flags are filled later
752
+ - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
753
+ - dir.c: update comments to match argument name
754
+
755
+ Code clean-up on fsmonitor integration, plus optional utilization
756
+ of the fsmonitor data in diff-files.
757
+
758
+ Waiting for an update.
759
+ cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com>
760
+
761
+
762
+* pb/bisect-helper-2 (2017-10-28) 8 commits
763
+ - t6030: make various test to pass GETTEXT_POISON tests
764
+ - bisect--helper: `bisect_start` shell function partially in C
765
+ - bisect--helper: `get_terms` & `bisect_terms` shell function in C
766
+ - bisect--helper: `bisect_next_check` shell function in C
767
+ - bisect--helper: `check_and_set_terms` shell function in C
768
+ - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
769
+ - bisect--helper: `bisect_write` shell function in C
770
+ - bisect--helper: `bisect_reset` shell function in C
771
+
772
+ Expecting a reroll.
773
+ cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
774
+
775
+
776
+* mk/http-backend-content-length (2017-11-27) 4 commits
777
+ - SQUASH???
778
+ - t5560-http-backend-noserver.sh: add CONTENT_LENGTH cases
779
+ - SQUASH???
780
+ - http-backend: respect CONTENT_LENGTH as specified by rfc3875
781
+
782
+ The http-backend (used for smart-http transport) used to slurp the
783
+ whole input until EOF, without paying attention to CONTENT_LENGTH
784
+ that is supplied in the environment and instead expecting the Web
785
+ server to close the input stream. This has been fixed.
786
+
787
+ Expecting a reroll.
788
+ Suggested fixes to be used when rerolling is queued, but I'd
789
+ prefer _not_ squashing them myself.
790
+
791
+ Also, it may be too complex solution for the problem.
792
+ cf. <20171204171308.GA13332@sigill.intra.peff.net>
793
+
794
+
795
+* jk/drop-ancient-curl (2017-08-09) 5 commits
796
+ - http: #error on too-old curl
797
+ - curl: remove ifdef'd code never used with curl >=7.19.4
798
+ - http: drop support for curl < 7.19.4
799
+ - http: drop support for curl < 7.16.0
800
+ - http: drop support for curl < 7.11.1
801
802
Some code in http.c that has bitrot is being removed.
803
@@ -317,36 +817,236 @@ of the repositories listed at
817
--------------------------------------------------
818
[Cooking]
819
320
-* rs/status-with-removed-submodule (2018-03-28) 1 commit
321
- (merged to 'next' on 2018-03-30 at 8a7b618bc1)
322
- + submodule: check for NULL return of get_submodule_ref_store()
820
+* sb/blame-color (2018-04-17) 2 commits
821
+ - builtin/blame: highlight recently changed lines
822
+ - builtin/blame: dim uninteresting metadata lines
823
324
- "git submodule status" misbehaved on a submodule that has been
325
- removed from the working tree.
824
+ "git blame" learns to unhighlight uninteresting metadata from the
825
+ originating commit on lines that are the same as the previous one,
826
+ and also paint lines in different colors depending on the age of
827
+ the commit.
828
+
829
+ The code to handle interaction between the config and command line
830
+ option smelled fishy. Reviews and discussions are welcomed (not
831
+ just to this topic but others too ;-).
832
+
833
+
834
+* ab/simplify-perl-makefile (2018-04-11) 1 commit
835
+ (merged to 'next' on 2018-04-17 at 4448756934)
836
+ + perl: fix installing modules from contrib
837
+
838
+ Recent simplification of build procedure forgot a bit of tweak to
839
+ the build procedure of contrib/mw-to-git/
840
841
Will merge to 'master'.
842
843
330
-* lv/tls-1.3 (2018-03-29) 1 commit
331
- (merged to 'next' on 2018-03-30 at 4f13731408)
332
- + http: allow use of TLS 1.3
844
+* ak/bisect-doc-typofix (2018-04-07) 1 commit
845
+ (merged to 'next' on 2018-04-17 at eafdeb0248)
846
+ + Documentation/git-bisect.txt: git bisect term → git bisect terms
847
+
848
+ Docfix.
849
+
850
+ Will merge to 'master'.
851
+
852
+
853
+* bw/commit-partial-from-subdirectory-fix (2018-04-05) 1 commit
854
+ (merged to 'next' on 2018-04-17 at 1e56bbc14d)
855
+ + commit: allow partial commits with relative paths
856
+
857
+ "cd sub/dir && git commit ../path" ought to record the changes to
858
+ the file "sub/path", but this regressed long time ago.
859
+
860
+ Will merge to 'master'.
861
+
862
+
863
+* ds/lazy-load-trees (2018-04-11) 5 commits
864
+ - commit-graph: lazy-load trees for commits
865
+ - treewide: replace maybe_tree with accessor methods
866
+ - commit: create get_commit_tree() method
867
+ - treewide: rename tree to maybe_tree
868
+ - Merge branch 'bw/c-plus-plus' into ds/lazy-load-trees
869
+ (this branch uses ds/commit-graph; is tangled with ds/generation-numbers.)
870
+
871
+ The code has been taught to use the duplicated information stored
872
+ in the commit-graph file to learn the tree object name for a commit
873
+ to avoid opening and parsing the commit object when it makes sense
874
+ to do so.
875
+
876
+ Will merge to 'next'.
877
+
878
+
879
+* jk/t5561-missing-curl (2018-04-05) 2 commits
880
+ (merged to 'next' on 2018-04-17 at d8592fa6c2)
881
+ + t5561: skip tests if curl is not available
882
+ + t5561: drop curl stderr redirects
883
+
884
+ Test fixes.
885
+
886
+ Will merge to 'master'.
887
+
888
+
889
+* ks/branch-list-detached-rebase-i (2018-04-05) 2 commits
890
+ (merged to 'next' on 2018-04-17 at 5c2842c3f9)
891
+ + t3200: verify "branch --list" sanity when rebasing from detached HEAD
892
+ + branch --list: print useful info whilst interactive rebasing a detached HEAD
893
+
894
+ "git branch --list" during an interrupted "rebase -i" now lets
895
+ users distinguish the case where a detached HEAD is being rebased
896
+ and a normal branch is being rebased.
897
+
898
+ Will merge to 'master'.
899
+
900
+
901
+* lw/daemon-log-destination (2018-04-09) 1 commit
902
+ (merged to 'next' on 2018-04-17 at b06cdcc45e)
903
+ + daemon.c: fix condition for redirecting stderr
904
+
905
+ Recent introduction of "--log-destination" option to "git daemon"
906
+ did not work well when the daemon was run under "--inetd" mode.
907
+
908
+ Will merge to 'master'.
909
+
910
+
911
+* mn/send-email-credential-doc (2018-04-08) 1 commit
912
+ (merged to 'next' on 2018-04-17 at c4db21eb9b)
913
+ + send-email: simplify Gmail example in the documentation
914
+
915
+ Doc update.
916
+
917
+ Will merge to 'master'.
918
+
919
+
920
+* nd/worktree-move (2018-04-05) 1 commit
921
+ (merged to 'next' on 2018-04-17 at 11ca393110)
922
+ + t2028: tighten grep expression to make "move worktree" test more robust
923
+ (this branch is used by es/worktree-docs.)
924
+
925
+ Test update.
926
+
927
+ Will merge to 'master'.
928
+
929
+
930
+* ab/git-svn-get-record-typofix (2018-04-09) 1 commit
931
+ - git-svn: avoid warning on undef readline()
932
+
933
+ "git svn" had a minor thinko/typo which has been fixed.
934
+
935
+
936
+* br/mergetools-guiffy (2018-04-06) 1 commit
937
+ (merged to 'next' on 2018-04-17 at 8ec0697d5d)
938
+ + mergetools: add support for guiffy
939
+
940
+ "git mergetools" learned talking to guiffy.
941
+
942
+ Will merge to 'master'.
943
+
944
+
945
+* en/doc-typoes (2018-04-09) 2 commits
946
+ (merged to 'next' on 2018-04-17 at 81e5c8da18)
947
+ + Documentation: normalize spelling of 'normalised'
948
+ + Documentation: fix several one-character-off spelling errors
949
+
950
+ Docfix.
951
+
952
+ Will merge to 'master'.
953
+
954
+
955
+* hn/sort-ls-remote (2018-04-09) 1 commit
956
+ - ls-remote: create '--sort' option
957
+ (this branch uses jk/ref-array-push.)
958
+
959
+ "git ls-remote" learned an option to allow sorting its output based
960
+ on the refnames being shown.
961
+
962
+
963
+* jk/ref-array-push (2018-04-09) 3 commits
964
+ (merged to 'next' on 2018-04-17 at 61859b271b)
965
+ + ref-filter: factor ref_array pushing into its own function
966
+ + ref-filter: make ref_array_item allocation more consistent
967
+ + ref-filter: use "struct object_id" consistently
968
+ (this branch is used by hn/sort-ls-remote.)
969
+
970
+ API clean-up aournd ref-filter code.
971
+
972
+ Will merge to 'master'.
973
334
- When built with more recent cURL, GIT_SSL_VERSION can now specify
335
- "tlsv1.3" as its value.
974
+
975
+* js/empty-config-section-fix (2018-04-09) 15 commits
976
+ - git_config_set: reuse empty sections
977
+ - git config --unset: remove empty sections (in the common case)
978
+ - git_config_set: make use of the config parser's event stream
979
+ - git_config_set: do not use a state machine
980
+ - config_set_store: rename some fields for consistency
981
+ - config: avoid using the global variable `store`
982
+ - config: introduce an optional event stream while parsing
983
+ - t1300: `--unset-all` can leave an empty section behind (bug)
984
+ - t1300: add a few more hairy examples of sections becoming empty
985
+ - t1300: remove unreasonable expectation from TODO
986
+ - t1300: avoid relying on a bug
987
+ - config --replace-all: avoid extra line breaks
988
+ - t1300: demonstrate that --replace-all can "invent" newlines
989
+ - t1300: rename it to reflect that `repo-config` was deprecated
990
+ - git_config_set: fix off-by-two
991
+
992
+ "git config --unset a.b", when "a.b" is the last variable in an
993
+ otherwise empty section "a", left an empty section "a" behind, and
994
+ worse yet, a subsequent "git config a.c value" did not reuse that
995
+ empty shell and instead created a new one. These have been
996
+ (partially) corrected.
997
+
998
+ Will merge to 'next'.
999
+
1000
+
1001
+* js/t5404-path-fix (2018-04-09) 1 commit
1002
+ (merged to 'next' on 2018-04-17 at 94092f2896)
1003
+ + t5404: relax overzealous test
1004
+
1005
+ Test fix.
1006
+
1007
+ Will merge to 'master'.
1008
+
1009
+
1010
+* ps/test-chmtime-get (2018-04-09) 1 commit
1011
+ (merged to 'next' on 2018-04-17 at dcb138d8b1)
1012
+ + t/helper: 'test-chmtime (--get|-g)' to print only the mtime
1013
+
1014
+ Test cleanup.
1015
+
1016
+ Will merge to 'master'.
1017
+
1018
+
1019
+* es/fread-reads-dir-autoconf-fix (2018-04-09) 1 commit
1020
+ (merged to 'next' on 2018-04-17 at 538601fef3)
1021
+ + configure.ac: fix botched FREAD_READS_DIRECTORIES check
1022
+
1023
+ Small fix to the autoconf build procedure.
1024
+
1025
+ Will merge to 'master'.
1026
+
1027
+
1028
+* es/worktree-docs (2018-04-09) 2 commits
1029
+ (merged to 'next' on 2018-04-17 at 15a098e9b1)
1030
+ + git-worktree.txt: unify command-line prompt in example blocks
1031
+ + git-worktree.txt: recommend 'git worktree remove' over manual deletion
1032
+ (this branch uses nd/worktree-move.)
1033
+
1034
+ Doc updates.
1035
1036
Will merge to 'master'.
1037
1038
340
-* nd/warn-more-for-devs (2018-03-29) 3 commits
341
- - Makefile: add EAGER_DEVELOPER mode
1039
+* nd/warn-more-for-devs (2018-04-16) 4 commits
1040
+ - Makefile: add a DEVOPTS to get all of -Wextra
1041
+ - Makefile: add a DEVOPTS to suppress -Werror under DEVELOPER
1042
- Makefile: detect compiler and enable more warnings in DEVELOPER=1
1043
- connect.c: mark die_initial_contact() NORETURN
1044
1045
The build procedure "make DEVELOPER=YesPlease" learned to enable a
1046
bit more warning options depending on the compiler used to help
347
- developers more. There also is "make EAGER_DEVELOPER=YesPlease"
1047
+ developers more. There also is "make DEVOPTS=tokens" knob
1048
available now, for those who want to help fixing warnings we
349
- usually ignore.
1049
+ usually ignore, for example.
1050
1051
Will merge to 'next'.
1052
@@ -358,15 +1058,17 @@ of the repositories listed at
1058
- submodule-config: allow submodule_free to handle arbitrary repositories
1059
- grep: remove "repo" arg from non-supporting funcs
1060
- submodule.h: drop declaration of connect_work_tree_and_git_dir
361
- (this branch uses nd/remove-ignore-env-field and sb/object-store; is tangled with sb/packfiles-in-repository.)
1061
1062
Moving a submodule that itself has submodule in it with "git mv"
1063
forgot to make necessary adjustment to the nested sub-submodules;
1064
now the codepath learned to recurse into the submodules.
1065
1066
+ What's the doneness of this thing?
1067
368
-* tb/config-type (2018-03-29) 1 commit
369
- - builtin/config.c: prefer `--type=bool` over `--bool`, etc.
1068
+
1069
+* tb/config-type (2018-04-10) 2 commits
1070
+ - builtin/config.c: support `--type=<type>` as preferred alias for `--<type>`
1071
+ - builtin/config.c: treat type specifiers singularly
1072
(this branch is used by tb/config-default.)
1073
1074
The "git config" command uses separate options e.g. "--int",
@@ -374,10 +1076,12 @@ of the repositories listed at
1076
be interpreted as. A new "--type=<typename>" option has been
1077
introduced, which would make it cleaner to define new types.
1078
377
- Will merge to 'next'.
1079
+ Expecting a final reroll.
1080
+ cf. <20180411034941.GA63158@syl.local>
1081
+ This looked more or less ready, IIRC
1082
1083
380
-* tb/config-default (2018-03-29) 3 commits
1084
+* tb/config-default (2018-04-10) 3 commits
1085
- builtin/config: introduce `color` type specifier
1086
- config.c: introduce 'git_config_color' to parse ANSI colors
1087
- builtin/config: introduce `--default`
@@ -386,80 +1090,47 @@ of the repositories listed at
1090
"git config --get" learned the "--default" option, to help the
1091
calling script. Building on top of the tb/config-type topic, the
1092
"git config" learns "--type=color" type. Taken together, you can
389
- do things like "git config --get foo.color --default blue" and get
390
- the ANSI color sequence for the color given to foo.color variable,
391
- or "blue" if the variable does not exist.
392
-
393
-
394
-* eb/cred-helper-ignore-sigpipe (2018-03-29) 1 commit
395
- (merged to 'next' on 2018-03-30 at c48e98c1b1)
396
- + credential: ignore SIGPIPE when writing to credential helpers
397
-
398
- When credential helper exits very quickly without reading its
399
- input, it used to cause Git to die with SIGPIPE, which has been
400
- fixed.
1093
+ do things like "git config --get foo.color --default blue" and get
1094
+ the ANSI color sequence for the color given to foo.color variable,
1095
+ or "blue" if the variable does not exist.
1096
402
- Will merge to 'master'.
1097
+ Will wait on the tb/config-type topic.
1098
1099
1100
* jk/flockfile-stdio (2018-03-30) 1 commit
406
- - config: move flockfile() closer to unlocked functions
1101
+ (merged to 'next' on 2018-04-17 at e11bd565f4)
1102
+ + config: move flockfile() closer to unlocked functions
1103
1104
Code clean-up.
1105
410
- Will merge to 'next'.
1106
+ Will merge to 'master'.
1107
1108
1109
* jk/relative-directory-fix (2018-03-30) 5 commits
414
- - refs: use chdir_notify to update cached relative paths
415
- - set_work_tree: use chdir_notify
416
- - add chdir-notify API
417
- - trace.c: export trace_setup_key
418
- - set_git_dir: die when setenv() fails
1110
+ (merged to 'next' on 2018-04-17 at 1b8cc9dcb4)
1111
+ + refs: use chdir_notify to update cached relative paths
1112
+ + set_work_tree: use chdir_notify
1113
+ + add chdir-notify API
1114
+ + trace.c: export trace_setup_key
1115
+ + set_git_dir: die when setenv() fails
1116
1117
Some codepaths, including the refs API, get and keep relative
1118
paths, that go out of sync when the process does chdir(2). The
1119
chdir-notify API is introduced to let these codepaths adjust these
1120
cached paths to the new current directory.
1121
425
- Will merge to 'next'.
426
-
427
-
428
-* ds/bsearch-hash (2018-03-25) 4 commits
429
- (merged to 'next' on 2018-03-29 at 561d5577a7)
430
- + sha1_name: use bsearch_pack() in unique_in_pack()
431
- + sha1_name: use bsearch_pack() for abbreviations
432
- + packfile: define and use bsearch_pack()
433
- + sha1_name: convert struct min_abbrev_data to object_id
434
- (this branch uses bc/object-id.)
435
-
436
- Code to find the length to uniquely abbreviate object names based
437
- on packfile content, which is a relatively recent addtion, has been
438
- optimized to use the same fan-out table.
439
-
1122
Will merge to 'master'.
1123
1124
1125
* jh/json-writer (2018-03-28) 1 commit
1126
- json_writer: new routines to create data in JSON format
1127
446
- Will merge to 'next'.
447
-
448
-
449
-* jk/diff-highlight-graph-fix (2018-03-21) 7 commits
450
- (merged to 'next' on 2018-03-29 at eb995f66e3)
451
- + diff-highlight: detect --graph by indent
452
- + diff-highlight: use flush() helper consistently
453
- + diff-highlight: test graphs with --color
454
- + diff-highlight: test interleaved parallel lines of history
455
- + diff-highlight: prefer "echo" to "cat" in tests
456
- + diff-highlight: use test_tick in graph test
457
- + diff-highlight: correct test graph diagram
458
-
459
- "diff-highlight" filter (in contrib/) learned to undertand "git log
460
- --graph" output better.
1128
+ Preparatory code to later add json output for unspecified telemetry
1129
+ data.
1130
462
- Will merge to 'master'.
1131
+ We do not add random code that does not have real users to our
1132
+ codebase, so let's have it wait until such a real code materializes
1133
+ before too long.
1134
1135
1136
* ot/libify-get-ref-atom-value (2018-03-29) 6 commits
@@ -475,63 +1146,8 @@ of the repositories listed at
1146
Will merge to 'next'.
1147
1148
478
-* ab/doc-hash-brokenness (2018-03-27) 2 commits
479
- (merged to 'next' on 2018-03-29 at e9b2f5cf4a)
480
- + doc hash-function-transition: clarify what SHAttered means
481
- + doc hash-function-transition: clarify how older gits die on NewHash
482
-
483
- Doc updates.
484
-
485
- Will merge to 'master'.
486
-
487
-
488
-* ab/drop-contrib-examples (2018-03-26) 1 commit
489
- (merged to 'next' on 2018-03-29 at 9d8a7603b5)
490
- + Remove contrib/examples/*
491
-
492
- Will merge to 'master'.
493
-
494
-
495
-* bc/hash-independent-tests (2018-03-26) 10 commits
496
- (merged to 'next' on 2018-03-29 at 11179d9b71)
497
- + t2107: abstract away SHA-1-specific constants
498
- + t2101: abstract away SHA-1-specific constants
499
- + t2101: modernize test style
500
- + t2020: abstract away SHA-1 specific constants
501
- + t1507: abstract away SHA-1-specific constants
502
- + t1411: abstract away SHA-1-specific constants
503
- + t1405: sort reflog entries in a hash-independent way
504
- + t1300: abstract away SHA-1-specific constants
505
- + t1304: abstract away SHA-1-specific constants
506
- + t1011: abstract away SHA-1-specific constants
507
-
508
- Tests that rely on the exact hardcoded values of object names have
509
- been updated in preparation for hash function migration.
510
-
511
- Will merge to 'master'.
512
-
513
-
514
-* cc/perf-aggregate-sort (2018-03-27) 2 commits
515
- (merged to 'next' on 2018-03-29 at 0251068bac)
516
- + perf/aggregate: add --sort-by=regression option
517
- + perf/aggregate: add display_dir()
518
-
519
- Perf-test update.
520
-
521
- Will merge to 'master'.
522
-
523
-
524
-* jc/test-must-be-empty (2018-03-27) 1 commit
525
- (merged to 'next' on 2018-03-29 at 2e64650f23)
526
- + test_must_be_empty: simplify file existence check
527
-
528
- Test helper update.
529
-
530
- Will merge to 'master'.
531
-
532
-
1149
* jk/branch-l-0-deprecation (2018-03-26) 3 commits
534
- (merged to 'next' on 2018-03-29 at 552cef7913)
1150
+ (merged to 'next' on 2018-04-11 at 9b2b0305dd)
1151
+ branch: deprecate "-l" option
1152
+ t: switch "branch -l" to "branch --create-reflog"
1153
+ t3200: unset core.logallrefupdates when testing reflog creation
@@ -565,363 +1181,109 @@ of the repositories listed at
1181
Will keep in 'pu'.
1182
1183
568
-* jm/mem-pool (2018-03-30) 4 commits
569
- - SQUASH??? fast-import: fix a sparse 'NULL pointer' warning
570
- (merged to 'next' on 2018-03-29 at bfce05db6e)
571
- + Move reusable parts of memory pool into its own file
1184
+* jm/mem-pool (2018-04-12) 3 commits
1185
+ (merged to 'next' on 2018-04-17 at 8a3641ab3a)
1186
+ + mem-pool: move reusable parts of memory pool into its own file
1187
+ fast-import: introduce mem_pool type
1188
+ fast-import: rename mem_pool type to mp_block
1189
1190
An reusable "memory pool" implementation has been extracted from
1191
fast-import.c, which in turn has become the first user of the
577
- mem-pool API.
578
-
579
- Will kick back to 'pu' to be reworked.
580
-
581
-
582
-* js/runtime-prefix-windows (2018-03-27) 2 commits
583
- - mingw/msvc: use the new-style RUNTIME_PREFIX helper
584
- - exec_cmd: provide a new-style RUNTIME_PREFIX helper for Windows
585
- (this branch uses dj/runtime-prefix.)
586
-
587
- The Windows port was the first that allowed Git to be installed
588
- anywhere by having its components refer to each other with relative
589
- pathnames. The recent dj/runtime-prefix topic extends the idea to
590
- other platforms, and its approach has been adopted back in the
591
- Windows port.
592
-
593
- Will merge to 'next'.
594
- cf. <65a25131-9278-62c8-4d13-b8531209825d@kdbg.org>
595
- cf. <nycvar.QRO.7.76.6.1804031511510.5026@qfpub.tvgsbejvaqbjf.bet>
596
-
597
-
598
-* nd/combined-test-helper (2018-03-27) 36 commits
599
- (merged to 'next' on 2018-03-30 at ea73d57c30)
600
- + t/helper: merge test-write-cache into test-tool
601
- + t/helper: merge test-wildmatch into test-tool
602
- + t/helper: merge test-urlmatch-normalization into test-tool
603
- + t/helper: merge test-subprocess into test-tool
604
- + t/helper: merge test-submodule-config into test-tool
605
- + t/helper: merge test-string-list into test-tool
606
- + t/helper: merge test-strcmp-offset into test-tool
607
- + t/helper: merge test-sigchain into test-tool
608
- + t/helper: merge test-sha1-array into test-tool
609
- + t/helper: merge test-scrap-cache-tree into test-tool
610
- + t/helper: merge test-run-command into test-tool
611
- + t/helper: merge test-revision-walking into test-tool
612
- + t/helper: merge test-regex into test-tool
613
- + t/helper: merge test-ref-store into test-tool
614
- + t/helper: merge test-read-cache into test-tool
615
- + t/helper: merge test-prio-queue into test-tool
616
- + t/helper: merge test-path-utils into test-tool
617
- + t/helper: merge test-online-cpus into test-tool
618
- + t/helper: merge test-mktemp into test-tool
619
- + t/helper: merge (unused) test-mergesort into test-tool
620
- + t/helper: merge (unused) test-match-trees into test-tool
621
- + t/helper: merge test-index-version into test-tool
622
- + t/helper: merge test-hashmap into test-tool
623
- + t/helper: merge test-genrandom into test-tool
624
- + t/helper: merge test-example-decorate into test-tool
625
- + t/helper: merge test-dump-split-index into test-tool
626
- + t/helper: merge test-dump-cache-tree into test-tool
627
- + t/helper: merge test-drop-caches into test-tool
628
- + t/helper: merge (unused) test-delta into test-tool
629
- + t/helper: merge test-date into test-tool
630
- + t/helper: merge test-ctype into test-tool
631
- + t/helper: merge test-config into test-tool
632
- + t/helper: merge test-lazy-init-name-hash into test-tool
633
- + t/helper: merge test-sha1 into test-tool
634
- + t/helper: merge test-chmtime into test-tool
635
- + t/helper: add an empty test-tool program
636
-
637
- Small test-helper programs have been consolidated into a single
638
- binary.
639
-
640
- Will merge to 'master'.
641
-
642
-
643
-* nd/parseopt-completion-more (2018-03-25) 8 commits
644
- (merged to 'next' on 2018-03-29 at 9007b165e2)
645
- + completion: use __gitcomp_builtin in _git_cherry
646
- + completion: use __gitcomp_builtin in _git_ls_tree
647
- + completion: delete option-only completion commands
648
- + completion: add --option completion for most builtin commands
649
- + completion: factor out _git_xxx calling code
650
- + completion: mention the oldest version we need to support
651
- + git.c: add hidden option --list-parseopt-builtins
652
- + git.c: move cmd_struct declaration up
653
-
654
- The mechanism to use parse-options API to automate the command line
655
- completion continues to get extended and polished.
656
-
657
- Will merge to 'master'.
658
-
659
-
660
-* nd/trace-with-env (2018-03-25) 1 commit
661
- (merged to 'next' on 2018-03-29 at 6890e2c39b)
662
- + run-command: use strbuf_addstr() for adding a string to a strbuf
663
-
664
- Code cleanup.
665
-
666
- Will merge to 'master'.
667
-
668
-
669
-* pk/test-avoid-pipe-hiding-exit-status (2018-03-28) 1 commit
670
- (merged to 'next' on 2018-03-30 at 4f3df09139)
671
- + test: avoid pipes in git related commands for test
672
-
673
- Test cleanup.
674
-
675
- Will merge to 'master'.
676
-
677
-
678
-* ws/rebase-p (2018-03-23) 8 commits
679
- (merged to 'next' on 2018-03-29 at d20ae8510e)
680
- + rebase: remove merges_option and a blank line
681
- + rebase: remove unused code paths from git_rebase__interactive__preserve_merges
682
- + rebase: remove unused code paths from git_rebase__interactive
683
- + rebase: add and use git_rebase__interactive__preserve_merges
684
- + rebase: extract functions out of git_rebase__interactive
685
- + rebase: reindent function git_rebase__interactive
686
- + rebase: update invocation of rebase dot-sourced scripts
687
- + rebase-interactive: simplify pick_on_preserving_merges
688
-
689
- Code clean-up.
690
-
691
- Will merge to 'master'.
692
-
693
-
694
-* yk/filter-branch-non-committish-refs (2018-03-25) 1 commit
695
- (merged to 'next' on 2018-03-29 at 8ac3806bcf)
696
- + filter-branch: fix errors caused by refs that point at non-committish
697
-
698
- when refs that do not point at committish are given, "git
699
- filter-branch" gave a misleading error messages. This has been
700
- corrected.
701
-
702
- Will merge to 'master'.
703
-
704
-
705
-* ys/bisect-object-id-missing-conversion-fix (2018-03-25) 1 commit
706
- (merged to 'next' on 2018-03-29 at 7d988b57d4)
707
- + bisect: use oid_to_hex() for converting object_id hashes to hex strings
708
-
709
- Code clean-up.
710
-
711
- Will merge to 'master'.
712
-
713
-
714
-* ml/filter-branch-no-op-error (2018-03-15) 1 commit
715
- (merged to 'next' on 2018-03-15 at ba8ac48dec)
716
- + filter-branch: return 2 when nothing to rewrite
717
-
718
- "git filter-branch" learned to use a different exit code to allow
719
- the callers to tell the case where there was no new commits to
720
- rewrite from other error cases.
721
-
722
- Will merge to 'master'.
723
-
724
-
725
-* ab/install-symlinks (2018-03-15) 3 commits
726
- (merged to 'next' on 2018-03-15 at 99d6bd6cb3)
727
- + Makefile: optionally symlink libexec/git-core binaries to bin/git
728
- + Makefile: add a gitexecdir_relative variable
729
- + Makefile: fix broken bindir_relative variable
730
-
731
- The build procedure learned to optionally use symbolic links
732
- (instead of hardlinks and copies) to install "git-foo" for built-in
733
- commands, whose binaries are all identical.
734
-
735
- Will merge to 'master'.
736
-
737
-
738
-* tg/stash-untracked-with-pathspec-fix (2018-03-21) 4 commits
739
- (merged to 'next' on 2018-03-22 at 73c4bef74f)
740
- + stash: drop superfluos pathspec parameter
741
- (merged to 'next' on 2018-03-21 at 8f5b5ab131)
742
- + stash push -u: don't create empty stash
743
- + stash push: avoid printing errors
744
- + stash: fix nonsense pipeline
745
-
746
- "git stash push -u -- <pathspec>" gave an unnecessary and confusing
747
- error message when there was no tracked files that match the
748
- <pathspec>, which has been fixed.
1192
+ mem-pool API.
1193
1194
Will merge to 'master'.
1195
1196
1197
* pw/rebase-keep-empty-fixes (2018-03-29) 3 commits
754
- - rebase: respect --no-keep-empty
755
- - rebase -i --keep-empty: don't prune empty commits
756
- - rebase --root: stop assuming squash_onto is unset
1198
+ (merged to 'next' on 2018-04-17 at 10a4d92060)
1199
+ + rebase: respect --no-keep-empty
1200
+ + rebase -i --keep-empty: don't prune empty commits
1201
+ + rebase --root: stop assuming squash_onto is unset
1202
(this branch is used by pw/rebase-signoff.)
1203
1204
"git rebase --keep-empty" still removed an empty commit if the
1205
other side contained an empty commit (due to the "does an
1206
equivalent patch exist already?" check), which has been corrected.
1207
763
- Will merge to 'next'.
1208
+ Will merge to 'master'.
1209
1210
1211
* pw/rebase-signoff (2018-03-29) 4 commits
767
- - rebase --keep-empty: always use interactive rebase
768
- - rebase -p: error out if --signoff is given
769
- - rebase: extend --signoff support
770
- - Merge branch 'pw/rebase-keep-empty-fixes' into pw/rebase-signoff
1212
+ (merged to 'next' on 2018-04-17 at fbdc16e20e)
1213
+ + rebase --keep-empty: always use interactive rebase
1214
+ + rebase -p: error out if --signoff is given
1215
+ + rebase: extend --signoff support
1216
+ + Merge branch 'pw/rebase-keep-empty-fixes' into pw/rebase-signoff
1217
(this branch uses pw/rebase-keep-empty-fixes.)
1218
1219
"git rebase" has learned to honor "--signoff" option when using
1220
backends other than "am" (but not "--preserve-merges").
1221
776
- Will merge to 'next'.
1222
+ Will merge to 'master'.
1223
1224
779
-* dj/runtime-prefix (2018-03-25) 3 commits
780
- - exec_cmd: RUNTIME_PREFIX on some POSIX systems
781
- - Makefile: add Perl runtime prefix support
782
- - Makefile: generate Perl header from template file
783
- (this branch is used by js/runtime-prefix-windows.)
1225
+* dj/runtime-prefix (2018-04-11) 5 commits
1226
+ (merged to 'next' on 2018-04-17 at a69aaa7a22)
1227
+ + mingw/msvc: use the new-style RUNTIME_PREFIX helper
1228
+ + exec_cmd: provide a new-style RUNTIME_PREFIX helper for Windows
1229
+ + exec_cmd: RUNTIME_PREFIX on some POSIX systems
1230
+ + Makefile: add Perl runtime prefix support
1231
+ + Makefile: generate Perl header from template file
1232
1233
A build-time option has been added to allow Git to be told to refer
1234
to its associated files relative to the main binary, in the same
1235
way that has been possible on Windows for quite some time, for
1236
Linux, BSDs and Darwin.
1237
790
- Will merge to 'next'.
791
-
792
-
793
-* ti/fetch-everything-local-optim (2018-03-14) 1 commit
794
- (merged to 'next' on 2018-03-15 at 2be87aa7a7)
795
- + fetch-pack.c: use oidset to check existence of loose object
796
-
797
- A "git fetch" from a repository with insane number of refs into a
798
- repository that is already up-to-date still wasted too many cycles
799
- making many lstat(2) calls to see if these objects at the tips
800
- exist as loose objects locally. These lstat(2) calls are optimized
801
- away by enumerating all loose objects beforehand.
802
-
803
- It is unknown if the new strategy negatively affects existing use
804
- cases, fetching into a repository with many loose objects from a
805
- repository with small number of refs.
806
-
1238
Will merge to 'master'.
1239
1240
810
-* ab/nuke-emacs-contrib (2018-03-13) 1 commit
811
- (merged to 'next' on 2018-03-15 at 13eb4e2d8b)
812
- + git{,-blame}.el: remove old bitrotting Emacs code
1241
+* ab/nuke-emacs-contrib (2018-04-16) 1 commit
1242
+ - git{,-blame}.el: remove old bitrotting Emacs code
1243
1244
The scripts in contrib/emacs/ have outlived their usefulness and
815
- have been removed.
816
-
817
- Will kick back to 'pu'.
818
-
819
- There were some noises about better migration strategy that lets
820
- git.el to nudge users to magit or something when used. Is it
821
- something we want to pursue further?
822
-
823
-
824
-* bc/object-id (2018-03-14) 36 commits
825
- (merged to 'next' on 2018-03-20 at f1800a33ff)
826
- + convert: convert to struct object_id
827
- + sha1_file: introduce a constant for max header length
828
- + Convert lookup_replace_object to struct object_id
829
- + sha1_file: convert read_sha1_file to struct object_id
830
- + sha1_file: convert read_object_with_reference to object_id
831
- + tree-walk: convert tree entry functions to object_id
832
- + streaming: convert istream internals to struct object_id
833
- + tree-walk: convert get_tree_entry_follow_symlinks internals to object_id
834
- + builtin/notes: convert static functions to object_id
835
- + builtin/fmt-merge-msg: convert remaining code to object_id
836
- + sha1_file: convert sha1_object_info* to object_id
837
- + Convert remaining callers of sha1_object_info_extended to object_id
838
- + packfile: convert unpack_entry to struct object_id
839
- + sha1_file: convert retry_bad_packed_offset to struct object_id
840
- + sha1_file: convert assert_sha1_type to object_id
841
- + builtin/mktree: convert to struct object_id
842
- + streaming: convert open_istream to use struct object_id
843
- + sha1_file: convert check_sha1_signature to struct object_id
844
- + sha1_file: convert read_loose_object to use struct object_id
845
- + builtin/index-pack: convert struct ref_delta_entry to object_id
846
- + archive: convert sha1_file_to_archive to struct object_id
847
- + archive: convert write_archive_entry_fn_t to object_id
848
- + builtin/mktag: convert to struct object_id
849
- + replace_object: convert struct replace_object to object_id
850
- + send-pack: convert remaining functions to struct object_id
851
- + http-walker: convert struct object_request to use struct object_id
852
- + Convert find_unique_abbrev* to struct object_id
853
- + wt-status: convert struct wt_status_state to object_id
854
- + strbuf: convert strbuf_add_unique_abbrev to use struct object_id
855
- + ref-filter: convert grab_objectname to struct object_id
856
- + tree: convert read_tree_recursive to struct object_id
857
- + resolve-undo: convert struct resolve_undo_info to object_id
858
- + cache-tree: convert remnants to struct object_id
859
- + cache-tree: convert write_*_as_tree to object_id
860
- + builtin/write-tree: convert to struct object_id
861
- + bulk-checkin: convert index_bulk_checkin to struct object_id
862
- (this branch is used by ds/bsearch-hash.)
863
-
864
- Conversion from uchar[20] to struct object_id continues.
865
-
866
- Will merge to 'master'.
867
-
868
-
869
-* ma/shortlog-revparse (2018-03-15) 3 commits
870
- (merged to 'next' on 2018-03-15 at 2c2de7eb95)
871
- + shortlog: disallow left-over arguments outside repo
872
- + shortlog: add usage-string for stdin-reading
873
- + git-shortlog.txt: reorder usages
874
-
875
- "git shortlog cruft" aborted with a BUG message when run outside a
876
- Git repository. The command has been taught to complain about
877
- extra and unwanted arguments on its command line instead in such a
878
- case.
879
-
880
- Will merge to 'master'.
881
-
882
-
883
-* ab/pcre-v2 (2018-03-14) 3 commits
884
- (merged to 'next' on 2018-03-15 at e77b116903)
885
- + Makefile: make USE_LIBPCRE=YesPlease mean v2, not v1
886
- + configure: detect redundant --with-libpcre & --with-libpcre1
887
- + configure: fix a regression in PCRE v1 detection
888
-
889
- Git can be built to use either v1 or v2 of the PCRE library, and so
890
- far, the build-time configuration USE_LIBPCRE=YesPlease instructed
891
- the build procedure to use v1, but now it means v2. USE_LIBPCRE1
892
- and USE_LIBPCRE2 can be used to explicitly choose which version to
893
- use, as before.
1245
+ have been replaced with a stub that errors out and tells the user
1246
+ there are replacements.
1247
895
- Will merge to 'master'.
1248
+ Will merge to 'next'.
1249
1250
1251
* bb/git-gui-ssh-key-files (2018-03-02) 2 commits
899
- - Merge branch 'bb/ssh-key-files' of git-gui into bb/git-gui-ssh-key-files
900
- - git-gui: search for all current SSH key types
1252
+ (merged to 'next' on 2018-04-17 at e439f0398d)
1253
+ + Merge branch 'bb/ssh-key-files' of git-gui into bb/git-gui-ssh-key-files
1254
+ + git-gui: search for all current SSH key types
1255
1256
"git gui" learned that "~/.ssh/id_ecdsa.pub" and
1257
"~/.ssh/id_ed25519.pub" are also possible SSH key files.
1258
1259
+ Will merge to 'master'.
1260
+
1261
1262
* bp/git-gui-bind-kp-enter (2018-03-02) 2 commits
907
- - Merge branch 'bp/bind-kp-enter' of git-gui into bp/git-gui-bind-kp-enter
908
- - git-gui: bind CTRL/CMD+numpad ENTER to do_commit
1263
+ (merged to 'next' on 2018-04-17 at 35828e90e2)
1264
+ + Merge branch 'bp/bind-kp-enter' of git-gui into bp/git-gui-bind-kp-enter
1265
+ + git-gui: bind CTRL/CMD+numpad ENTER to do_commit
1266
1267
"git gui" performs commit upon CTRL/CMD+ENTER but the
1268
CTRL/CMD+KP_ENTER (i.e. enter key on the numpad) did not have the
1269
same key binding. It now does.
1270
1271
+ Will merge to 'master'.
1272
+
1273
1274
* cb/git-gui-ttk-style (2018-03-05) 2 commits
916
- - Merge branch 'cb/ttk-style' of git-gui into cb/git-gui-ttk-style
917
- - git-gui: workaround ttk:style theme use
1275
+ (merged to 'next' on 2018-04-17 at 1a4f677a0d)
1276
+ + Merge branch 'cb/ttk-style' of git-gui into cb/git-gui-ttk-style
1277
+ + git-gui: workaround ttk:style theme use
1278
1279
"git gui" has been taught to work with old versions of tk (like
1280
8.5.7) that do not support "ttk::style theme use" as a way to query
1281
the current theme.
1282
1283
+ Will merge to 'master'.
1284
+
1285
924
-* nd/pack-objects-pack-struct (2018-04-02) 15 commits
1286
+* nd/pack-objects-pack-struct (2018-04-16) 15 commits
1287
- ci: exercise the whole test suite with uncommon code in pack-objects
1288
- pack-objects: reorder members to shrink struct object_entry
1289
- pack-objects: shrink delta_size field in struct object_entry
@@ -936,14 +1298,19 @@ of the repositories listed at
1298
- pack-objects: use bitfield for object_entry::dfs_state
1299
- pack-objects: turn type and in_pack_type to bitfields
1300
- pack-objects: a bit of document about struct object_entry
939
- - t/README: mention about running the test suite in special modes
1301
+ - read-cache.c: make $GIT_TEST_SPLIT_INDEX boolean
1302
1303
"git pack-objects" needs to allocate tons of "struct object_entry"
1304
while doing its work, and shrinking its size helps the performance
1305
quite a bit.
1306
1307
+ What's the doneness of this thing? The interdiff since previous
1308
+ rounds looked reasonable, but I didn't see this round otherwise
1309
+ scrutinized by reviewers. The numbers given in the commit near the
1310
+ tip do look impressive, though ;-)
1311
946
-* nd/repack-keep-pack (2018-03-26) 7 commits
1312
+
1313
+* nd/repack-keep-pack (2018-04-16) 7 commits
1314
- pack-objects: show some progress when counting kept objects
1315
- gc --auto: exclude base pack if not enough mem to "repack -ad"
1316
- gc: handle a corner case in gc.bigPackThreshold
@@ -958,130 +1325,26 @@ of the repositories listed at
1325
marked with ".keep" so that it is left untouched while objects in
1326
other packs and loose ones are repacked.
1327
961
- Reroll exists, but it seems to be still slushy.
962
- cf. <20180316192745.19557-1-pclouds@gmail.com>
963
-
964
-
965
-* nd/worktree-prune (2018-03-15) 3 commits
966
- (merged to 'next' on 2018-03-20 at e2d9677b20)
967
- + worktree prune: improve prune logic when worktree is moved
968
- + worktree: delete dead code
969
- + gc.txt: more details about what gc does
970
-
971
- The way "git worktree prune" worked internally has been simplified,
972
- by assuming how "git worktree move" moves an existing worktree to a
973
- different place.
974
-
975
- Will merge to 'master'.
1328
+ What's the doneness of this thing? The interdiff since the earlier
1329
+ one looked reasonable, but I didn't see this round otherwise
1330
+ scrutinized by reviewers.
1331
1332
1333
* pw/add-p-select (2018-03-16) 3 commits
979
- (merged to 'next' on 2018-03-30 at eae69f5ded)
980
- + add -p: optimize line selection for short hunks
981
- + add -p: allow line selection to be inverted
982
- + add -p: select individual hunk lines
1334
+ - add -p: optimize line selection for short hunks
1335
+ - add -p: allow line selection to be inverted
1336
+ - add -p: select individual hunk lines
1337
1338
"git add -p" interactive interface learned to let users choose
1339
individual added/removed lines to be used in the operation, instead
1340
of accepting or rejecting a whole hunk.
1341
988
- Will kick back to 'pu'.
989
-
990
- There was a brief discussion about this topic not doing as good a
991
- job as it is advertised as---has it been resolved, or do we want to
992
- run with what we have for now?
993
- cf. <878ta8vyqe.fsf@evledraar.gmail.com>
994
-
995
-
996
-* ps/contains-id-error-message (2018-03-22) 1 commit
997
- (merged to 'next' on 2018-03-22 at 3bb1dcd506)
998
- + parse-options: do not show usage upon invalid option value
999
-
1000
- "git tag --contains no-such-commit" gave a full list of options
1001
- after giving an error message.
1002
-
1003
- Will merge to 'master'.
1004
-
1005
-
1006
-* nd/remove-ignore-env-field (2018-03-23) 6 commits
1007
- (merged to 'next' on 2018-03-23 at ba9d0f2565)
1008
- + repository.h: add comment and clarify repo_set_gitdir
1009
- (merged to 'next' on 2018-03-15 at 802b6ea1cb)
1010
- + repository: delete ignore_env member
1011
- + sha1_file.c: move delayed getenv(altdb) back to setup_git_env()
1012
- + repository.c: delete dead functions
1013
- + repository.c: move env-related setup code back to environment.c
1014
- + repository: initialize the_repository in main()
1015
- (this branch is used by sb/object-store, sb/packfiles-in-repository and sb/submodule-move-nested.)
1016
-
1017
- Code clean-up for the "repository" abstraction.
1018
-
1019
- Will merge to 'master'.
1020
-
1021
-
1022
-* sb/object-store (2018-03-26) 27 commits
1023
- (merged to 'next' on 2018-03-30 at 93e3475178)
1024
- + sha1_file: allow sha1_loose_object_info to handle arbitrary repositories
1025
- + sha1_file: allow map_sha1_file to handle arbitrary repositories
1026
- + sha1_file: allow map_sha1_file_1 to handle arbitrary repositories
1027
- + sha1_file: allow open_sha1_file to handle arbitrary repositories
1028
- + sha1_file: allow stat_sha1_file to handle arbitrary repositories
1029
- + sha1_file: allow sha1_file_name to handle arbitrary repositories
1030
- + sha1_file: add repository argument to sha1_loose_object_info
1031
- + sha1_file: add repository argument to map_sha1_file
1032
- + sha1_file: add repository argument to map_sha1_file_1
1033
- + sha1_file: add repository argument to open_sha1_file
1034
- + sha1_file: add repository argument to stat_sha1_file
1035
- + sha1_file: add repository argument to sha1_file_name
1036
- + sha1_file: allow prepare_alt_odb to handle arbitrary repositories
1037
- + sha1_file: allow link_alt_odb_entries to handle arbitrary repositories
1038
- + sha1_file: add repository argument to prepare_alt_odb
1039
- + sha1_file: add repository argument to link_alt_odb_entries
1040
- + sha1_file: add repository argument to read_info_alternates
1041
- + sha1_file: add repository argument to link_alt_odb_entry
1042
- + sha1_file: add raw_object_store argument to alt_odb_usable
1043
- + pack: move approximate object count to object store
1044
- + pack: move prepare_packed_git_run_once to object store
1045
- + object-store: close all packs upon clearing the object store
1046
- + object-store: move packed_git and packed_git_mru to object store
1047
- + object-store: free alt_odb_list
1048
- + object-store: move alt_odb_list and alt_odb_tail to object store
1049
- + object-store: migrate alternates struct and functions from cache.h
1050
- + repository: introduce raw object store field
1051
- (this branch is used by sb/packfiles-in-repository and sb/submodule-move-nested; uses nd/remove-ignore-env-field.)
1052
-
1053
- Refactoring the internal global data structure to make it possible
1054
- to open multiple repositories, work with and then close them.
1055
-
1056
- Rerolled by Duy on top of a separate preliminary clean-up topic.
1057
- The resulting structure of the topics looked very sensible.
1058
-
1059
- Will merge to 'master'.
1060
-
1061
-
1062
-* sb/packfiles-in-repository (2018-03-26) 12 commits
1063
- (merged to 'next' on 2018-03-30 at caa68db14d)
1064
- + packfile: keep prepare_packed_git() private
1065
- + packfile: allow find_pack_entry to handle arbitrary repositories
1066
- + packfile: add repository argument to find_pack_entry
1067
- + packfile: allow reprepare_packed_git to handle arbitrary repositories
1068
- + packfile: allow prepare_packed_git to handle arbitrary repositories
1069
- + packfile: allow prepare_packed_git_one to handle arbitrary repositories
1070
- + packfile: add repository argument to reprepare_packed_git
1071
- + packfile: add repository argument to prepare_packed_git
1072
- + packfile: add repository argument to prepare_packed_git_one
1073
- + packfile: allow install_packed_git to handle arbitrary repositories
1074
- + packfile: allow rearrange_packed_git to handle arbitrary repositories
1075
- + packfile: allow prepare_packed_git_mru to handle arbitrary repositories
1076
- (this branch uses nd/remove-ignore-env-field and sb/object-store; is tangled with sb/submodule-move-nested.)
1342
+ Expecting a reroll to reignite the discussion.
1343
+ cf. <9895c7b7-eac4-28c1-90c6-443acd1131b7@talktalk.net>
1344
1078
- Refactoring of the internal global data structure continues.
1079
-
1080
- Is this ready for 'master' by now?
1345
1082
-
1083
-* ds/commit-graph (2018-04-02) 16 commits
1084
- - commit-graph: implement "--additive" option
1346
+* ds/commit-graph (2018-04-11) 16 commits
1347
+ - commit-graph: implement "--append" option
1348
- commit-graph: build graph from starting commits
1349
- commit-graph: read only from specific pack-indexes
1350
- commit: integrate commit graph with commit parsing
@@ -1097,13 +1360,12 @@ of the repositories listed at
1360
- csum-file: rename hashclose() to finalize_hashfile()
1361
- Merge branch 'jk/cached-commit-buffer' into HEAD
1362
- Merge branch 'jt/binsearch-with-fanout' into HEAD
1100
- (this branch is used by ds/lazy-load-trees.)
1363
+ (this branch is used by ds/generation-numbers and ds/lazy-load-trees.)
1364
1365
Precompute and store information necessary for ancestry traversal
1366
in a separate file to optimize graph walking.
1367
1105
- Ready???
1106
- It seems that this topic is getting there.
1368
+ Will merge to 'next'.
1369
1370
1371
* pc/submodule-helper-foreach (2018-02-02) 5 commits
@@ -1117,44 +1379,43 @@ of the repositories listed at
1379
e.g. cf. <20180206150044.1bffbb573c088d38c8e44bf5@google.com>
1380
1381
1120
-* tg/worktree-add-existing-branch (2018-04-02) 6 commits
1382
+* tg/worktree-add-existing-branch (2018-04-16) 4 commits
1383
- worktree: teach "add" to check out existing branches
1384
- worktree: factor out dwim_branch function
1123
- - worktree: be clearer when "add" dwim-ery kicks in
1385
- worktree: improve message when creating a new worktree
1125
- - reset: introduce show-new-head-line option
1386
- worktree: remove extra members from struct add_opts
1387
1388
"git worktree add" learned to check out an existing branch.
1389
1130
- Expecting a reroll.
1131
- cf. <20180408143034.GK2629@hank> <20180408142417.GJ2629@hank>
1132
-
1133
-
1134
-* js/rebase-recreate-merge (2018-02-23) 12 commits
1135
- (merged to 'next' on 2018-03-15 at 3d1671756f)
1136
- + rebase -i: introduce --recreate-merges=[no-]rebase-cousins
1137
- + pull: accept --rebase=recreate to recreate the branch topology
1138
- + sequencer: handle post-rewrite for merge commands
1139
- + sequencer: make refs generated by the `label` command worktree-local
1140
- + rebase: introduce the --recreate-merges option
1141
- + rebase-helper --make-script: introduce a flag to recreate merges
1142
- + sequencer: fast-forward merge commits, if possible
1143
- + sequencer: introduce the `merge` command
1144
- + sequencer: introduce new commands to reset the revision
1145
- + git-rebase--interactive: clarify arguments
1146
- + sequencer: make rearrange_squash() a bit more obvious
1147
- + sequencer: avoid using errno clobbered by rollback_lock_file()
1148
-
1149
- "git rebase" learned "--recreate-merges" to transplant the whole
1390
+ Will merge to 'next'.
1391
+
1392
+
1393
+* js/rebase-recreate-merge (2018-04-11) 15 commits
1394
+ - rebase -i --rebase-merges: add a section to the man page
1395
+ - rebase -i: introduce --rebase-merges=[no-]rebase-cousins
1396
+ - pull: accept --rebase=merges to recreate the branch topology
1397
+ - rebase --rebase-merges: avoid "empty merges"
1398
+ - sequencer: handle post-rewrite for merge commands
1399
+ - sequencer: make refs generated by the `label` command worktree-local
1400
+ - rebase --rebase-merges: add test for --keep-empty
1401
+ - rebase: introduce the --rebase-merges option
1402
+ - rebase-helper --make-script: introduce a flag to rebase merges
1403
+ - sequencer: fast-forward `merge` commands, if possible
1404
+ - sequencer: introduce the `merge` command
1405
+ - sequencer: introduce new commands to reset the revision
1406
+ - git-rebase--interactive: clarify arguments
1407
+ - sequencer: make rearrange_squash() a bit more obvious
1408
+ - sequencer: avoid using errno clobbered by rollback_lock_file()
1409
+
1410
+ "git rebase" learned "--rebase-merges" to transplant the whole
1411
topology of commit graph elsewhere.
1412
1152
- This serise has been reverted out of 'next', expecting that it will
1153
- be replaced by a reroll on top of a couple of topics by Phillip.
1413
+ This looked more or less ready for 'next'. Please stop me if there
1414
+ are remaining issues I forgot about.
1415
1416
1417
* bw/protocol-v2 (2018-03-15) 35 commits
1157
- (merged to 'next' on 2018-03-29 at be7f998712)
1418
+ (merged to 'next' on 2018-04-11 at 23ee234a2c)
1419
+ remote-curl: don't request v2 when pushing
1420
+ remote-curl: implement stateless-connect command
1421
+ http: eliminate "# service" line when using protocol v2
@@ -1193,10 +1454,10 @@ of the repositories listed at
1454
1455
The beginning of the next-gen transfer protocol.
1456
1196
- Is this ready for 'master' by now?
1457
+ Will cook in 'next'.
1458
1459
1199
-* ls/checkout-encoding (2018-03-16) 10 commits
1460
+* ls/checkout-encoding (2018-04-16) 10 commits
1461
- convert: add round trip check based on 'core.checkRoundtripEncoding'
1462
- convert: add tracing for 'working-tree-encoding' attribute
1463
- convert: check for detectable errors in UTF encodings
@@ -1212,48 +1473,24 @@ of the repositories listed at
1473
contents to the specified encoding when checking out to the working
1474
tree (and the other way around when checking in).
1475
1215
- Expecting a reroll.
1216
- cf. <B86BE818-A385-4E0C-9AE1-1E974471CEB9@gmail.com>
1476
+ Will merge to 'next'.
1477
+ This looked more or less ready for 'next'. Please stop me if there
1478
+ are remaining issues I forgot about.
1479
1480
+--------------------------------------------------
1481
+[Discarded]
1482
1219
-* en/rename-directory-detection (2018-02-27) 29 commits
1220
- (merged to 'next' on 2018-03-06 at d42470f86e)
1221
- + merge-recursive: ensure we write updates for directory-renamed file
1222
- + merge-recursive: avoid spurious rename/rename conflict from dir renames
1223
- + directory rename detection: new testcases showcasing a pair of bugs
1224
- + merge-recursive: fix remaining directory rename + dirty overwrite cases
1225
- + merge-recursive: fix overwriting dirty files involved in renames
1226
- + merge-recursive: avoid clobbering untracked files with directory renames
1227
- + merge-recursive: apply necessary modifications for directory renames
1228
- + merge-recursive: when comparing files, don't include trees
1229
- + merge-recursive: check for file level conflicts then get new name
1230
- + merge-recursive: add computation of collisions due to dir rename & merging
1231
- + merge-recursive: check for directory level conflicts
1232
- + merge-recursive: add get_directory_renames()
1233
- + merge-recursive: make a helper function for cleanup for handle_renames
1234
- + merge-recursive: split out code for determining diff_filepairs
1235
- + merge-recursive: make !o->detect_rename codepath more obvious
1236
- + merge-recursive: fix leaks of allocated renames and diff_filepairs
1237
- + merge-recursive: introduce new functions to handle rename logic
1238
- + merge-recursive: move the get_renames() function
1239
- + directory rename detection: tests for handling overwriting dirty files
1240
- + directory rename detection: tests for handling overwriting untracked files
1241
- + directory rename detection: miscellaneous testcases to complete coverage
1242
- + directory rename detection: testcases exploring possibly suboptimal merges
1243
- + directory rename detection: more involved edge/corner testcases
1244
- + directory rename detection: testcases checking which side did the rename
1245
- + directory rename detection: files/directories in the way of some renames
1246
- + directory rename detection: partially renamed directory testcase/discussion
1247
- + directory rename detection: testcases to avoid taking detection too far
1248
- + directory rename detection: directory splitting testcases
1249
- + directory rename detection: basic testcases
1483
+* js/runtime-prefix-windows (2018-03-27) 5 commits
1484
+ . mingw/msvc: use the new-style RUNTIME_PREFIX helper
1485
+ . exec_cmd: provide a new-style RUNTIME_PREFIX helper for Windows
1486
+ . exec_cmd: RUNTIME_PREFIX on some POSIX systems
1487
+ . Makefile: add Perl runtime prefix support
1488
+ . Makefile: generate Perl header from template file
1489
1251
- Rename detection logic in "diff" family that is used in "merge" has
1252
- learned to guess when all of x/a, x/b and x/c have moved to z/a,
1253
- z/b and z/c, it is likely that x/d added in the meantime would also
1254
- want to move to z/d by taking the hint that the entire directory
1255
- 'x' moved to 'z'. A bug causing dirty files involved in a rename
1256
- to be overwritten during merge has also been fixed as part of this
1257
- work.
1490
+ The Windows port was the first that allowed Git to be installed
1491
+ anywhere by having its components refer to each other with relative
1492
+ pathnames. The recent dj/runtime-prefix topic extends the idea to
1493
+ other platforms, and its approach has been adopted back in the
1494
+ Windows port.
1495
1259
- Will merge to 'master'.
1496
+ Ejected, as the parent topic dj/runtime-prefix covers Windows now.