What's cooking (2018/03 #02)

Junio C Hamano committed Mar 6, 2018 at 15:29 UTC 84a72ea21678770a2f54c193009d3cdbc34fd5b3
1 file changed +593 -768
whats-cooking.txt
+593 -768
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Mar 2018, #01; Thu, 1)
4 -X-master-at: 7e31236f652ad9db221511eaf157ce0ef55585d6
5 -X-next-at: cb683e0bf615cfbbe729b561a6ca9484c4bf4596
3 +Subject: What's cooking in git.git (Mar 2018, #02; Tue, 6)
4 +X-master-at: c6284da4ff4afbde8211efe5d03f3604b1c6b9d6
5 +X-next-at: d534789076285d319a5ede615f98c24b4ad17c81
6
7 -What's cooking in git.git (Mar 2018, #01; Thu, 1)
7 +What's cooking in git.git (Mar 2018, #02; Tue, 6)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -20,375 +20,527 @@ of the repositories listed at
20 --------------------------------------------------
21 [Graduated to "master"]
22
23 -* ab/untracked-cache-invalidation-docs (2018-02-09) 2 commits
24 - (merged to 'next' on 2018-02-14 at 11d2d07c4a)
25 - + update-index doc: note the caveat with "could not open..."
26 - + update-index doc: note a fixed bug in the untracked cache
27 - (this branch uses nd/fix-untracked-cache-invalidation.)
23 +* ab/fetch-prune (2018-02-09) 17 commits
24 + (merged to 'next' on 2018-02-27 at eafb648dd9)
25 + + fetch: make the --prune-tags work with <url>
26 + + fetch: add a --prune-tags option and fetch.pruneTags config
27 + + fetch tests: add scaffolding for the new fetch.pruneTags
28 + + git-fetch & config doc: link to the new PRUNING section
29 + + git remote doc: correct dangerous lies about what prune does
30 + + git fetch doc: add a new section to explain the ins & outs of pruning
31 + + fetch tests: fetch <url> <spec> as well as fetch [<remote>]
32 + + fetch tests: expand case/esac for later change
33 + + fetch tests: double quote a variable for interpolation
34 + + fetch tests: test --prune and refspec interaction
35 + + fetch tests: add a tag to be deleted to the pruning tests
36 + + fetch tests: re-arrange arguments for future readability
37 + + fetch tests: refactor in preparation for testing tag pruning
38 + + remote: add a macro for "refs/tags/*:refs/tags/*"
39 + + fetch: stop accessing "remote" variable indirectly
40 + + fetch: trivially refactor assignment to ref_nr
41 + + fetch: don't redundantly NULL something calloc() gave us
42
29 - Doc update to warn against remaining bugs in untracked cache.
43 + "git fetch --prune-tags" may be used as a handy short-hand for
44 + getting rid of stale tags that are locally held.
45
46
32 -* as/ll-i18n (2018-02-13) 1 commit
33 - (merged to 'next' on 2018-02-14 at b30154a04c)
34 - + Mark messages for translations
47 +* ab/simplify-perl-makefile (2018-02-15) 1 commit
48 + (merged to 'next' on 2018-02-27 at b0d68a2013)
49 + + Makefile: generate Git(3pm) as dependency of the 'doc' and 'man' targets
50
36 - Some messages in low level start-up codepath have been i18n-ized.
51 + Hotfix for a topic already in 'master'.
52
53
39 -* bc/doc-interpret-trailers-grammofix (2018-02-13) 1 commit
40 - (merged to 'next' on 2018-02-14 at 940e6dc7a5)
41 - + docs/interpret-trailers: fix agreement error
54 +* bw/c-plus-plus (2018-02-22) 37 commits
55 + (merged to 'next' on 2018-02-27 at daf85c03de)
56 + + replace: rename 'new' variables
57 + + trailer: rename 'template' variables
58 + + tempfile: rename 'template' variables
59 + + wrapper: rename 'template' variables
60 + + environment: rename 'namespace' variables
61 + + diff: rename 'template' variables
62 + + environment: rename 'template' variables
63 + + init-db: rename 'template' variables
64 + + unpack-trees: rename 'new' variables
65 + + trailer: rename 'new' variables
66 + + submodule: rename 'new' variables
67 + + split-index: rename 'new' variables
68 + + remote: rename 'new' variables
69 + + ref-filter: rename 'new' variables
70 + + read-cache: rename 'new' variables
71 + + line-log: rename 'new' variables
72 + + imap-send: rename 'new' variables
73 + + http: rename 'new' variables
74 + + entry: rename 'new' variables
75 + + diffcore-delta: rename 'new' variables
76 + + diff: rename 'new' variables
77 + + diff-lib: rename 'new' variable
78 + + commit: rename 'new' variables
79 + + combine-diff: rename 'new' variables
80 + + remote: rename 'new' variables
81 + + reflog: rename 'new' variables
82 + + pack-redundant: rename 'new' variables
83 + + help: rename 'new' variables
84 + + checkout: rename 'new' variables
85 + + apply: rename 'new' variables
86 + + apply: rename 'try' variables
87 + + diff: rename 'this' variables
88 + + rev-parse: rename 'this' variable
89 + + pack-objects: rename 'this' variables
90 + + blame: rename 'this' variables
91 + + object: rename function 'typename' to 'type_name'
92 + + object_info: change member name from 'typename' to 'type_name'
93
43 - Docfix.
94 + We now avoid using identifiers that clash with C++ keywords. Even though
95 + it is not a goal to compile Git with C++ compilers, changes like
96 + this help use of code analysis tools that targets C++ on our
97 + codebase.
98
99
46 -* bp/fsmonitor (2018-02-14) 1 commit
47 - (merged to 'next' on 2018-02-14 at 5c508858fb)
48 - + fsmonitor: update documentation to remove reference to invalid config settings
100 +* bw/doc-submodule-recurse-config-with-clone (2018-02-21) 1 commit
101 + (merged to 'next' on 2018-02-27 at 5b12841508)
102 + + submodule: indicate that 'submodule.recurse' doesn't apply to clone
103
50 - Doc update for a recently added feature.
104 + Doc update.
105
106
53 -* bp/name-hash-dirname-fix (2018-02-08) 1 commit
54 - (merged to 'next' on 2018-02-14 at 2f564fb4b3)
55 - + name-hash: properly fold directory names in adjust_dirname_case()
107 +* bw/perl-timegm-timelocal-fix (2018-02-23) 1 commit
108 + (merged to 'next' on 2018-02-27 at 565a3141ce)
109 + + perl: call timegm and timelocal with 4-digit year
110
57 - "git add" files in the same directory, but spelling the directory
58 - path in different cases on case insensitive filesystem, corrupted
59 - the name hash data structure and led to unexpected results. This
60 - has been corrected.
111 + Y2k20 fix ;-) for our perl scripts.
112
113
63 -* es/worktree-add-post-checkout-hook (2018-02-15) 1 commit
64 - (merged to 'next' on 2018-02-21 at 6ef6a130bf)
65 - + worktree: add: fix 'post-checkout' not knowing new worktree location
114 +* jc/allow-ff-merging-kept-tags (2018-02-16) 1 commit
115 + (merged to 'next' on 2018-02-27 at 8b03610d2b)
116 + + merge: allow fast-forward when merging a tracked tag
117
67 - "git worktree add" learned to run the post-checkout hook, just like
68 - "git clone" runs it upon the initial checkout.
118 + Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when
119 + the side branch being merged is a descendant of the current commit,
120 + create a merge commit instead of fast-forwarding) when merging a
121 + tag object. This was appropriate default for integrators who pull
122 + signed tags from their downstream contributors, but caused an
123 + unnecessary merges when used by downstream contributors who
124 + habitually "catch up" their topic branches with tagged releases
125 + from the upstream. Update "git merge" to default to --no-ff only
126 + when merging a tag object that does *not* sit at its usual place in
127 + refs/tags/ hierarchy, and allow fast-forwarding otherwise, to
128 + mitigate the problem.
129
130
71 -* gs/test-unset-xdg-cache-home (2018-02-16) 1 commit
72 - (merged to 'next' on 2018-02-21 at 9aec46d404)
73 - + test-lib.sh: unset XDG_CACHE_HOME
131 +* jk/cached-commit-buffer (2018-02-22) 2 commits
132 + (merged to 'next' on 2018-02-27 at af791d9a1e)
133 + + revision: drop --show-all option
134 + + commit: drop uses of get_cached_commit_buffer()
135
75 - Test update.
136 + Code clean-up.
137
138
78 -* jc/blame-missing-path (2018-02-07) 1 commit
79 - (merged to 'next' on 2018-02-14 at 883d266e1e)
80 - + blame: tighten command line parser
139 +* jk/strbuf-read-file-close-error (2018-02-23) 1 commit
140 + (merged to 'next' on 2018-02-27 at c5dfe33335)
141 + + strbuf_read_file(): preserve errno across close() call
142
82 - "git blame HEAD COPYING" in a bare repository failed to run, while
83 - "git blame HEAD -- COPYING" run just fine. This has been corrected.
143 + Code clean-up.
144
145
86 -* jk/doc-do-not-write-extern (2018-02-08) 1 commit
87 - (merged to 'next' on 2018-02-14 at e55b5127de)
88 - + CodingGuidelines: mention "static" and "extern"
146 +* jk/test-helper-v-output-fix (2018-02-22) 1 commit
147 + (merged to 'next' on 2018-02-27 at c9109977e8)
148 + + t: send verbose test-helper output to fd 4
149
90 - Devdoc update.
150 + Test framework update.
151
152
93 -* jk/gettext-poison (2018-02-08) 2 commits
94 - (merged to 'next' on 2018-02-14 at cca3719a59)
95 - + git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME
96 - + t0205: drop redundant test
153 +* ms/non-ascii-ticks (2018-02-22) 1 commit
154 + (merged to 'next' on 2018-02-27 at 41159fc4f0)
155 + + Documentation/gitsubmodules.txt: avoid non-ASCII apostrophes
156
98 - Test updates.
157 + Doc markup fix.
158
159
101 -* jk/push-options-via-transport-fix (2018-02-20) 2 commits
102 - (merged to 'next' on 2018-02-21 at a037cbfa2b)
103 - + remote-curl: unquote incoming push-options
104 - + t5545: factor out http repository setup
160 +* nd/rebase-show-current-patch (2018-02-12) 3 commits
161 + (merged to 'next' on 2018-02-27 at 5a4e23a77c)
162 + + rebase: introduce and use pseudo-ref REBASE_HEAD
163 + + rebase: add --show-current-patch
164 + + am: add --show-current-patch
165
106 - "git push" over http transport did not unquote the push-options
107 - correctly.
166 + The new "--show-current-patch" option gives an end-user facing way
167 + to get the diff being applied when "git rebase" (and "git am")
168 + stops with a conflict.
169
170
110 -* jk/sq-dequote-on-bogus-input (2018-02-14) 1 commit
111 - (merged to 'next' on 2018-02-14 at 75d4f1eaf8)
112 - + sq_dequote: fix extra consumption of source string
171 +* nm/tag-edit (2018-02-07) 1 commit
172 + (merged to 'next' on 2018-02-27 at 3bc8345213)
173 + + tag: add --edit option
174
114 - Code to unquote single-quoted string (used in the parser for
115 - configuration files, etc.) did not diagnose bogus input correctly
116 - and produced bogus results instead.
175 + "git tag" learned an explicit "--edit" option that allows the
176 + message given via "-m" and "-F" to be further edited.
177
178
119 -* jk/t0002-simplify (2018-02-12) 1 commit
120 - (merged to 'next' on 2018-02-14 at a7a24f5f29)
121 - + t0002: simplify error checking
179 +* pw/add-p-single (2018-02-13) 3 commits
180 + (merged to 'next' on 2018-02-27 at 0e2bd585e3)
181 + + add -p: improve error messages
182 + + add -p: only bind search key if there's more than one hunk
183 + + add -p: only display help for active keys
184
123 - Code cleanup.
185 + "git add -p" used to offer "/" (look for a matching hunk) as a
186 + choice, even there was only one hunk, which has been corrected.
187 + Also the single-key help is now given only for keys that are
188 + enabled (e.g. help for '/' won't be shown when there is only one
189 + hunk).
190
191
126 -* jk/test-hashmap-updates (2018-02-14) 6 commits
127 - (merged to 'next' on 2018-02-14 at a61a9bd8f0)
128 - + test-hashmap: use "unsigned int" for hash storage
129 - + test-hashmap: simplify alloc_test_entry
130 - + test-hashmap: use strbuf_getline rather than fgets
131 - + test-hashmap: use xsnprintf rather than snprintf
132 - + test-hashmap: check allocation computation for overflow
133 - + test-hashmap: use ALLOC_ARRAY rather than bare malloc
192 +* rs/strbuf-read-file-or-whine (2018-02-22) 1 commit
193 + (merged to 'next' on 2018-02-27 at 56017cb5e2)
194 + + sequencer: factor out strbuf_read_file_or_whine()
195
196 Code clean-up.
197
198
138 -* js/fix-merge-arg-quoting-in-rebase-p (2018-02-08) 1 commit
139 - (merged to 'next' on 2018-02-14 at 27ebf001a1)
140 - + rebase -p: fix incorrect commit message when calling `git merge`.
199 +* sb/color-h-cleanup (2018-02-13) 1 commit
200 + (merged to 'next' on 2018-02-27 at 617345de77)
201 + + color.h: document and modernize header
202 + (this branch is used by sb/blame-color.)
203
142 - "git rebase -p" mangled log messages of a merge commit, which is
143 - now fixed.
204 + Devdoc update.
205
206
146 -* js/packet-read-line-check-null (2018-02-08) 2 commits
147 - (merged to 'next' on 2018-02-14 at 6ba237b284)
148 - + always check for NULL return from packet_read_line()
149 - + correct error messages for NULL packet_read_line()
207 +* sg/t6300-modernize (2018-02-13) 1 commit
208 + (merged to 'next' on 2018-02-27 at b6f13b6915)
209 + + t6300-for-each-ref: fix "more than one quoting style" tests
210
151 - Some low level protocol codepath could crash when they get an
152 - unexpected flush packet, which is now fixed.
211 + Test update.
212
213
155 -* jt/binsearch-with-fanout (2018-02-15) 2 commits
156 - (merged to 'next' on 2018-02-15 at 7648891022)
157 - + packfile: refactor hash search with fanout table
158 - + packfile: remove GIT_DEBUG_LOOKUP log statements
159 - (this branch is used by ds/commit-graph.)
214 +* sm/mv-dry-run-update (2018-02-07) 2 commits
215 + (merged to 'next' on 2018-02-27 at 17eef62ddf)
216 + + mv: remove unneeded 'if (!show_only)'
217 + + t7001: add test case for --dry-run
218
161 - Refactor the code to binary search starting from a fan-out table
162 - (which is how the packfile is indexed with object names) into a
163 - reusable helper.
219 + Code clean-up.
220
221
166 -* nd/am-quit (2018-02-14) 1 commit
167 - (merged to 'next' on 2018-02-21 at 9a9cb40c2f)
168 - + am: support --quit
222 +* xz/send-email-batch-size (2018-02-12) 1 commit
223 + (merged to 'next' on 2018-02-27 at da0247d532)
224 + + send-email: error out when relogin delay is missing
225
170 - "git am" has learned the "--quit" option, in addition to the existing
171 - "--abort" option; having the pair mirrors a few other commands like
172 - "rebase" and "cherry-pick".
226 + "git send-email" learned to complain when the batch-size option is
227 + not defined when the relogin-delay option is, since these two are
228 + mutually required.
229
230 +--------------------------------------------------
231 +[New Topics]
232
175 -* nd/fix-untracked-cache-invalidation (2018-02-07) 5 commits
176 - (merged to 'next' on 2018-02-08 at 23bd5a5d2d)
177 - + dir.c: ignore paths containing .git when invalidating untracked cache
178 - + dir.c: stop ignoring opendir() error in open_cached_dir()
179 - + dir.c: fix missing dir invalidation in untracked code
180 - + dir.c: avoid stat() in valid_cached_dir()
181 - + status: add a failing test showing a core.untrackedCache bug
182 - (this branch is used by ab/untracked-cache-invalidation-docs.)
233 +* bb/git-gui-ssh-key-files (2018-03-02) 2 commits
234 + - Merge branch 'bb/ssh-key-files' of git-gui into bb/git-gui-ssh-key-files
235 + - git-gui: search for all current SSH key types
236
184 - Some bugs around "untracked cache" feature have been fixed.
185 - Seems to uncover bad untracked cache information a bit too loudly,
186 - for which there is ab/untracked-cache-invalidation-docs topic.
187 - cf. <87d11omi2o.fsf@evledraar.gmail.com>
188 - They have to graduate together.
237
238 +* bp/git-gui-bind-kp-enter (2018-03-02) 2 commits
239 + - Merge branch 'bp/bind-kp-enter' of git-gui into bp/git-gui-bind-kp-enter
240 + - git-gui: bind CTRL/CMD+numpad ENTER to do_commit
241
191 -* rd/typofix (2018-02-14) 2 commits
192 - (merged to 'next' on 2018-02-14 at e770601de4)
193 - + Correct mispellings of ".gitmodule" to ".gitmodules"
194 - + t/: correct obvious typo "detahced"
242
196 - Typofix.
243 +* cb/git-gui-ttk-style (2018-03-05) 2 commits
244 + - Merge branch 'cb/ttk-style' of git-gui into cb/git-gui-ttk-style
245 + - git-gui: workaround ttk:style theme use
246
247
199 -* rj/sparse-updates (2018-02-12) 2 commits
200 - (merged to 'next' on 2018-02-14 at 072df8ed5b)
201 - + Makefile: suppress a sparse warning for pack-revindex.c
202 - + config.mak.uname: remove SPARSE_FLAGS setting for cygwin
248 +* dp/git-el-ls-files-excludes (2018-03-05) 1 commit
249 + - git.el: handle default excludesfile properly
250
204 - Devtool update.
251
252 +* jk/add-i-diff-filter (2018-03-05) 2 commits
253 + - add--interactive: detect bogus diffFilter output
254 + - t3701: add a test for interactive.diffFilter
255
207 -* rs/check-ignore-multi (2018-02-12) 1 commit
208 - (merged to 'next' on 2018-02-14 at 43cb0704af)
209 - + check-ignore: fix mix of directories and other file types
256
211 - "git check-ignore" with multiple paths got confused when one is a
212 - file and the other is a directory, which has been fixed.
257 +* jk/smart-http-protocol-doc-fix (2018-03-05) 1 commit
258 + - smart-http: document flush after "# service" line
259
260
215 -* sb/describe-blob (2018-02-12) 1 commit
216 - (merged to 'next' on 2018-02-14 at 23e4c13944)
217 - + describe: confirm that blobs actually exist
261 +* nd/object-allocation-comments (2018-03-06) 2 commits
262 + - object.h: realign object flag allocation comment
263 + - object.h: update flag allocation comment
264
219 - "git describe $garbage" stopped giving any errors when the garbage
220 - happens to be a string with 40 hexadecimal letters.
265
266 +* nd/pack-objects-pack-struct (2018-03-05) 9 commits
267 + - pack-objects: reorder 'hash' to pack struct object_entry
268 + - pack-objects: refer to delta objects by index instead of pointer
269 + - pack-objects: move in_pack out of struct object_entry
270 + - pack-objects: move in_pack_pos out of struct object_entry
271 + - pack-objects: note about in_pack_header_size
272 + - pack-objects: use bitfield for object_entry::depth
273 + - pack-objects: use bitfield for object_entry::dfs_state
274 + - pack-objects: turn type and in_pack_type to bitfields
275 + - pack-objects: document holes in struct object_entry.h
276
223 -* sb/status-doc-fix (2018-02-15) 1 commit
224 - (merged to 'next' on 2018-02-21 at 5e68f3dac8)
225 - + Documentation/git-status: clarify status table for porcelain mode
277
227 - Docfix.
278 +* nd/repack-keep-pack (2018-03-06) 5 commits
279 + - pack-objects: display progress in get_object_details()
280 + - pack-objects: show some progress when counting kept objects
281 + - gc --auto: exclude base pack if not enough mem to "repack -ad"
282 + - repack: add --keep-pack option
283 + - t7700: have closing quote of a test at the beginning of line
284
285
230 -* sg/doc-test-must-fail-args (2018-02-12) 1 commit
231 - (merged to 'next' on 2018-02-14 at 28662d145b)
232 - + t: document 'test_must_fail ok=<signal-name>'
286 +* nd/worktree-prune (2018-03-06) 3 commits
287 + - worktree prune: improve prune logic when worktree is moved
288 + - worktree: delete dead code
289 + - gc.txt: more details about what gc does
290
234 - Devdoc update.
291
292 +* pw/add-p-select (2018-03-06) 3 commits
293 + - add -p: optimize line selection for short hunks
294 + - add -p: allow line selection to be inverted
295 + - add -p: select individual hunk lines
296 + (this branch uses pw/add-p-recount.)
297
237 -* tg/worktree-create-tracking (2018-02-16) 2 commits
238 - (merged to 'next' on 2018-02-21 at 3e00a10cd8)
239 - + git-worktree.txt: fix indentation of example and text of 'add' command
240 - + git-worktree.txt: fix missing ")" typo
298 +--------------------------------------------------
299 +[Stalled]
300
242 - Hotfix for a recent topic.
301 +* sb/blame-color (2018-02-13) 3 commits
302 + - builtin/blame: highlight recently changed lines
303 + - builtin/blame: add option to color metadata fields separately
304 + - builtin/blame: dim uninteresting metadata
305
306 + Expecting a reroll.
307 + cf. https://public-inbox.org/git/20171110011002.10179-1-sbeller@google.com/#t
308 + error messages are funny, can segfault, ...
309
245 -* tk/apply-dev-null-verify-name-fix (2018-02-15) 2 commits
246 - (merged to 'next' on 2018-02-21 at dab449203b)
247 - + apply: handle Subversion diffs with /dev/null gracefully
248 - + apply: demonstrate a problem applying svn diffs
310
250 - Many places in "git apply" knew that "/dev/null" that signals
251 - "there is no such file on this side of the diff" can be followed by
252 - whitespace and garbage when parsing a patch, except for one, which
253 - made an otherwise valid patch (e.g. ones from subversion) rejected.
311 +* av/fsmonitor-updates (2018-01-04) 6 commits
312 + - fsmonitor: use fsmonitor data in `git diff`
313 + - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh
314 + - fsmonitor: make output of test-dump-fsmonitor more concise
315 + - fsmonitor: update helper tool, now that flags are filled later
316 + - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
317 + - dir.c: update comments to match argument name
318
319 + Code clean-up on fsmonitor integration, plus optional utilization
320 + of the fsmonitor data in diff-files.
321
256 -* tz/do-not-clean-spec-file (2018-02-17) 1 commit
257 - (merged to 'next' on 2018-02-21 at c1336418a8)
258 - + Makefile: remove *.spec from clean target
322 + Waiting for an update.
323 + cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com>
324
260 - We no longer create any *.spec file, so "make clean" should not
261 - remove it.
325
263 ---------------------------------------------------
264 -[New Topics]
326 +* pb/bisect-helper-2 (2017-10-28) 8 commits
327 + - t6030: make various test to pass GETTEXT_POISON tests
328 + - bisect--helper: `bisect_start` shell function partially in C
329 + - bisect--helper: `get_terms` & `bisect_terms` shell function in C
330 + - bisect--helper: `bisect_next_check` shell function in C
331 + - bisect--helper: `check_and_set_terms` shell function in C
332 + - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
333 + - bisect--helper: `bisect_write` shell function in C
334 + - bisect--helper: `bisect_reset` shell function in C
335
266 -* jk/cached-commit-buffer (2018-02-22) 2 commits
267 - (merged to 'next' on 2018-02-27 at af791d9a1e)
268 - + revision: drop --show-all option
269 - + commit: drop uses of get_cached_commit_buffer()
336 + Expecting a reroll.
337 + cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
338
271 - Code clean-up.
339
273 - Will merge to 'master'.
340 +* dj/runtime-prefix (2017-12-05) 4 commits
341 + . exec_cmd: RUNTIME_PREFIX on some POSIX systems
342 + . Makefile: add Perl runtime prefix support
343 + . Makefile: add support for "perllibdir"
344 + . Makefile: generate Perl header from template file
345
346 + A build-time option has been added to allow Git to be told to refer
347 + to its associated files relative to the main binary, in the same
348 + way that has been possible on Windows for quite some time, for
349 + Linux, BSDs and Darwin.
350
276 -* jk/test-helper-v-output-fix (2018-02-22) 1 commit
277 - (merged to 'next' on 2018-02-27 at c9109977e8)
278 - + t: send verbose test-helper output to fd 4
351 + Perhaps it is about time to reboot the effort?
352
280 - Test framework update.
353
282 - Will merge to 'master'.
354 +* mk/http-backend-content-length (2017-11-27) 4 commits
355 + - SQUASH???
356 + - t5560-http-backend-noserver.sh: add CONTENT_LENGTH cases
357 + - SQUASH???
358 + - http-backend: respect CONTENT_LENGTH as specified by rfc3875
359
360 + The http-backend (used for smart-http transport) used to slurp the
361 + whole input until EOF, without paying attention to CONTENT_LENGTH
362 + that is supplied in the environment and instead expecting the Web
363 + server to close the input stream. This has been fixed.
364
285 -* ld/p4-unshelve (2018-02-22) 1 commit
286 - - git-p4: add unshelve command
365 + Expecting a reroll.
366 + Suggested fixes to be used when rerolling is queued, but I'd
367 + prefer _not_ squashing them myself.
368
288 - "git p4" learned to "unshelve" shelved commit from P4.
369 + Also, it may be too complex solution for the problem.
370 + cf. <20171204171308.GA13332@sigill.intra.peff.net>
371
290 - Will merge to 'next'.
372
373 +* cc/require-tcl-tk-for-build (2017-11-29) 2 commits
374 + - travis-ci: avoid new tcl/tk build requirement
375 + - Makefile: check that tcl/tk is installed
376
293 -* ms/non-ascii-ticks (2018-02-22) 1 commit
294 - (merged to 'next' on 2018-02-27 at 41159fc4f0)
295 - + Documentation/gitsubmodules.txt: avoid non-ASCII apostrophes
377 + A first-time builder of Git may have installed neither tclsh nor
378 + msgfmt, in which case git-gui and gitk part will fail and break the
379 + build. As a workaround, refuse to run a build when tclsh is not
380 + installed and NO_TCLTK is not set.
381
297 - Doc markup fix.
382 + Stalled for too long without any response; will discard.
383 + I still feel that requring tclsh to be installed, with or without
384 + "escape hatch" for experts, may be too heavy-handed.
385
299 - Will merge to 'master'.
386
387 +* mg/merge-base-fork-point (2017-09-17) 3 commits
388 + - merge-base: find fork-point outside partial reflog
389 + - merge-base: return fork-point outside reflog
390 + - t6010: test actual test output
391
302 -* rs/strbuf-read-file-or-whine (2018-02-22) 1 commit
303 - (merged to 'next' on 2018-02-27 at 56017cb5e2)
304 - + sequencer: factor out strbuf_read_file_or_whine()
392 + "merge-base --fork-point $branch $commit" is used to guess on which
393 + commit among the commits that were once at the tip of the $branch the
394 + $commit was built on top of, and it learns these historical tips from
395 + the reflog of the $branch. When the true fork-point is lost due to
396 + pruning of old reflog entries, the command does not give any output,
397 + because it has no way to guess correctly and does not want to mislead
398 + the user with a wrong guess.
399
306 - Code clean-up.
400 + The command has been updated to give the best but not known to be
401 + correct guess, based on a hope that a merge-base between $commit and a
402 + virtual merge across all the reflog entries that still are available
403 + for $branch may still be a closer to the true fork-point than the
404 + merge-base between $commit and the current tip of the $branch.
405
308 - Will merge to 'master'.
406 + This may have to be offered by an additional option, to allow the
407 + users that are prepared to see a potentially incorrect guess to opt
408 + into the feature, without affecting the current callers that may not
409 + be prepared to accept a guess that is not known to be correct.
410
411 + Stalled for too long without any response; will discard.
412
311 -* jk/strbuf-read-file-close-error (2018-02-23) 1 commit
312 - (merged to 'next' on 2018-02-27 at c5dfe33335)
313 - + strbuf_read_file(): preserve errno across close() call
413
315 - Code clean-up.
414 +* jk/drop-ancient-curl (2017-08-09) 5 commits
415 + - http: #error on too-old curl
416 + - curl: remove ifdef'd code never used with curl >=7.19.4
417 + - http: drop support for curl < 7.19.4
418 + - http: drop support for curl < 7.16.0
419 + - http: drop support for curl < 7.11.1
420
317 - Will merge to 'master'.
421 + Some code in http.c that has bitrot is being removed.
422
423 + Expecting a reroll.
424
320 -* bw/perl-timegm-timelocal-fix (2018-02-23) 1 commit
321 - (merged to 'next' on 2018-02-27 at 565a3141ce)
322 - + perl: call timegm and timelocal with 4-digit year
425
324 - Y2k20 fix ;-) for our perl scripts.
426 +* mk/use-size-t-in-zlib (2017-08-10) 1 commit
427 + . zlib.c: use size_t for size
428 +
429 + The wrapper to call into zlib followed our long tradition to use
430 + "unsigned long" for sizes of regions in memory, which have been
431 + updated to use "size_t".
432 +
433 + Needs resurrecting by making sure the fix is good and still applies
434 + (or adjusted to today's codebase).
435 +
436 +
437 +* mg/status-in-progress-info (2017-05-10) 2 commits
438 + - status --short --inprogress: spell it as --in-progress
439 + - status: show in-progress info for short status
440 +
441 + "git status" learns an option to report various operations
442 + (e.g. "merging") that the user is in the middle of.
443 +
444 + Stalled for too long without any response; will discard.
445 + cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
446 +
447 +--------------------------------------------------
448 +[Cooking]
449 +
450 +* sg/travis-build-during-script-phase (2018-01-08) 1 commit
451 + (merged to 'next' on 2018-03-02 at 29e1585ae7)
452 + + travis-ci: build Git during the 'script' phase
453 +
454 + Build the executable in 'script' phase in Travis CI integration, to
455 + follow the established practice, rather than during 'before_script'
456 + phase. This allows the CI categorize the failures better ('failed'
457 + is project's fault, 'errored' is build environment's).
458
459 Will merge to 'master'.
460
461
329 -* ps/contains-id-error-message (2018-02-23) 1 commit
330 - (merged to 'next' on 2018-02-27 at 9623d6817b)
331 - + ref-filter: make "--contains <id>" less chatty if <id> is invalid
462 +* np/send-email-header-parsing (2017-12-15) 1 commit
463 + - send-email: extract email-parsing code into a subroutine
464 + (this branch is used by cl/send-email-reply-to.)
465 +
466 + Code refactoring.
467 +
468 +
469 +* ld/p4-unshelve (2018-02-22) 1 commit
470 + - git-p4: add unshelve command
471 +
472 + "git p4" learned to "unshelve" shelved commit from P4.
473 +
474 + Will hold, perhaps drop and use format-change that uses a proper "diff".
475 + cf. <CAE5ih7_ooDMqVtTMoQ70s5XCkncr04HY0JkqSp1UmKQeG81oaA@mail.gmail.com>
476 +
477 +
478 +* ps/contains-id-error-message (2018-03-06) 1 commit
479 + - parse-options: squelch usage help on certain errors
480
481 "git tag --contains no-such-commit" gave a full list of options
482 after giving an error message.
483
336 - Will merge to 'master'.
337 - As a follow-up we may want to also handle "branch --points-at <object>"
338 - that shares the same problem.
484 + Rebooted and fixed the root cause of the issue at a lower level.
485
486
487 * rv/grep-cleanup (2018-02-23) 2 commits
342 - - grep: simplify grep_oid and grep_file
343 - - grep: move grep_source_init outside critical section
488 + (merged to 'next' on 2018-03-02 at 4aafca15f9)
489 + + grep: simplify grep_oid and grep_file
490 + + grep: move grep_source_init outside critical section
491
492 Threaded "git grep" has been optimized to avoid allocation in code
493 section that is covered under a mutex.
494
348 - Will merge to 'next'.
495 + Will merge to 'master'.
496
497
498 * sg/subtree-signed-commits (2018-02-23) 1 commit
352 - - subtree: fix add and pull for GPG-signed commits
499 + (merged to 'next' on 2018-03-02 at c5f6fd33e6)
500 + + subtree: fix add and pull for GPG-signed commits
501
502 "git subtree" script (in contrib/) scripted around "git log", whose
503 output got affected by end-user configuration like log.showsignature
504
357 - Will merge to 'next'.
505 + Will merge to 'master'.
506
507
508 * ds/find-unique-abbrev-optim (2018-02-27) 1 commit
361 - - sha1_name: fix uninitialized memory errors
509 + (merged to 'next' on 2018-03-02 at 0b6d4f9335)
510 + + sha1_name: fix uninitialized memory errors
511
512 While finding unique object name abbreviation, the code may
513 accidentally have read beyond the end of the array of object names
514 in a pack.
515
367 - Will merge to 'next'.
516 + Will merge to 'master'.
517
518
519 * ds/mark-parents-uninteresting-optim (2018-02-27) 1 commit
371 - - revision.c: reduce object database queries
520 + (merged to 'next' on 2018-03-02 at 5a42c79806)
521 + + revision.c: reduce object database queries
522
523 Micro optimization in revision traversal code.
524
375 - Will merge to 'next'.
525 + Will merge to 'master'.
526
527
528 * jc/test-must-be-empty (2018-02-27) 1 commit
379 - - test_must_be_empty: make sure the file exists, not just empty
529 + (merged to 'next' on 2018-03-02 at ec129f1b97)
530 + + test_must_be_empty: make sure the file exists, not just empty
531
532 Test framework tweak to catch developer thinko.
533
383 - Will merge to 'next'.
534 + Will merge to 'master'.
535
536
537 * ma/roll-back-lockfiles (2018-02-28) 5 commits
387 - - sequencer: do not roll back lockfile unnecessarily
388 - - merge: always roll back lock in `checkout_fast_forward()`
389 - - merge-recursive: always roll back lock in `merge_recursive_generic()`
390 - - sequencer: always roll back lock in `do_recursive_merge()`
391 - - sequencer: make lockfiles non-static
538 + (merged to 'next' on 2018-03-06 at be29bf891c)
539 + + sequencer: do not roll back lockfile unnecessarily
540 + + merge: always roll back lock in `checkout_fast_forward()`
541 + + merge-recursive: always roll back lock in `merge_recursive_generic()`
542 + + sequencer: always roll back lock in `do_recursive_merge()`
543 + + sequencer: make lockfiles non-static
544 (this branch is used by ma/skip-writing-unchanged-index.)
545
546 Some codepaths used to take a lockfile and did not roll it back;
@@ -396,43 +548,47 @@ of the repositories listed at
548 real "breakage", but it still is a good practice to roll back when
549 you are done with a lockfile.
550
399 - Will merge to 'next'.
551 + Will merge to 'master'.
552
553
554 * mk/doc-pretty-fill (2018-02-27) 1 commit
403 - - docs/pretty-formats: fix typo '% <(<N>)' -> '%<|(<N>)'
555 + (merged to 'next' on 2018-03-02 at 623461b127)
556 + + docs/pretty-formats: fix typo '% <(<N>)' -> '%<|(<N>)'
557
558 Docfix.
559
407 - Will merge to 'next'.
560 + Will merge to 'master'.
561
562
410 -* nd/remove-ignore-env-field (2018-02-28) 4 commits
563 +* nd/remove-ignore-env-field (2018-03-05) 5 commits
564 - repository: delete ignore_env member
565 - sha1_file.c: move delayed getenv(altdb) back to setup_git_env()
566 - repository.c: delete dead functions
567 - repository.c: move env-related setup code back to environment.c
415 - (this branch uses sb/object-store; is tangled with sb/packfiles-in-repository.)
568 + - repository: initialize the_repository in main()
569 + (this branch is used by sb/object-store and sb/packfiles-in-repository.)
570
571
572 * rj/test-i18ngrep (2018-02-28) 2 commits
419 - - t5536: simplify checking of messages output to stderr
420 - - t4151: consolidate multiple calls to test_i18ngrep
573 + (merged to 'next' on 2018-03-06 at 7ea1a2352c)
574 + + t5536: simplify checking of messages output to stderr
575 + + t4151: consolidate multiple calls to test_i18ngrep
576
577 Test updates.
578
424 - Will merge to 'next'.
579 + Will merge to 'master'.
580
581
582 * rs/perf-repeat-thrice-by-default (2018-02-27) 1 commit
428 - - perf: use GIT_PERF_REPEAT_COUNT=3 by default even without config file
583 + (merged to 'next' on 2018-03-02 at 4898b3c450)
584 + + perf: use GIT_PERF_REPEAT_COUNT=3 by default even without config file
585
586 Perf test regression fix.
587
432 - Will merge to 'next'.
588 + Will merge to 'master'.
589
590
435 -* sb/object-store (2018-02-28) 27 commits
591 +* sb/object-store (2018-03-05) 27 commits
592 - sha1_file: allow sha1_loose_object_info to handle arbitrary repositories
593 - sha1_file: allow map_sha1_file to handle arbitrary repositories
594 - sha1_file: allow map_sha1_file_1 to handle arbitrary repositories
@@ -460,13 +616,17 @@ of the repositories listed at
616 - object-store: move alt_odb_list and alt_odb_tail to object store
617 - object-store: migrate alternates struct and functions from cache.h
618 - repository: introduce raw object store field
463 - (this branch is used by nd/remove-ignore-env-field and sb/packfiles-in-repository.)
619 + (this branch is used by sb/packfiles-in-repository; uses nd/remove-ignore-env-field.)
620
621 Refactoring the internal global data structure to make it possible
622 to open multiple repositories, work with and then close them.
623
624 + Rerolled by Duy on top of a separate preliminary clean-up topic.
625 + The resulting structure of the topics looked very sensible.
626 +
627
469 -* sb/packfiles-in-repository (2018-02-28) 11 commits
628 +* sb/packfiles-in-repository (2018-03-05) 12 commits
629 + - packfile: keep prepare_packed_git() private
630 - packfile: allow find_pack_entry to handle arbitrary repositories
631 - packfile: add repository argument to find_pack_entry
632 - packfile: allow reprepare_packed_git to handle arbitrary repositories
@@ -478,21 +638,24 @@ of the repositories listed at
638 - packfile: allow install_packed_git to handle arbitrary repositories
639 - packfile: allow rearrange_packed_git to handle arbitrary repositories
640 - packfile: allow prepare_packed_git_mru to handle arbitrary repositories
481 - (this branch uses sb/object-store; is tangled with nd/remove-ignore-env-field.)
641 + (this branch uses nd/remove-ignore-env-field and sb/object-store.)
642 +
643 + Refactoring of the internal global data structure continues.
644
645
646 * sg/test-x (2018-02-28) 11 commits
485 - - travis-ci: run tests with '-x' tracing
486 - - t/README: add a note about don't saving stderr of compound commands
487 - - t1510-repo-setup: mark as untraceable with '-x'
488 - - t9903-bash-prompt: don't check the stderr of __git_ps1()
489 - - t5570-git-daemon: don't check the stderr of a subshell
490 - - t5526: use $TRASH_DIRECTORY to specify the path of GIT_TRACE log file
491 - - t5500-fetch-pack: don't check the stderr of a subshell
492 - - t3030-merge-recursive: don't check the stderr of a subshell
493 - - t1507-rev-parse-upstream: don't check the stderr of a shell function
494 - - t: add means to disable '-x' tracing for individual test scripts
495 - - t: prevent '-x' tracing from interfering with test helpers' stderr
647 + (merged to 'next' on 2018-03-06 at ab0684b27c)
648 + + travis-ci: run tests with '-x' tracing
649 + + t/README: add a note about don't saving stderr of compound commands
650 + + t1510-repo-setup: mark as untraceable with '-x'
651 + + t9903-bash-prompt: don't check the stderr of __git_ps1()
652 + + t5570-git-daemon: don't check the stderr of a subshell
653 + + t5526: use $TRASH_DIRECTORY to specify the path of GIT_TRACE log file
654 + + t5500-fetch-pack: don't check the stderr of a subshell
655 + + t3030-merge-recursive: don't check the stderr of a subshell
656 + + t1507-rev-parse-upstream: don't check the stderr of a shell function
657 + + t: add means to disable '-x' tracing for individual test scripts
658 + + t: prevent '-x' tracing from interfering with test helpers' stderr
659
660 Running test scripts under -x option of the shell is often not a
661 useful way to debug them, because the error messages from the
@@ -501,20 +664,22 @@ of the repositories listed at
664 pleasant to run tests under -x with recent versions of bash is
665 extended to cover posix shells that do not support BASH_XTRACEFD.
666
504 - Will merge to 'next'.
667 + Will merge to 'master'.
668
669
670 * ab/gc-auto-in-commit (2018-03-01) 1 commit
508 - - commit: run git gc --auto just before the post-commit hook
671 + (merged to 'next' on 2018-03-02 at 96a5a4d629)
672 + + commit: run git gc --auto just before the post-commit hook
673
674 "git commit" used to run "gc --auto" near the end, which was lost
675 when the command was reimplemented in C by mistake.
676
513 - Will merge to 'next'.
677 + Will merge to 'master'.
678
679
680 * ab/pre-auto-gc-battery (2018-02-28) 1 commit
517 - - hooks/pre-auto-gc-battery: allow gc to run on non-laptops
681 + (merged to 'next' on 2018-03-06 at ca9cb273cb)
682 + + hooks/pre-auto-gc-battery: allow gc to run on non-laptops
683
684 A sample auto-gc hook (in contrib/) to skip auto-gc while on
685 battery has been updated to almost always allow running auto-gc
@@ -522,197 +687,42 @@ of the repositories listed at
687 battery power (earlier, it skipped unless the command is sure that
688 we are on ac power).
689
525 - Will merge to 'next'.
526 -
527 -
528 -* ag/userdiff-go-funcname (2018-03-01) 1 commit
529 - - userdiff: add built-in pattern for golang
530 -
531 - "git diff" and friends learned funcname patterns for Go language
532 - source files.
533 -
534 - Will merge to 'next'.
535 -
536 -
537 -* ma/skip-writing-unchanged-index (2018-03-01) 1 commit
538 - - write_locked_index(): add flag to avoid writing unchanged index
539 - (this branch uses ma/roll-back-lockfiles.)
540 -
541 - Internal API clean-up to allow write_locked_index() optionally skip
542 - writing the in-core index when it is not modified.
543 -
544 - May want to merge into ma/roll-back-lockfiles topic before merging
545 - to 'next'.
546 -
547 ---------------------------------------------------
548 -[Stalled]
549 -
550 -* np/send-email-header-parsing (2017-12-15) 1 commit
551 - - send-email: extract email-parsing code into a subroutine
552 -
553 - Code refactoring.
554 -
555 - Undecided but inclined to drop. A "refactor" without the code that
556 - benefit from the refactoring is hard to tell from code churn whose
557 - only effect is potential to introduce bugs.
558 -
559 -
560 -* sg/travis-build-during-script-phase (2018-01-08) 1 commit
561 - - travis-ci: build Git during the 'script' phase
562 -
563 - Stalled for too long without any response; will discard.
564 -
565 -
566 -* av/fsmonitor-updates (2018-01-04) 6 commits
567 - - fsmonitor: use fsmonitor data in `git diff`
568 - - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh
569 - - fsmonitor: make output of test-dump-fsmonitor more concise
570 - - fsmonitor: update helper tool, now that flags are filled later
571 - - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
572 - - dir.c: update comments to match argument name
573 -
574 - Code clean-up on fsmonitor integration, plus optional utilization
575 - of the fsmonitor data in diff-files.
576 -
577 - Waiting for an update.
578 - cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com>
579 -
580 -
581 -* pb/bisect-helper-2 (2017-10-28) 8 commits
582 - - t6030: make various test to pass GETTEXT_POISON tests
583 - - bisect--helper: `bisect_start` shell function partially in C
584 - - bisect--helper: `get_terms` & `bisect_terms` shell function in C
585 - - bisect--helper: `bisect_next_check` shell function in C
586 - - bisect--helper: `check_and_set_terms` shell function in C
587 - - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
588 - - bisect--helper: `bisect_write` shell function in C
589 - - bisect--helper: `bisect_reset` shell function in C
590 -
591 - Expecting a reroll.
592 - cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
593 -
594 -
595 -* dj/runtime-prefix (2017-12-05) 4 commits
596 - . exec_cmd: RUNTIME_PREFIX on some POSIX systems
597 - . Makefile: add Perl runtime prefix support
598 - . Makefile: add support for "perllibdir"
599 - . Makefile: generate Perl header from template file
600 -
601 - A build-time option has been added to allow Git to be told to refer
602 - to its associated files relative to the main binary, in the same
603 - way that has been possible on Windows for quite some time, for
604 - Linux, BSDs and Darwin.
605 -
606 - Perhaps it is about time to reboot the effort?
607 -
608 -
609 -* mk/http-backend-content-length (2017-11-27) 4 commits
610 - - SQUASH???
611 - - t5560-http-backend-noserver.sh: add CONTENT_LENGTH cases
612 - - SQUASH???
613 - - http-backend: respect CONTENT_LENGTH as specified by rfc3875
614 -
615 - The http-backend (used for smart-http transport) used to slurp the
616 - whole input until EOF, without paying attention to CONTENT_LENGTH
617 - that is supplied in the environment and instead expecting the Web
618 - server to close the input stream. This has been fixed.
619 -
620 - Expecting a reroll.
621 - Suggested fixes to be used when rerolling is queued, but I'd
622 - prefer _not_ squashing them myself.
623 -
624 - Also, it may be too complex solution for the problem.
625 - cf. <20171204171308.GA13332@sigill.intra.peff.net>
626 -
627 -
628 -* cc/require-tcl-tk-for-build (2017-11-29) 2 commits
629 - - travis-ci: avoid new tcl/tk build requirement
630 - - Makefile: check that tcl/tk is installed
631 -
632 - A first-time builder of Git may have installed neither tclsh nor
633 - msgfmt, in which case git-gui and gitk part will fail and break the
634 - build. As a workaround, refuse to run a build when tclsh is not
635 - installed and NO_TCLTK is not set.
636 -
637 - Stalled for too long without any response; will discard.
638 - I still feel that requring tclsh to be installed, with or without
639 - "escape hatch" for experts, may be too heavy-handed.
640 -
641 -
642 -* mg/merge-base-fork-point (2017-09-17) 3 commits
643 - - merge-base: find fork-point outside partial reflog
644 - - merge-base: return fork-point outside reflog
645 - - t6010: test actual test output
646 -
647 - "merge-base --fork-point $branch $commit" is used to guess on which
648 - commit among the commits that were once at the tip of the $branch the
649 - $commit was built on top of, and it learns these historical tips from
650 - the reflog of the $branch. When the true fork-point is lost due to
651 - pruning of old reflog entries, the command does not give any output,
652 - because it has no way to guess correctly and does not want to mislead
653 - the user with a wrong guess.
654 -
655 - The command has been updated to give the best but not known to be
656 - correct guess, based on a hope that a merge-base between $commit and a
657 - virtual merge across all the reflog entries that still are available
658 - for $branch may still be a closer to the true fork-point than the
659 - merge-base between $commit and the current tip of the $branch.
660 -
661 - This may have to be offered by an additional option, to allow the
662 - users that are prepared to see a potentially incorrect guess to opt
663 - into the feature, without affecting the current callers that may not
664 - be prepared to accept a guess that is not known to be correct.
665 -
666 - Stalled for too long without any response; will discard.
667 -
668 -
669 -* jk/drop-ancient-curl (2017-08-09) 5 commits
670 - - http: #error on too-old curl
671 - - curl: remove ifdef'd code never used with curl >=7.19.4
672 - - http: drop support for curl < 7.19.4
673 - - http: drop support for curl < 7.16.0
674 - - http: drop support for curl < 7.11.1
675 -
676 - Some code in http.c that has bitrot is being removed.
677 -
678 - Expecting a reroll.
690 + Will merge to 'master'.
691
692
681 -* mk/use-size-t-in-zlib (2017-08-10) 1 commit
682 - . zlib.c: use size_t for size
693 +* ag/userdiff-go-funcname (2018-03-01) 1 commit
694 + (merged to 'next' on 2018-03-02 at ea404d1be9)
695 + + userdiff: add built-in pattern for golang
696
684 - The wrapper to call into zlib followed our long tradition to use
685 - "unsigned long" for sizes of regions in memory, which have been
686 - updated to use "size_t".
697 + "git diff" and friends learned funcname patterns for Go language
698 + source files.
699
688 - Needs resurrecting by making sure the fix is good and still applies
689 - (or adjusted to today's codebase).
700 + Will merge to 'master'.
701
702
692 -* mg/status-in-progress-info (2017-05-10) 2 commits
693 - - status --short --inprogress: spell it as --in-progress
694 - - status: show in-progress info for short status
703 +* ma/skip-writing-unchanged-index (2018-03-01) 1 commit
704 + - write_locked_index(): add flag to avoid writing unchanged index
705 + (this branch uses ma/roll-back-lockfiles.)
706
696 - "git status" learns an option to report various operations
697 - (e.g. "merging") that the user is in the middle of.
707 + Internal API clean-up to allow write_locked_index() optionally skip
708 + writing the in-core index when it is not modified.
709
699 - Stalled for too long without any response; will discard.
700 - cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
710 + May want to merge into ma/roll-back-lockfiles topic before merging
711 + to 'next'.
712
702 ---------------------------------------------------
703 -[Cooking]
713
714 * jh/status-no-ahead-behind (2018-01-24) 4 commits
706 - - status: support --no-ahead-behind in long format
707 - - status: update short status to respect --no-ahead-behind
708 - - status: add --[no-]ahead-behind to status and commit for V2 format.
709 - - stat_tracking_info: return +1 when branches not equal
715 + (merged to 'next' on 2018-03-02 at 68bde8d571)
716 + + status: support --no-ahead-behind in long format
717 + + status: update short status to respect --no-ahead-behind
718 + + status: add --[no-]ahead-behind to status and commit for V2 format.
719 + + stat_tracking_info: return +1 when branches not equal
720
721 "git status" can spend a lot of cycles to compute the relation
722 between the current branch and its upstream, which can now be
723 disabled with "--no-ahead-behind" option.
724
715 - Will merge to 'next'.
725 + Will merge to 'master'.
726
727
728 * nd/tilde-expand-opt-file-value (2018-02-14) 2 commits
@@ -727,26 +737,7 @@ of the repositories listed at
737 cf. <87wozffavp.fsf@evledraar.gmail.com>
738
739
730 -* jc/allow-ff-merging-kept-tags (2018-02-16) 1 commit
731 - (merged to 'next' on 2018-02-27 at 8b03610d2b)
732 - + merge: allow fast-forward when merging a tracked tag
733 -
734 - Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when
735 - the side branch being merged is a descendant of the current commit,
736 - create a merge commit instead of fast-forwarding) when merging a
737 - tag object. This was appropriate default for integrators who pull
738 - signed tags from their downstream contributors, but caused an
739 - unnecessary merges when used by downstream contributors who
740 - habitually "catch up" their topic branches with tagged releases
741 - from the upstream. Update "git merge" to default to --no-ff only
742 - when merging a tag object that does *not* sit at its usual place in
743 - refs/tags/ hierarchy, and allow fast-forwarding otherwise, to
744 - mitigate the problem.
745 -
746 - Will merge to 'master'.
747 -
748 -
749 -* ab/perl-fixes (2018-02-27) 13 commits
740 +* ab/perl-fixes (2018-03-05) 13 commits
741 - perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS
742 - Makefile: add NO_PERL_CPAN_FALLBACKS knob
743 - perl: move the perl/Git/FromCPAN tree to perl/FromCPAN
@@ -761,27 +752,9 @@ of the repositories listed at
752 - Git.pm: remove redundant "use strict" from sub-package
753 - perl: *.pm files should not have the executable bit
754
764 - Only the first few of a series of several small patches.
765 -
766 - Expecting a reroll.
767 -
768 -
769 -* ab/simplify-perl-makefile (2018-02-15) 1 commit
770 - (merged to 'next' on 2018-02-27 at b0d68a2013)
771 - + Makefile: generate Git(3pm) as dependency of the 'doc' and 'man' targets
772 -
773 - Hotfix for a topic already in 'master'.
774 -
775 - Will merge to 'master'.
776 -
777 -
778 -* bw/doc-submodule-recurse-config-with-clone (2018-02-21) 1 commit
779 - (merged to 'next' on 2018-02-27 at 5b12841508)
780 - + submodule: indicate that 'submodule.recurse' doesn't apply to clone
781 -
782 - Doc update.
755 + Clean-up to various pieces of Perl code we have.
756
784 - Will merge to 'master'.
757 + WIll merge to 'next'.
758
759
760 * ds/commit-graph (2018-02-20) 13 commits
@@ -807,21 +780,12 @@ of the repositories listed at
780
781
782 * ot/ref-filter-cleanup (2018-02-21) 2 commits
810 - - ref-filter: get rid of goto
811 - - ref-filter: get rid of duplicate code
783 + (merged to 'next' on 2018-03-02 at 3b4c39a4b5)
784 + + ref-filter: get rid of goto
785 + + ref-filter: get rid of duplicate code
786
787 Code cleanup.
788
815 - Will merge to 'next'.
816 -
817 -
818 -* sb/color-h-cleanup (2018-02-13) 1 commit
819 - (merged to 'next' on 2018-02-27 at 617345de77)
820 - + color.h: document and modernize header
821 - (this branch is used by sb/blame-color.)
822 -
823 - Devdoc update.
824 -
789 Will merge to 'master'.
790
791
@@ -838,163 +802,103 @@ of the repositories listed at
802 Is this ready for 'next'?
803
804
841 -* ot/cat-batch-format (2018-02-12) 23 commits
842 - - cat-file: update of docs
843 - - cat-file: tests for new atoms added
844 - - for-each-ref: tests for new atoms added
845 - - ref-filter: unifying formatting of cat-file opts
846 - - ref-filter: make populate_value() internal again
847 - - cat-file: reuse printing logic from ref-filter
848 - - ref-filter: make valid_atom general again
849 - - ref-filter: make cat_file_info independent
850 - - cat-file: move skip_object_info into ref-filter
851 - - ref_filter: add is_atom_used function
852 - - ref-filter: get rid of mark_atom_in_object_info()
853 - - cat-file: start reusing populate_value()
854 - - ref-filter: rename field in ref_array_item stuct
855 - - ref-filter: make populate_value() global
856 - - cat-file: start use ref_array_item struct
857 - - ref-filter: reuse parse_ref_filter_atom()
858 - - cat-file: start migrating formatting to ref-filter
859 - - cat-file: split expand_atom() into 2 functions
860 - - cat-file: move struct expand_data into ref-filter
861 - - ref-filter: make valid_atom as function parameter
862 - - cat-file: reuse struct ref_format
863 - - ref-filter: add return value to some functions
864 - - ref-filter: get rid of goto
865 -
866 - Teach "cat-file --batch" to reuse the formatting machinery shared
867 - by for-each-ref, branch --list, and tag --list.
868 -
869 - Allocates flex-array on stack, etc.
870 - cf. <58b2bdcd-d621-fd21-ab4d-6a9478319b19@ramsayjones.plus.com>
871 - Will discard--a rebooted effort is beginning elsewhere.
872 -
873 -
874 -* sg/t6300-modernize (2018-02-13) 1 commit
875 - (merged to 'next' on 2018-02-27 at b6f13b6915)
876 - + t6300-for-each-ref: fix "more than one quoting style" tests
877 -
878 - Test update.
879 -
880 - Will merge to 'master'.
881 -
882 -
883 -* xz/send-email-batch-size (2018-02-12) 1 commit
884 - (merged to 'next' on 2018-02-27 at da0247d532)
885 - + send-email: error out when relogin delay is missing
886 -
887 - "git send-email" learned to complain when the batch-size option is
888 - not defined when the relogin-delay option is, since these two are
889 - mutually required.
890 -
891 - Will merge to 'master'.
892 -
893 -
894 -* pw/add-p-recount (2018-03-01) 9 commits
895 - - add -p: don't rely on apply's '--recount' option
896 - - add -p: fix counting when splitting and coalescing
897 - - add -p: calculate offset delta for edited patches
898 - - add -p: adjust offsets of subsequent hunks when one is skipped
899 - - t3701: add failing test for pathological context lines
900 - - t3701: don't hard code sha1 hash values
901 - - t3701: use test_write_lines and write_script
902 - - t3701: indent here documents
903 - - add -i: add function to format hunk header
805 +* pw/add-p-recount (2018-03-05) 9 commits
806 + (merged to 'next' on 2018-03-06 at 68952f9bb0)
807 + + add -p: don't rely on apply's '--recount' option
808 + + add -p: fix counting when splitting and coalescing
809 + + add -p: calculate offset delta for edited patches
810 + + add -p: adjust offsets of subsequent hunks when one is skipped
811 + + t3701: add failing test for pathological context lines
812 + + t3701: don't hard code sha1 hash values
813 + + t3701: use test_write_lines and write_script
814 + + t3701: indent here documents
815 + + add -i: add function to format hunk header
816 + (this branch is used by pw/add-p-select.)
817
818 "git add -p" has been lazy in coalescing split patches before
819 passing the result to underlying "git apply", leading to corner
820 case bugs; the logic to prepare the patch to be applied after hunk
821 selections has been tightened.
822
910 - Will merge to 'next'.
911 -
912 -
913 -* pw/add-p-single (2018-02-13) 3 commits
914 - (merged to 'next' on 2018-02-27 at 0e2bd585e3)
915 - + add -p: improve error messages
916 - + add -p: only bind search key if there's more than one hunk
917 - + add -p: only display help for active keys
918 -
919 - "git add -p" used to offer "/" (look for a matching hunk) as a
920 - choice, even there was only one hunk, which has been corrected.
921 - Also the single-key help is now given only for keys that are
922 - enabled (e.g. help for '/' won't be shown when there is only one
923 - hunk).
924 -
823 Will merge to 'master'.
824
825
826 * bp/untracked-cache-noflush (2018-02-28) 2 commits
929 - - untracked cache: use git_env_bool() not getenv() for customization
930 - - dir.c: don't flag the index as dirty for changes to the untracked cache
827 + (merged to 'next' on 2018-03-02 at 709887971b)
828 + + untracked cache: use git_env_bool() not getenv() for customization
829 + + dir.c: don't flag the index as dirty for changes to the untracked cache
830
831 Writing out the index file when the only thing that changed in it
832 is the untracked cache information is often wasteful, and this has
833 been optimized out.
834
936 - Will merge to 'next'.
835 + Will merge to 'master'.
836
837
838 * nd/diff-stat-with-summary (2018-02-27) 2 commits
940 - - diff: add --compact-summary
941 - - diff.c: refactor pprint_rename() to use strbuf
839 + (merged to 'next' on 2018-03-06 at d543f92f5e)
840 + + diff: add --compact-summary
841 + + diff.c: refactor pprint_rename() to use strbuf
842
843 "git diff" and friends learned "--compact-summary" that shows the
844 information usually given with the "--summary" option on the same
845 line as the diffstat output of the "--stat" option (which saves
846 vertical space and keeps info on a single path at the same place).
847
948 - Will merge to 'next'.
848 + Will merge to 'master'.
849
850
951 -* nd/parseopt-completion (2018-02-09) 41 commits
952 - - completion: use __gitcomp_builtin in _git_worktree
953 - - completion: use __gitcomp_builtin in _git_tag
954 - - completion: use __gitcomp_builtin in _git_status
955 - - completion: use __gitcomp_builtin in _git_show_branch
956 - - completion: use __gitcomp_builtin in _git_rm
957 - - completion: use __gitcomp_builtin in _git_revert
958 - - completion: use __gitcomp_builtin in _git_reset
959 - - completion: use __gitcomp_builtin in _git_replace
960 - - remote: force completing --mirror= instead of --mirror
961 - - completion: use __gitcomp_builtin in _git_remote
962 - - completion: use __gitcomp_builtin in _git_push
963 - - completion: use __gitcomp_builtin in _git_pull
964 - - completion: use __gitcomp_builtin in _git_notes
965 - - completion: use __gitcomp_builtin in _git_name_rev
966 - - completion: use __gitcomp_builtin in _git_mv
967 - - completion: use __gitcomp_builtin in _git_merge_base
968 - - completion: use __gitcomp_builtin in _git_merge
969 - - completion: use __gitcomp_builtin in _git_ls_remote
970 - - completion: use __gitcomp_builtin in _git_ls_files
971 - - completion: use __gitcomp_builtin in _git_init
972 - - completion: use __gitcomp_builtin in _git_help
973 - - completion: use __gitcomp_builtin in _git_grep
974 - - completion: use __gitcomp_builtin in _git_gc
975 - - completion: use __gitcomp_builtin in _git_fsck
976 - - completion: use __gitcomp_builtin in _git_fetch
977 - - completion: use __gitcomp_builtin in _git_difftool
978 - - completion: use __gitcomp_builtin in _git_describe
979 - - completion: use __gitcomp_builtin in _git_config
980 - - completion: use __gitcomp_builtin in _git_commit
981 - - completion: use __gitcomp_builtin in _git_clone
982 - - completion: use __gitcomp_builtin in _git_clean
983 - - completion: use __gitcomp_builtin in _git_cherry_pick
984 - - completion: use __gitcomp_builtin in _git_checkout
985 - - completion: use __gitcomp_builtin in _git_branch
986 - - completion: use __gitcomp_builtin in _git_apply
987 - - completion: use __gitcomp_builtin in _git_am
988 - - completion: use __gitcomp_builtin in _git_add
989 - - git-completion.bash: introduce __gitcomp_builtin
990 - - parse-options: let OPT__FORCE take optional flags argument
991 - - parse-options: add OPT_xxx_F() variants
992 - - parse-options: support --git-completion-helper
851 +* nd/parseopt-completion (2018-03-06) 44 commits
852 + - SQUASH???
853 + - completion: simplify _git_notes
854 + - completion: don't set PARSE_OPT_NOCOMPLETE on --rerere-autoupdate
855 + (merged to 'next' on 2018-03-02 at d72a6525fd)
856 + + completion: use __gitcomp_builtin in _git_worktree
857 + + completion: use __gitcomp_builtin in _git_tag
858 + + completion: use __gitcomp_builtin in _git_status
859 + + completion: use __gitcomp_builtin in _git_show_branch
860 + + completion: use __gitcomp_builtin in _git_rm
861 + + completion: use __gitcomp_builtin in _git_revert
862 + + completion: use __gitcomp_builtin in _git_reset
863 + + completion: use __gitcomp_builtin in _git_replace
864 + + remote: force completing --mirror= instead of --mirror
865 + + completion: use __gitcomp_builtin in _git_remote
866 + + completion: use __gitcomp_builtin in _git_push
867 + + completion: use __gitcomp_builtin in _git_pull
868 + + completion: use __gitcomp_builtin in _git_notes
869 + + completion: use __gitcomp_builtin in _git_name_rev
870 + + completion: use __gitcomp_builtin in _git_mv
871 + + completion: use __gitcomp_builtin in _git_merge_base
872 + + completion: use __gitcomp_builtin in _git_merge
873 + + completion: use __gitcomp_builtin in _git_ls_remote
874 + + completion: use __gitcomp_builtin in _git_ls_files
875 + + completion: use __gitcomp_builtin in _git_init
876 + + completion: use __gitcomp_builtin in _git_help
877 + + completion: use __gitcomp_builtin in _git_grep
878 + + completion: use __gitcomp_builtin in _git_gc
879 + + completion: use __gitcomp_builtin in _git_fsck
880 + + completion: use __gitcomp_builtin in _git_fetch
881 + + completion: use __gitcomp_builtin in _git_difftool
882 + + completion: use __gitcomp_builtin in _git_describe
883 + + completion: use __gitcomp_builtin in _git_config
884 + + completion: use __gitcomp_builtin in _git_commit
885 + + completion: use __gitcomp_builtin in _git_clone
886 + + completion: use __gitcomp_builtin in _git_clean
887 + + completion: use __gitcomp_builtin in _git_cherry_pick
888 + + completion: use __gitcomp_builtin in _git_checkout
889 + + completion: use __gitcomp_builtin in _git_branch
890 + + completion: use __gitcomp_builtin in _git_apply
891 + + completion: use __gitcomp_builtin in _git_am
892 + + completion: use __gitcomp_builtin in _git_add
893 + + git-completion.bash: introduce __gitcomp_builtin
894 + + parse-options: let OPT__FORCE take optional flags argument
895 + + parse-options: add OPT_xxx_F() variants
896 + + parse-options: support --git-completion-helper
897
898 Teach parse-options API an option to help the completion script,
899 and make use of the mechanism in command line completion.
900
997 - Will merge to 'next'.
901 + Will merge to 'master'.
902
903
904 * pc/submodule-helper-foreach (2018-02-02) 5 commits
@@ -1022,136 +926,31 @@ of the repositories listed at
926 suboptimal.
927
928
1025 -* nm/tag-edit (2018-02-07) 1 commit
1026 - (merged to 'next' on 2018-02-27 at 3bc8345213)
1027 - + tag: add --edit option
1028 -
1029 - "git tag" learned an explicit "--edit" option that allows the
1030 - message given via "-m" and "-F" to be further edited.
1031 -
1032 - Will merge to 'master'.
1033 -
1034 -
1035 -* sm/mv-dry-run-update (2018-02-07) 2 commits
1036 - (merged to 'next' on 2018-02-27 at 17eef62ddf)
1037 - + mv: remove unneeded 'if (!show_only)'
1038 - + t7001: add test case for --dry-run
1039 -
1040 - Code clean-up.
1041 -
1042 - Will merge to 'master'.
1043 -
1044 -
1045 -* ab/fetch-prune (2018-02-09) 17 commits
1046 - (merged to 'next' on 2018-02-27 at eafb648dd9)
1047 - + fetch: make the --prune-tags work with <url>
1048 - + fetch: add a --prune-tags option and fetch.pruneTags config
1049 - + fetch tests: add scaffolding for the new fetch.pruneTags
1050 - + git-fetch & config doc: link to the new PRUNING section
1051 - + git remote doc: correct dangerous lies about what prune does
1052 - + git fetch doc: add a new section to explain the ins & outs of pruning
1053 - + fetch tests: fetch <url> <spec> as well as fetch [<remote>]
1054 - + fetch tests: expand case/esac for later change
1055 - + fetch tests: double quote a variable for interpolation
1056 - + fetch tests: test --prune and refspec interaction
1057 - + fetch tests: add a tag to be deleted to the pruning tests
1058 - + fetch tests: re-arrange arguments for future readability
1059 - + fetch tests: refactor in preparation for testing tag pruning
1060 - + remote: add a macro for "refs/tags/*:refs/tags/*"
1061 - + fetch: stop accessing "remote" variable indirectly
1062 - + fetch: trivially refactor assignment to ref_nr
1063 - + fetch: don't redundantly NULL something calloc() gave us
1064 -
1065 - Clarify how configured fetch refspecs interact with the "--prune"
1066 - option of "git fetch", and also add a handy short-hand for getting
1067 - rid of stale tags that are locally held.
1068 -
1069 - Will merge to 'master'.
1070 -
1071 -
1072 -* bw/c-plus-plus (2018-02-22) 37 commits
1073 - (merged to 'next' on 2018-02-27 at daf85c03de)
1074 - + replace: rename 'new' variables
1075 - + trailer: rename 'template' variables
1076 - + tempfile: rename 'template' variables
1077 - + wrapper: rename 'template' variables
1078 - + environment: rename 'namespace' variables
1079 - + diff: rename 'template' variables
1080 - + environment: rename 'template' variables
1081 - + init-db: rename 'template' variables
1082 - + unpack-trees: rename 'new' variables
1083 - + trailer: rename 'new' variables
1084 - + submodule: rename 'new' variables
1085 - + split-index: rename 'new' variables
1086 - + remote: rename 'new' variables
1087 - + ref-filter: rename 'new' variables
1088 - + read-cache: rename 'new' variables
1089 - + line-log: rename 'new' variables
1090 - + imap-send: rename 'new' variables
1091 - + http: rename 'new' variables
1092 - + entry: rename 'new' variables
1093 - + diffcore-delta: rename 'new' variables
1094 - + diff: rename 'new' variables
1095 - + diff-lib: rename 'new' variable
1096 - + commit: rename 'new' variables
1097 - + combine-diff: rename 'new' variables
1098 - + remote: rename 'new' variables
1099 - + reflog: rename 'new' variables
1100 - + pack-redundant: rename 'new' variables
1101 - + help: rename 'new' variables
1102 - + checkout: rename 'new' variables
1103 - + apply: rename 'new' variables
1104 - + apply: rename 'try' variables
1105 - + diff: rename 'this' variables
1106 - + rev-parse: rename 'this' variable
1107 - + pack-objects: rename 'this' variables
1108 - + blame: rename 'this' variables
1109 - + object: rename function 'typename' to 'type_name'
1110 - + object_info: change member name from 'typename' to 'type_name'
1111 -
1112 - Avoid using identifiers that clash with C++ keywords. Even though
1113 - it is not a goal to compile Git with C++ compilers, changes like
1114 - this help use of code analysis tools that targets C++ on our
1115 - codebase.
1116 -
1117 - Will merge to 'master'.
1118 -
1119 -
1120 -* nd/rebase-show-current-patch (2018-02-12) 3 commits
1121 - (merged to 'next' on 2018-02-27 at 5a4e23a77c)
1122 - + rebase: introduce and use pseudo-ref REBASE_HEAD
1123 - + rebase: add --show-current-patch
1124 - + am: add --show-current-patch
1125 -
1126 - The new "--show-current-patch" option gives an end-user facing way
1127 - to get the diff being applied when "git rebase" (and "git am")
1128 - stops with a conflict.
1129 -
1130 - Will merge to 'master'.
1131 -
1132 -
1133 -* nd/worktree-move (2018-02-12) 7 commits
1134 - - worktree remove: allow it when $GIT_WORK_TREE is already gone
1135 - - worktree remove: new command
1136 - - worktree move: refuse to move worktrees with submodules
1137 - - worktree move: accept destination as directory
1138 - - worktree move: new command
1139 - - worktree.c: add update_worktree_location()
1140 - - worktree.c: add validate_worktree()
929 +* nd/worktree-move (2018-03-06) 8 commits
930 + (merged to 'next' on 2018-03-06 at a26271e7de)
931 + + t2028: fix minor error and issues in newly-added "worktree move" tests
932 + (merged to 'next' on 2018-03-02 at 5c514dfc92)
933 + + worktree remove: allow it when $GIT_WORK_TREE is already gone
934 + + worktree remove: new command
935 + + worktree move: refuse to move worktrees with submodules
936 + + worktree move: accept destination as directory
937 + + worktree move: new command
938 + + worktree.c: add update_worktree_location()
939 + + worktree.c: add validate_worktree()
940
941 "git worktree" learned move and remove subcommands.
942
1144 - Will merge to 'next'.
943 + Will merge to 'master'.
944
945
1147 -* cl/send-email-reply-to (2018-01-17) 2 commits
1148 - - send-email: support separate "Reply-To" address
1149 - - send-email: rename variables for "In-reply-to" to $foo_in_reply_to
946 +* cl/send-email-reply-to (2018-03-06) 2 commits
947 + - send-email: support separate Reply-To address
948 + - send-email: rename variable for clarity
949 + (this branch uses np/send-email-header-parsing.)
950
951 "git send-email" learned "--reply-to=<address>" option.
952
1153 - May want to get the log messages updated.
1154 - cf. <CAN0heSqxmLoh33i65JPhyQbmPaAcJcwrTCO+ZD4eb+qh8Pf8+w@mail.gmail.com>
953 + Will merge to 'next'.
954
955
956 * js/rebase-recreate-merge (2018-02-23) 12 commits
@@ -1174,7 +973,8 @@ of the repositories listed at
973 Will merge to 'next'.
974
975
1177 -* bw/protocol-v2 (2018-03-01) 35 commits
976 +* bw/protocol-v2 (2018-03-02) 36 commits
977 + - SQUASH???
978 - remote-curl: don't request v2 when pushing
979 - remote-curl: implement stateless-connect command
980 - http: eliminate "# service" line when using protocol v2
@@ -1214,9 +1014,10 @@ of the repositories listed at
1014 The beginning of the next-gen transfer protocol.
1015
1016
1217 -* ls/checkout-encoding (2018-03-01) 7 commits
1017 +* ls/checkout-encoding (2018-03-06) 8 commits
1018 - convert: add round trip check based on 'core.checkRoundtripEncoding'
1019 - convert: add tracing for 'working-tree-encoding' attribute
1020 + - convert: check for detectable errors in UTF encodings
1021 - convert: add 'working-tree-encoding' attribute
1022 - utf8: add function to detect a missing UTF-16/32 BOM
1023 - utf8: add function to detect prohibited UTF-16/32 BOM
@@ -1228,51 +1029,40 @@ of the repositories listed at
1029 tree (and the other way around when checking in).
1030
1031 Expecting a reroll; it is almost there, though.
1231 - cf. <CAPig+cR81J3fTOtrgAumAs=RC5hqYFfSmeb-ru-Yf_ahFuBiew@mail.gmail.com>
1232 - cf. <8EE59DC3-69E0-412B-AC50-5D348D6D5BE0@gmail.com>
1233 -
1234 -
1235 -* sb/blame-color (2018-02-13) 3 commits
1236 - - builtin/blame: highlight recently changed lines
1237 - - builtin/blame: add option to color metadata fields separately
1238 - - builtin/blame: dim uninteresting metadata
1239 - (this branch uses sb/color-h-cleanup.)
1240 -
1241 - Expecting a reroll.
1242 - cf. https://public-inbox.org/git/20171110011002.10179-1-sbeller@google.com/#t
1243 - error messages are funny, can segfault, ...
1032 + cf. <570D707A-DD9E-4397-8155-E8B3C3D09760@gmail.com>
1033
1034
1035 * en/rename-directory-detection (2018-02-27) 29 commits
1247 - - merge-recursive: ensure we write updates for directory-renamed file
1248 - - merge-recursive: avoid spurious rename/rename conflict from dir renames
1249 - - directory rename detection: new testcases showcasing a pair of bugs
1250 - - merge-recursive: fix remaining directory rename + dirty overwrite cases
1251 - - merge-recursive: fix overwriting dirty files involved in renames
1252 - - merge-recursive: avoid clobbering untracked files with directory renames
1253 - - merge-recursive: apply necessary modifications for directory renames
1254 - - merge-recursive: when comparing files, don't include trees
1255 - - merge-recursive: check for file level conflicts then get new name
1256 - - merge-recursive: add computation of collisions due to dir rename & merging
1257 - - merge-recursive: check for directory level conflicts
1258 - - merge-recursive: add get_directory_renames()
1259 - - merge-recursive: make a helper function for cleanup for handle_renames
1260 - - merge-recursive: split out code for determining diff_filepairs
1261 - - merge-recursive: make !o->detect_rename codepath more obvious
1262 - - merge-recursive: fix leaks of allocated renames and diff_filepairs
1263 - - merge-recursive: introduce new functions to handle rename logic
1264 - - merge-recursive: move the get_renames() function
1265 - - directory rename detection: tests for handling overwriting dirty files
1266 - - directory rename detection: tests for handling overwriting untracked files
1267 - - directory rename detection: miscellaneous testcases to complete coverage
1268 - - directory rename detection: testcases exploring possibly suboptimal merges
1269 - - directory rename detection: more involved edge/corner testcases
1270 - - directory rename detection: testcases checking which side did the rename
1271 - - directory rename detection: files/directories in the way of some renames
1272 - - directory rename detection: partially renamed directory testcase/discussion
1273 - - directory rename detection: testcases to avoid taking detection too far
1274 - - directory rename detection: directory splitting testcases
1275 - - directory rename detection: basic testcases
1036 + (merged to 'next' on 2018-03-06 at d42470f86e)
1037 + + merge-recursive: ensure we write updates for directory-renamed file
1038 + + merge-recursive: avoid spurious rename/rename conflict from dir renames
1039 + + directory rename detection: new testcases showcasing a pair of bugs
1040 + + merge-recursive: fix remaining directory rename + dirty overwrite cases
1041 + + merge-recursive: fix overwriting dirty files involved in renames
1042 + + merge-recursive: avoid clobbering untracked files with directory renames
1043 + + merge-recursive: apply necessary modifications for directory renames
1044 + + merge-recursive: when comparing files, don't include trees
1045 + + merge-recursive: check for file level conflicts then get new name
1046 + + merge-recursive: add computation of collisions due to dir rename & merging
1047 + + merge-recursive: check for directory level conflicts
1048 + + merge-recursive: add get_directory_renames()
1049 + + merge-recursive: make a helper function for cleanup for handle_renames
1050 + + merge-recursive: split out code for determining diff_filepairs
1051 + + merge-recursive: make !o->detect_rename codepath more obvious
1052 + + merge-recursive: fix leaks of allocated renames and diff_filepairs
1053 + + merge-recursive: introduce new functions to handle rename logic
1054 + + merge-recursive: move the get_renames() function
1055 + + directory rename detection: tests for handling overwriting dirty files
1056 + + directory rename detection: tests for handling overwriting untracked files
1057 + + directory rename detection: miscellaneous testcases to complete coverage
1058 + + directory rename detection: testcases exploring possibly suboptimal merges
1059 + + directory rename detection: more involved edge/corner testcases
1060 + + directory rename detection: testcases checking which side did the rename
1061 + + directory rename detection: files/directories in the way of some renames
1062 + + directory rename detection: partially renamed directory testcase/discussion
1063 + + directory rename detection: testcases to avoid taking detection too far
1064 + + directory rename detection: directory splitting testcases
1065 + + directory rename detection: basic testcases
1066
1067 Rename detection logic in "diff" family that is used in "merge" has
1068 learned to guess when all of x/a, x/b and x/c have moved to z/a,
@@ -1282,4 +1072,39 @@ of the repositories listed at
1072 to be overwritten during merge has also been fixed as part of this
1073 work.
1074
1285 - Will merge to 'next'.
1075 + Will merge to 'master'.
1076 +
1077 +--------------------------------------------------
1078 +[Discarded]
1079 +
1080 +* ot/cat-batch-format (2018-02-12) 23 commits
1081 + . cat-file: update of docs
1082 + . cat-file: tests for new atoms added
1083 + . for-each-ref: tests for new atoms added
1084 + . ref-filter: unifying formatting of cat-file opts
1085 + . ref-filter: make populate_value() internal again
1086 + . cat-file: reuse printing logic from ref-filter
1087 + . ref-filter: make valid_atom general again
1088 + . ref-filter: make cat_file_info independent
1089 + . cat-file: move skip_object_info into ref-filter
1090 + . ref_filter: add is_atom_used function
1091 + . ref-filter: get rid of mark_atom_in_object_info()
1092 + . cat-file: start reusing populate_value()
1093 + . ref-filter: rename field in ref_array_item stuct
1094 + . ref-filter: make populate_value() global
1095 + . cat-file: start use ref_array_item struct
1096 + . ref-filter: reuse parse_ref_filter_atom()
1097 + . cat-file: start migrating formatting to ref-filter
1098 + . cat-file: split expand_atom() into 2 functions
1099 + . cat-file: move struct expand_data into ref-filter
1100 + . ref-filter: make valid_atom as function parameter
1101 + . cat-file: reuse struct ref_format
1102 + . ref-filter: add return value to some functions
1103 + . ref-filter: get rid of goto
1104 +
1105 + Teach "cat-file --batch" to reuse the formatting machinery shared
1106 + by for-each-ref, branch --list, and tag --list.
1107 +
1108 + Discarded, as a rebooted effort is beginning elsewhere.
1109 + Allocates flex-array on stack, etc.
1110 + cf. <58b2bdcd-d621-fd21-ab4d-6a9478319b19@ramsayjones.plus.com>