What's cooking (2015/04 #05)
Junio C Hamano committed
Apr 30, 2015 at 12:35 UTC
fba3384f489ad83705a670a77df74502eb604791
1 file changed
+419
-405
whats-cooking.txt
+419
-405
@@ -1,19 +1,19 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Apr 2015, #04; Mon, 27)
4
-X-master-at: fb3e7d5515308c73c54c797356651d6ca41b58a6
5
-X-next-at: 800e5753bd3e417587c1acede4a07b3a0f1c5198
3
+Subject: What's cooking in git.git (Apr 2015, #05; Thu, 30)
4
+X-master-at: 3d4a3ffe64162b45ae7c991fc60623ecb4678cfd
5
+X-next-at: 7a0482398323b9bd8dbb64ab9010e63a95b81bce
6
7
-What's cooking in git.git (Apr 2015, #04; Mon, 27)
7
+What's cooking in git.git (Apr 2015, #05; Thu, 30)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
11
'-' are only in 'pu' (proposed updates) while commits prefixed with
12
'+' are in 'next'.
13
14
-I'll merge two small documentation follow-up to the new features
15
-in 2.4.0 (mg/status-v-v and nd/versioncmp-prereleases topics) to
16
-'master' and tag the final Git 2.4 later this week.
14
+Git 2.4 final has been tagged. We'll wait for a few days to see
15
+if there are brown-paper-bag bugs, fix them if there are any, and
16
+then rewind 'next' and rebuild it to kick off the next cycle.
17
18
You can find the changes described here in the integration branches
19
of the repositories listed at
@@ -23,53 +23,376 @@ of the repositories listed at
23
--------------------------------------------------
24
[Graduated to "master"]
25
26
-* jc/push-cert (2015-04-02) 1 commit
27
- (merged to 'next' on 2015-04-08 at aecdd43)
28
- + push --signed: tighten what the receiving end can ask to sign
26
+* mg/show-notes-doc (2015-04-17) 1 commit
27
+ (merged to 'next' on 2015-04-20 at 2e93969)
28
+ + rev-list-options.txt: complete sentence about notes matching
29
+
30
+ Documentation fix.
31
+
32
+
33
+* mg/status-v-v (2015-04-23) 1 commit
34
+ (merged to 'next' on 2015-04-25 at cbcaca4)
35
+ + status: document the -v/--verbose option
36
+
37
+ Documentation fix.
38
+
39
+
40
+* nd/versioncmp-prereleases (2015-04-23) 1 commit
41
+ (merged to 'next' on 2015-04-25 at f824d7f)
42
+ + git tag: mention versionsort.prereleaseSuffix in manpage
43
+
44
+ Documentation fix.
45
+
46
+--------------------------------------------------
47
+[New Topics]
48
+
49
+* jk/rebase-quiet-noop (2015-04-28) 1 commit
50
+ - rebase: silence "git checkout" for noop rebase
51
+
52
+ "git rebase --quiet" was not quite quiet when there is nothing to
53
+ do.
54
+
55
+ Will merge to 'next'.
56
+
57
+
58
+* ld/p4-case-fold (2015-04-28) 1 commit
59
+ - git-p4: add failing tests for case-folding p4d
60
+
61
+ Will merge to 'next'.
62
+
63
+
64
+* va/fix-git-p4-tests (2015-04-28) 1 commit
65
+ - git-p4: t9814: prevent --chain-lint failure
66
+
67
+ Will merge to 'next'.
68
30
- The "git push --signed" protocol extension did not limit what the
31
- "nonce" that is a server-chosen string can contain or how long it
32
- can be, which was unnecessarily lax. Limit both the length and the
33
- alphabet to a reasonably small space that can still have enough
34
- entropy.
69
70
+* jk/filter-branch-use-of-sed-on-incomplete-line (2015-04-29) 1 commit
71
+ - filter-branch: avoid passing commit message through sed
72
37
-* ma/bash-completion-leaking-x (2015-04-12) 1 commit
38
- (merged to 'next' on 2015-04-14 at 3a52a6d)
39
- + completion: fix global bash variable leak on __gitcompappend
73
+ "filter-branch" was broken by some "sed" implementations that
74
+ corrupt commit log message that ends with an incomplete line.
75
+ Work it around by avoiding to use "sed".
76
41
- The completion script (in contrib/) contaminated global namespace
42
- and clobbered on a shell variable $x.
77
+ Will merge to 'next'.
78
79
45
-* ps/grep-help-all-callback-arg (2015-04-12) 1 commit
46
- (merged to 'next' on 2015-04-14 at e0a8092)
47
- + grep: correctly initialize help-all option
80
+* ph/rebase-i-redo (2015-04-29) 1 commit
81
+ - rebase -i: redo tasks that die during cherry-pick
82
49
- Code clean-up.
83
+ "git rebase -i" moved the "current" command from "todo" to "done" a
84
+ bit too prematurely, losing a step when a "pick" did not even start.
85
86
+ Will merge to 'next'.
87
52
-* tb/connect-ipv6-parse-fix (2015-04-08) 1 commit
53
- (merged to 'next' on 2015-04-14 at e720918)
54
- + connect.c: ignore extra colon after hostname
88
56
- An earlier update to the parser that disects a URL broke an
57
- address, followed by a colon, followed by an empty string (instead
58
- of the port number), e.g. ssh://example.com:/path/to/repo.
89
+* ep/do-not-feed-a-pointer-to-array-size (2015-04-30) 2 commits
90
+ - SQUASH???
91
+ - git-compat-util.h: implement a different ARRAY_SIZE macro for for safely deriving the size of array
92
60
- This should go to the maintenance track, too.
93
+ Catch programmer mistake to feed a pointer not an array to
94
+ ARRAY_SIZE() macro, by using a couple of GCC extensions.
95
96
63
-* va/fix-git-p4-tests (2015-04-12) 3 commits
64
- (merged to 'next' on 2015-04-14 at 261bf90)
65
- + t9814: guarantee only one source exists in git-p4 copy tests
66
- + git-p4: fix copy detection test
67
- + t9814: fix broken shell syntax in git-p4 rename test
97
+* tb/blame-resurrect-convert-to-git (2015-04-30) 1 commit
98
+ - blame: CRLF in the working tree and LF in the repo
99
69
- Test fixes for git-p4.
100
+ Some time ago, "git blame" (incorrectly) lost the convert_to_git()
101
+ call when synthesizing a fake "tip" commit that represents the
102
+ state in the working tree, which broke folks who record the history
103
+ with LF line ending to make their project portabile across
104
+ platforms while terminating lines in their working tree files with
105
+ CRLF for their platform.
106
+
107
+ Will merge to 'next'.
108
109
--------------------------------------------------
72
-[New Topics]
110
+[Stalled]
111
+
112
+* kk/log-merges-config (2015-04-21) 5 commits
113
+ - bash-completion: add support for git-log --merges= and log.merges
114
+ - t4202-log: add tests for --merges=
115
+ - Documentation: add git-log --merges= option and log.merges config. var
116
+ - log: honor log.merges= option
117
+ - revision: add --merges={show|only|hide} option
118
+
119
+ "git log" (but not other commands in the "log" family) learned to
120
+ pay attention to the log.merges configuration variable that can be
121
+ set to "show" (the normal behaviour), "only" (hide non-merge
122
+ commits), or "hide" (hide merge commits). --merges=(show|only|hide)
123
+ can be used to override the setting from the command line.
124
+
125
+ The documentation may need to be updated once more ($gmane/267250).
126
+ Waiting for a reroll.
127
+
128
+
129
+* mh/fdopen-with-retry (2015-03-06) 6 commits
130
+ - buffer_fdinit(): use fdopen_with_retry()
131
+ - update_info_file(): use fdopen_with_retry()
132
+ - copy_to_log(): use fdopen_with_retry()
133
+ - fdopen_lock_file(): use fdopen_with_retry()
134
+ - SQUASH??? $gmane/264889
135
+ - xfdopen(): if first attempt fails, free memory and try again
136
+
137
+ Various parts of the code where they call fdopen() can fail when
138
+ they run out of memory; attempt to proceed by retrying the
139
+ operation after freeing some resource.
140
+
141
+ Will discard.
142
+
143
+
144
+* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
145
+ - t/lib-git-svn: check same httpd module dirs as lib-httpd
146
+ - t/lib-httpd: load mod_unixd
147
+
148
+ This is the first two commits in a three-patch series $gmane/266962
149
+ Will be rerolled.
150
+ with updated log message ($gmane/268061).
151
+
152
+
153
+* jk/at-push-sha1 (2015-03-31) 6 commits
154
+ - sha1_name: implement @{push} shorthand
155
+ - sha1_name: refactor upstream_mark
156
+ - remote.c: provide per-branch pushremote name
157
+ - remote.c: hoist branch.*.remote lookup out of remote_get_1
158
+ - remote.c: drop "remote" pointer from "struct branch"
159
+ - remote.c: drop default_remote_name variable
160
+
161
+ Introduce <branch>@{push} short-hand to denote the remote-tracking
162
+ branch that tracks the branch at the remote the <branch> would be
163
+ pushed to.
164
+
165
+ Will be rerolled ($gmane/268040).
166
+
167
+
168
+* pt/xdg-config-path (2015-04-12) 7 commits
169
+ - path.c: remove home_config_paths()
170
+ - git-config: replace use of home_config_paths()
171
+ - git-commit: replace use of home_config_paths()
172
+ - credential-store.c: replace home_config_paths() with xdg_config_home()
173
+ - dir.c: replace home_config_paths() with xdg_config_home()
174
+ - attr.c: replace home_config_paths() with xdg_config_home()
175
+ - path.c: implement xdg_config_home()
176
+ (this branch uses pt/credential-xdg.)
177
+
178
+ Seen some discussions.
179
+ Waiting for a reroll ($gmane/267518).
180
+
181
+
182
+* mh/numparse (2015-03-19) 14 commits
183
+ - diff_opt_parse(): use convert_i() when handling --abbrev=<num>
184
+ - diff_opt_parse(): use convert_i() when handling "-l<num>"
185
+ - opt_arg(): simplify pointer handling
186
+ - opt_arg(): report errors parsing option values
187
+ - opt_arg(): use convert_i() in implementation
188
+ - opt_arg(): val is always non-NULL
189
+ - builtin_diff(): detect errors when parsing --unified argument
190
+ - handle_revision_opt(): use convert_ui() when handling "--abbrev="
191
+ - strtoul_ui(), strtol_i(): remove functions
192
+ - handle_revision_opt(): use convert_i() when handling "-<digit>"
193
+ - handle_revision_opt(): use skip_prefix() in many places
194
+ - write_subdirectory(): use convert_ui() for parsing mode
195
+ - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
196
+ - numparse: new module for parsing integral numbers
197
+
198
+ Many codepaths use unchecked use of strtol() and friends (or even
199
+ worse, atoi()). Introduce a set of wrappers that try to be more
200
+ careful.
201
+
202
+ Will be rerolled.
203
+ ($gmane/268058).
204
+
205
+
206
+* tf/gitweb-project-listing (2015-03-19) 5 commits
207
+ - gitweb: make category headings into links when they are directories
208
+ - gitweb: optionally set project category from its pathname
209
+ - gitweb: add a link under the search box to clear a project filter
210
+ - gitweb: if the PATH_INFO is incomplete, use it as a project_filter
211
+ - gitweb: fix typo in man page
212
+
213
+ Update gitweb to make it more pleasant to deal with a hierarchical
214
+ forest of repositories.
215
+
216
+ Any comments from those who use or have their own code in Gitweb?
217
+
218
+
219
+* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
220
+ - "-" and "@{-1}" on various programs
221
+
222
+ Lose special case code to make a lone dash "-" mean the previous
223
+ branch aka "@{-1}" from a handful subcommands, and instead support
224
+ the notation throughout the system by reimplementing it at the
225
+ revisions layer.
226
+
227
+ Needs tests, documentation updates, etc. Also does only a half-way
228
+ job dealing with range notation, which needs to be fixed before the
229
+ series goes anywhere.
230
+
231
+
232
+* nd/list-files (2015-02-09) 21 commits
233
+ - t3080: tests for git-list-files
234
+ - list-files: -M aka diff-cached
235
+ - list-files -F: show submodules with the new indicator '&'
236
+ - list-files: add -F/--classify
237
+ - list-files: show directories as well as files
238
+ - list-files: do not show duplicate cached entries
239
+ - list-files: sort output and remove duplicates
240
+ - list-files: add -t back
241
+ - list-files: add -1 short for --no-column
242
+ - list-files: add -R/--recursive short for --max-depth=-1
243
+ - list-files: -u does not imply showing stages
244
+ - list-files: make alias 'ls' default to 'list-files'
245
+ - list-files: a user friendly version of ls-files and more
246
+ - ls-files: support --max-depth
247
+ - ls-files: add --column
248
+ - ls-files: add --color to highlight file names
249
+ - ls-files: buffer full item in strbuf before printing
250
+ - ls_colors.c: highlight submodules like directories
251
+ - ls_colors.c: add a function to color a file name
252
+ - ls_colors.c: parse color.ls.* from config file
253
+ - ls_colors.c: add $LS_COLORS parsing code
254
+
255
+ A new "git list-files" Porcelain command, "ls-files" with bells and
256
+ whistles.
257
+
258
+ Reroll to base on wt-status work ($gmane/265142) has seen some
259
+ positive discussions.
260
+
261
+ Waiting for a further polished reroll ($gmane/265534).
262
+
263
+
264
+* js/fsck-opt (2015-01-21) 19 commits
265
+ - fsck: support ignoring objects in `git fsck` via fsck.skiplist
266
+ - fsck: git receive-pack: support excluding objects from fsck'ing
267
+ - fsck: introduce `git fsck --quick`
268
+ - fsck: support demoting errors to warnings
269
+ - fsck: document the new receive.fsck.* options
270
+ - fsck: allow upgrading fsck warnings to errors
271
+ - fsck: optionally ignore specific fsck issues completely
272
+ - fsck: disallow demoting grave fsck errors to warnings
273
+ - fsck: add a simple test for receive.fsck.*
274
+ - fsck: make fsck_tag() warn-friendly
275
+ - fsck: handle multiple authors in commits specially
276
+ - fsck: make fsck_commit() warn-friendly
277
+ - fsck: make fsck_ident() warn-friendly
278
+ - fsck: report the ID of the error/warning
279
+ - fsck: allow demoting errors to warnings via receive.fsck.warn = <key>
280
+ - fsck: offer a function to demote fsck errors to warnings
281
+ - fsck: provide a function to parse fsck message IDs
282
+ - fsck: introduce identifiers for fsck messages
283
+ - fsck: introduce fsck options
284
+
285
+ "fsck.warnings = <list of error tokens>" I suggested turned out to
286
+ be an unpopular choice (sorry Dscho).
287
+
288
+ Expecting a reroll.
289
+
290
+
291
+* nd/untracked-cache (2015-03-12) 24 commits
292
+ - git-status.txt: advertisement for untracked cache
293
+ - untracked cache: guard and disable on system changes
294
+ - mingw32: add uname()
295
+ - t7063: tests for untracked cache
296
+ - update-index: test the system before enabling untracked cache
297
+ - update-index: manually enable or disable untracked cache
298
+ - status: enable untracked cache
299
+ - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
300
+ - untracked cache: mark index dirty if untracked cache is updated
301
+ - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
302
+ - untracked cache: avoid racy timestamps
303
+ - read-cache.c: split racy stat test to a separate function
304
+ - untracked cache: invalidate at index addition or removal
305
+ - untracked cache: load from UNTR index extension
306
+ - untracked cache: save to an index extension
307
+ - ewah: add convenient wrapper ewah_serialize_strbuf()
308
+ - untracked cache: don't open non-existent .gitignore
309
+ - untracked cache: mark what dirs should be recursed/saved
310
+ - untracked cache: record/validate dir mtime and reuse cached output
311
+ - untracked cache: make a wrapper around {open,read,close}dir()
312
+ - untracked cache: invalidate dirs recursively if .gitignore changes
313
+ - untracked cache: initial untracked cache validation
314
+ - untracked cache: record .gitignore information and dir hierarchy
315
+ - dir.c: optionally compute sha-1 of a .gitignore file
316
+
317
+ Need extra sets of eyes to review this.
318
+
319
+
320
+* nd/pathspec-strip-fix (2015-04-18) 1 commit
321
+ - pathspec: adjust prefixlen after striping trailing slash
322
+
323
+ Does not quite fix ($gmane/267614).
324
+
325
+
326
+* jc/diff-b-m (2015-02-23) 5 commits
327
+ . WIPWIP
328
+ . WIP: diff-b-m
329
+ - diffcore-rename: allow easier debugging
330
+ - diffcore-rename.c: add locate_rename_src()
331
+ - diffcore-break: allow debugging
332
+
333
+ "git diff -B -M" produced incorrect patch when the postimage of a
334
+ completely rewritten file is similar to the preimage of a removed
335
+ file; such a resulting file must not be expressed as a rename from
336
+ other place.
337
+
338
+ The fix in this patch is broken, unfortunately.
339
+
340
+
341
+* pw/remote-set-url-fetch (2014-11-26) 1 commit
342
+ - remote: add --fetch and --both options to set-url
343
+
344
+ Expecting a reroll.
345
+
346
+
347
+* tr/remerge-diff (2014-11-10) 9 commits
348
+ - t4213: avoid "|" in sed regexp
349
+ - log --remerge-diff: show what the conflict resolution changed
350
+ - name-hash: allow dir hashing even when !ignore_case
351
+ - merge-recursive: allow storing conflict hunks in index
352
+ - merge_diff_mode: fold all merge diff variants into an enum
353
+ - combine-diff: do not pass revs->dense_combined_merges redundantly
354
+ - merge-recursive: -Xindex-only to leave worktree unchanged
355
+ - merge-recursive: internal flag to avoid touching the worktree
356
+ - merge-recursive: remove dead conditional in update_stages()
357
+
358
+ "log -p" output learns a new way to let users inspect a merge
359
+ commit by showing the differences between the automerged result
360
+ with conflicts the person who recorded the merge would have seen
361
+ and the final conflict resolution that was recorded in the merge.
362
+
363
+ Waiting for a reroll ($gmane/256591).
364
+
365
+
366
+* hv/submodule-config (2014-11-11) 4 commits
367
+ - do not die on error of parsing fetchrecursesubmodules option
368
+ - use new config API for worktree configurations of submodules
369
+ - extract functions for submodule config set and lookup
370
+ - implement submodule config cache for lookup of submodule names
371
+
372
+ Kicked back to 'pu' per request ($gmane/255610).
373
+
374
+
375
+* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
376
+ - perf-lib: add test_perf_cleanup target
377
+ - perf-lib: split starting the test from the execution
378
+
379
+ Add test_perf_cleanup shell function to the perf suite, that allows
380
+ the script writers to define a test with a clean-up action.
381
+
382
+ Will hold.
383
+
384
+
385
+* jc/show-branch (2014-03-24) 5 commits
386
+ - show-branch: use commit slab to represent bitflags of arbitrary width
387
+ - show-branch.c: remove "all_mask"
388
+ - show-branch.c: abstract out "flags" operation
389
+ - show-branch.c: lift all_mask/all_revs to a global static
390
+ - show-branch.c: update comment style
391
+
392
+ Waiting for the final step to lift the hard-limit.
393
+
394
+--------------------------------------------------
395
+[Cooking]
396
397
* jc/epochtime-wo-tz (2015-04-15) 2 commits
398
(merged to 'next' on 2015-04-21 at b926f72)
@@ -116,7 +439,7 @@ of the repositories listed at
439
be touched?" check "git clean" does by checking if it has .git/HEAD
440
using the submodule-related code with a more optimized check.
441
119
- Will merge to 'next'.
442
+ Waiting for a reroll.
443
444
445
* ep/fix-test-lib-functions-report (2015-04-16) 1 commit
@@ -158,15 +481,6 @@ of the repositories listed at
481
Will merge to 'master' in the second batch of post v2.4 cycle.
482
483
161
-* mg/show-notes-doc (2015-04-17) 1 commit
162
- (merged to 'next' on 2015-04-20 at 2e93969)
163
- + rev-list-options.txt: complete sentence about notes matching
164
-
165
- Documentation fix.
166
-
167
- Will merge to 'master' in the first batch of post v2.4 cycle.
168
-
169
-
484
* mm/add-p-split-error (2015-04-16) 5 commits
485
(merged to 'next' on 2015-04-23 at b1bd21a)
486
+ stash -p: demonstrate failure of split with mixed y/n
@@ -184,7 +498,7 @@ of the repositories listed at
498
and biting us (I seem to have said "let's run with this and see
499
what happens" back then).
500
187
- Will merge to 'master'.
501
+ Will merge to 'master' in the third batch of post v2.4 cycle.
502
503
504
* mm/usage-log-l-can-take-regex (2015-04-20) 2 commits
@@ -195,12 +509,6 @@ of the repositories listed at
509
Will merge to 'master' in the second batch of post v2.4 cycle.
510
511
198
-* nd/pathspec-strip-fix (2015-04-18) 1 commit
199
- - pathspec: adjust prefixlen after striping trailing slash
200
-
201
- Does not quite fix ($gmane/267614).
202
-
203
-
512
* nd/t1509-chroot-test (2015-04-18) 1 commit
513
(merged to 'next' on 2015-04-21 at 60d35d3)
514
+ t1509: update prepare script to be able to run t1509 in chroot again
@@ -227,7 +535,7 @@ of the repositories listed at
535
+ t0027: support NATIVE_CRLF platforms
536
+ t0027: cleanup: rename functions; avoid non-leading TABs
537
230
- Will merge to 'master' in the first batch of post v2.4 cycle.
538
+ Will merge to 'next'.
539
540
541
* jk/prune-mtime (2015-04-20) 3 commits
@@ -285,7 +593,7 @@ of the repositories listed at
593
Will merge to 'next'.
594
595
288
-* jc/merge (2015-04-25) 14 commits
596
+* jc/merge (2015-04-29) 15 commits
597
- merge: deprecate 'git merge <message> HEAD <commit>' syntax
598
- merge: handle FETCH_HEAD internally
599
- merge: decide if we auto-generate the message early in collect_parents()
@@ -300,205 +608,82 @@ of the repositories listed at
608
- t5520: test pulling an octopus into an unborn branch
609
- t5520: style fixes
610
- merge: simplify code flow
611
+ - merge: test the top-level merge driver
612
(this branch is used by jc/merge-drop-old-syntax.)
613
614
"git merge FETCH_HEAD" learned that the previous "git fetch" could
615
be to create an Octopus merge, i.e. recording multiple branches
616
that are not marked as "not-for-merge"; this allows us to lose an
617
old style invocation "git merge <msg> HEAD $commits..." in the
309
- implementation of "git pull" script; the old style syntax can now
310
- be deprecated.
311
-
312
-
313
-* jk/test-chain-lint (2015-04-22) 1 commit
314
- - test-lib: turn on GIT_TEST_CHAIN_LINT by default
315
-
316
- Will merge to 'next'.
317
-
318
-
319
-* mg/status-v-v (2015-04-23) 1 commit
320
- (merged to 'next' on 2015-04-25 at cbcaca4)
321
- + status: document the -v/--verbose option
322
-
323
- Will merge to 'master'.
324
-
325
-
326
-* mh/ref-lock-avoid-running-out-of-fds (2015-04-25) 8 commits
327
- - ref_transaction_commit(): only keep one lockfile open at a time
328
- - ref_transaction_commit(): remove the local flags variables
329
- - write_ref_sha1(): inline function at callers
330
- - commit_ref_update(): new function, extracted from write_ref_sha1()
331
- - write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
332
- - refs.c: remove lock_fd from struct ref_lock
333
- - t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
334
- - update-ref: test handling large transactions properly
335
- (this branch is tangled with sb/ref-lock-avoid-running-out-of-fds.)
336
-
337
- "git update-ref --stdin" was converted to be "transactional" some
338
- time ago, but the ref transaction machinery was not prepared to
339
- handle many refs, primarily because it tried to keep the loose ref
340
- files open at the same time, which would cause us to hit the ENFILE
341
- limit. Fix the ref_transaction_commit() code not to keep the file
342
- descriptors open unnecessarily.
343
-
344
- We would probably want to apply the fix to older codebase, but this
345
- fix is unfortunately done to apply only on v2.4.x track.
346
-
347
-
348
-* nd/versioncmp-prereleases (2015-04-23) 1 commit
349
- (merged to 'next' on 2015-04-25 at f824d7f)
350
- + git tag: mention versionsort.prereleaseSuffix in manpage
351
-
352
- Will merge to 'master'.
353
-
354
-
355
-* bc/connect-plink (2015-04-27) 3 commits
356
- - connect: improve check for plink to reduce false positives
357
- - t5601: fix quotation error leading to skipped tests
358
- - connect: simplify SSH connection code path
359
- (this branch uses jc/test-prereq-validate.)
360
-
361
- The connection initiation code for "ssh" transport tried to absorb
362
- differences between the stock "ssh" and Putty-supplied "plink" and
363
- its derivatives, but the logic to tell that we are using "plink"
364
- variants were too loose and falsely triggered when "plink" appeared
365
- anywhere in the path (e.g. "/home/me/bin/uplink/ssh").
366
-
367
- Will merge to 'next'.
368
-
369
-
370
-* jc/test-prereq-validate (2015-04-26) 1 commit
371
- - test: validate prerequistes syntax
372
- (this branch is used by bc/connect-plink.)
373
-
374
- Help us to find broken test script that splits the body part of the
375
- test by mistaken use of wrong kind of quotes.
376
-
377
- Will merge to 'next'.
378
-
379
-
380
-* fg/document-commit-message-stripping (2015-04-27) 1 commit
381
- - Documentation: clarify how "git commit" cleans up the edited log message
382
-
383
- Will merge to 'next'.
384
-
385
---------------------------------------------------
386
-[Stalled]
387
-
388
-* mh/fdopen-with-retry (2015-03-06) 6 commits
389
- - buffer_fdinit(): use fdopen_with_retry()
390
- - update_info_file(): use fdopen_with_retry()
391
- - copy_to_log(): use fdopen_with_retry()
392
- - fdopen_lock_file(): use fdopen_with_retry()
393
- - SQUASH??? $gmane/264889
394
- - xfdopen(): if first attempt fails, free memory and try again
395
-
396
- Various parts of the code where they call fdopen() can fail when
397
- they run out of memory; attempt to proceed by retrying the
398
- operation after freeing some resource.
399
-
400
- Waiting for further comments.
401
-
402
-
403
-* nd/untracked-cache (2015-03-12) 24 commits
404
- - git-status.txt: advertisement for untracked cache
405
- - untracked cache: guard and disable on system changes
406
- - mingw32: add uname()
407
- - t7063: tests for untracked cache
408
- - update-index: test the system before enabling untracked cache
409
- - update-index: manually enable or disable untracked cache
410
- - status: enable untracked cache
411
- - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
412
- - untracked cache: mark index dirty if untracked cache is updated
413
- - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
414
- - untracked cache: avoid racy timestamps
415
- - read-cache.c: split racy stat test to a separate function
416
- - untracked cache: invalidate at index addition or removal
417
- - untracked cache: load from UNTR index extension
418
- - untracked cache: save to an index extension
419
- - ewah: add convenient wrapper ewah_serialize_strbuf()
420
- - untracked cache: don't open non-existent .gitignore
421
- - untracked cache: mark what dirs should be recursed/saved
422
- - untracked cache: record/validate dir mtime and reuse cached output
423
- - untracked cache: make a wrapper around {open,read,close}dir()
424
- - untracked cache: invalidate dirs recursively if .gitignore changes
425
- - untracked cache: initial untracked cache validation
426
- - untracked cache: record .gitignore information and dir hierarchy
427
- - dir.c: optionally compute sha-1 of a .gitignore file
428
-
429
- Need extra sets of eyes to review this.
430
-
431
-
432
-* jc/diff-b-m (2015-02-23) 5 commits
433
- . WIPWIP
434
- . WIP: diff-b-m
435
- - diffcore-rename: allow easier debugging
436
- - diffcore-rename.c: add locate_rename_src()
437
- - diffcore-break: allow debugging
618
+ implementation of "git pull" script; the old style syntax can now
619
+ be deprecated.
620
439
- "git diff -B -M" produced incorrect patch when the postimage of a
440
- completely rewritten file is similar to the preimage of a removed
441
- file; such a resulting file must not be expressed as a rename from
442
- other place.
621
444
- The fix in this patch is broken, unfortunately.
622
+* jc/merge-drop-old-syntax (2015-04-29) 1 commit
623
+ - merge: drop 'git merge <message> HEAD <commit>' syntax
624
+ (this branch uses jc/merge.)
625
626
+ Stop supporting "git merge <messsage> HEAD <commit>" syntax that
627
+ has been deprecated since October 2007.
628
447
-* pw/remote-set-url-fetch (2014-11-26) 1 commit
448
- - remote: add --fetch and --both options to set-url
629
450
- Expecting a reroll.
630
+* jk/test-chain-lint (2015-04-28) 2 commits
631
+ - test-lib: turn on GIT_TEST_CHAIN_LINT by default
632
+ - t7502-commit.sh: fix a broken and-chain
633
634
+ Will merge to 'next'.
635
453
-* tr/remerge-diff (2014-11-10) 9 commits
454
- - t4213: avoid "|" in sed regexp
455
- - log --remerge-diff: show what the conflict resolution changed
456
- - name-hash: allow dir hashing even when !ignore_case
457
- - merge-recursive: allow storing conflict hunks in index
458
- - merge_diff_mode: fold all merge diff variants into an enum
459
- - combine-diff: do not pass revs->dense_combined_merges redundantly
460
- - merge-recursive: -Xindex-only to leave worktree unchanged
461
- - merge-recursive: internal flag to avoid touching the worktree
462
- - merge-recursive: remove dead conditional in update_stages()
636
464
- "log -p" output learns a new way to let users inspect a merge
465
- commit by showing the differences between the automerged result
466
- with conflicts the person who recorded the merge would have seen
467
- and the final conflict resolution that was recorded in the merge.
637
+* mh/ref-lock-avoid-running-out-of-fds (2015-04-25) 8 commits
638
+ - ref_transaction_commit(): only keep one lockfile open at a time
639
+ - ref_transaction_commit(): remove the local flags variables
640
+ - write_ref_sha1(): inline function at callers
641
+ - commit_ref_update(): new function, extracted from write_ref_sha1()
642
+ - write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
643
+ - refs.c: remove lock_fd from struct ref_lock
644
+ - t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
645
+ - update-ref: test handling large transactions properly
646
+ (this branch is tangled with sb/ref-lock-avoid-running-out-of-fds.)
647
469
- Waiting for a reroll ($gmane/256591).
648
+ "git update-ref --stdin" was converted to be "transactional" some
649
+ time ago, but the ref transaction machinery was not prepared to
650
+ handle many refs, primarily because it tried to keep the loose ref
651
+ files open at the same time, which would cause us to hit the ENFILE
652
+ limit. Fix the ref_transaction_commit() code not to keep the file
653
+ descriptors open unnecessarily.
654
655
+ We would probably want to apply the fix to older codebase, but this
656
+ fix is unfortunately done to apply only on v2.4.x track.
657
472
-* hv/submodule-config (2014-11-11) 4 commits
473
- - do not die on error of parsing fetchrecursesubmodules option
474
- - use new config API for worktree configurations of submodules
475
- - extract functions for submodule config set and lookup
476
- - implement submodule config cache for lookup of submodule names
658
478
- Kicked back to 'pu' per request ($gmane/255610).
659
+* bc/connect-plink (2015-04-28) 3 commits
660
+ - connect: improve check for plink to reduce false positives
661
+ - t5601: fix quotation error leading to skipped tests
662
+ - connect: simplify SSH connection code path
663
664
+ The connection initiation code for "ssh" transport tried to absorb
665
+ differences between the stock "ssh" and Putty-supplied "plink" and
666
+ its derivatives, but the logic to tell that we are using "plink"
667
+ variants were too loose and falsely triggered when "plink" appeared
668
+ anywhere in the path (e.g. "/home/me/bin/uplink/ssh").
669
481
-* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
482
- - perf-lib: add test_perf_cleanup target
483
- - perf-lib: split starting the test from the execution
670
+ Will merge to 'next'.
671
485
- Add test_perf_cleanup shell function to the perf suite, that allows
486
- the script writers to define a test with a clean-up action.
672
488
- Will hold.
673
+* jc/test-prereq-validate (2015-04-28) 1 commit
674
+ - test: validate prerequistes syntax
675
676
+ Help us to find broken test script that splits the body part of the
677
+ test by mistaken use of wrong kind of quotes.
678
491
-* jc/show-branch (2014-03-24) 5 commits
492
- - show-branch: use commit slab to represent bitflags of arbitrary width
493
- - show-branch.c: remove "all_mask"
494
- - show-branch.c: abstract out "flags" operation
495
- - show-branch.c: lift all_mask/all_revs to a global static
496
- - show-branch.c: update comment style
679
+ Will merge to 'next'.
680
498
- Waiting for the final step to lift the hard-limit.
681
500
---------------------------------------------------
501
-[Cooking]
682
+* fg/document-commit-message-stripping (2015-04-27) 1 commit
683
+ - Documentation: clarify how "git commit" cleans up the edited log message
684
+
685
+ Will merge to 'next'.
686
+
687
688
* ah/usage-strings (2015-04-02) 2 commits
689
- branch: fix funny-sounding error message
@@ -528,22 +713,6 @@ of the repositories listed at
713
Will merge to 'master' in the second batch of post v2.4 cycle.
714
715
531
-* kk/log-merges-config (2015-04-21) 5 commits
532
- - bash-completion: add support for git-log --merges= and log.merges
533
- - t4202-log: add tests for --merges=
534
- - Documentation: add git-log --merges= option and log.merges config. var
535
- - log: honor log.merges= option
536
- - revision: add --merges={show|only|hide} option
537
-
538
- "git log" (but not other commands in the "log" family) learned to
539
- pay attention to the log.merges configuration variable that can be
540
- set to "show" (the normal behaviour), "only" (hide non-merge
541
- commits), or "hide" (hide merge commits). --merges=(show|only|hide)
542
- can be used to override the setting from the command line.
543
-
544
- The documentation may need to be updated once more.
545
-
546
-
716
* kn/cat-file-literally (2015-04-15) 5 commits
717
- SQUASH???
718
- t1006: add tests for git cat-file --literally
@@ -554,7 +723,8 @@ of the repositories listed at
723
Add the "--literally" option to "cat-file" to allow inspecting
724
loose objects of an experimental or a broken type.
725
557
- This is v8 $gmane/267213; getting closer to the final, I would say.
726
+ This is v8 $gmane/267213; v9 was posted but it will still needs reroll.
727
+ Waiting for reroll.
728
729
730
* ld/p4-filetype-detection (2015-04-04) 3 commits
@@ -566,13 +736,6 @@ of the repositories listed at
736
Will merge to 'master' in the first batch of post v2.4 cycle.
737
738
569
-* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
570
- - t/lib-git-svn: check same httpd module dirs as lib-httpd
571
- - t/lib-httpd: load mod_unixd
572
-
573
- This is the first two commits in a three-patch series $gmane/266962
574
-
575
-
739
* lm/squelch-bg-progress (2015-04-15) 2 commits
740
(merged to 'next' on 2015-04-21 at 9a8b1e9)
741
+ compat/mingw: stubs for getpgid() and tcgetpgrp()
@@ -599,22 +762,7 @@ of the repositories listed at
762
763
git p4 attempts to better handle branches in Perforce.
764
602
- Will merge to 'master'.
603
-
604
-
605
-* jk/at-push-sha1 (2015-03-31) 6 commits
606
- - sha1_name: implement @{push} shorthand
607
- - sha1_name: refactor upstream_mark
608
- - remote.c: provide per-branch pushremote name
609
- - remote.c: hoist branch.*.remote lookup out of remote_get_1
610
- - remote.c: drop "remote" pointer from "struct branch"
611
- - remote.c: drop default_remote_name variable
612
-
613
- Introduce <branch>@{push} short-hand to denote the remote-tracking
614
- branch that tracks the branch at the remote the <branch> would be
615
- pushed to.
616
-
617
- Waiting for a reroll ($gmane/266573).
765
+ Will merge to 'master' in the third batch of post v2.4 cycle.
766
767
768
* jk/sha1-file-reduce-useless-warnings (2015-03-30) 1 commit
@@ -680,20 +828,6 @@ of the repositories listed at
828
Will cook in 'next'.
829
830
683
-* pt/xdg-config-path (2015-04-12) 7 commits
684
- - path.c: remove home_config_paths()
685
- - git-config: replace use of home_config_paths()
686
- - git-commit: replace use of home_config_paths()
687
- - credential-store.c: replace home_config_paths() with xdg_config_home()
688
- - dir.c: replace home_config_paths() with xdg_config_home()
689
- - attr.c: replace home_config_paths() with xdg_config_home()
690
- - path.c: implement xdg_config_home()
691
- (this branch uses pt/credential-xdg.)
692
-
693
- Seen some discussions.
694
- Waiting for a reroll ($gmane/267518).
695
-
696
-
831
* jc/diff-no-index-d-f (2015-03-26) 2 commits
832
(merged to 'next' on 2015-03-27 at 1f270f9)
833
+ diff-no-index: align D/F handling with that of normal Git
@@ -728,55 +862,6 @@ of the repositories listed at
862
Will cook in 'next', as this brings in a new world order.
863
864
731
-* mh/numparse (2015-03-19) 14 commits
732
- - diff_opt_parse(): use convert_i() when handling --abbrev=<num>
733
- - diff_opt_parse(): use convert_i() when handling "-l<num>"
734
- - opt_arg(): simplify pointer handling
735
- - opt_arg(): report errors parsing option values
736
- - opt_arg(): use convert_i() in implementation
737
- - opt_arg(): val is always non-NULL
738
- - builtin_diff(): detect errors when parsing --unified argument
739
- - handle_revision_opt(): use convert_ui() when handling "--abbrev="
740
- - strtoul_ui(), strtol_i(): remove functions
741
- - handle_revision_opt(): use convert_i() when handling "-<digit>"
742
- - handle_revision_opt(): use skip_prefix() in many places
743
- - write_subdirectory(): use convert_ui() for parsing mode
744
- - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
745
- - numparse: new module for parsing integral numbers
746
-
747
- Many codepaths use unchecked use of strtol() and friends (or even
748
- worse, atoi()). Introduce a set of wrappers that try to be more
749
- careful.
750
-
751
- Waiting for a reroll ($gmane/266209).
752
-
753
-
754
-* tf/gitweb-project-listing (2015-03-19) 5 commits
755
- - gitweb: make category headings into links when they are directories
756
- - gitweb: optionally set project category from its pathname
757
- - gitweb: add a link under the search box to clear a project filter
758
- - gitweb: if the PATH_INFO is incomplete, use it as a project_filter
759
- - gitweb: fix typo in man page
760
-
761
- Update gitweb to make it more pleasant to deal with a hierarchical
762
- forest of repositories.
763
-
764
- Any comments from those who use or have their own code in Gitweb?
765
-
766
-
767
-* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
768
- - "-" and "@{-1}" on various programs
769
-
770
- Lose special case code to make a lone dash "-" mean the previous
771
- branch aka "@{-1}" from a handful subcommands, and instead support
772
- the notation throughout the system by reimplementing it at the
773
- revisions layer.
774
-
775
- Needs tests, documentation updates, etc. Also does only a half-way
776
- job dealing with range notation, which needs to be fixed before the
777
- series goes anywhere.
778
-
779
-
865
* bc/object-id (2015-03-13) 10 commits
866
(merged to 'next' on 2015-03-24 at 3ec4f83)
867
+ apply: convert threeway_stage to object_id
@@ -795,9 +880,7 @@ of the repositories listed at
880
of hardcoded 20 as byte count and/or (2) use struct object_id
881
instead of unsigned char [20] for object names.
882
798
- Will cook in 'next'.
799
- Also waiting for reviews on the follow-up series ($gmane/265939)
800
- that seems to have seen no interest X-<.
883
+ Will merge to 'master' in the first batch of post v2.4 cycle.
884
885
886
* nd/slim-index-pack-memory-usage (2015-04-18) 2 commits
@@ -811,65 +894,6 @@ of the repositories listed at
894
Will merge to 'master' in the second batch of post v2.4 cycle.
895
896
814
-* nd/list-files (2015-02-09) 21 commits
815
- - t3080: tests for git-list-files
816
- - list-files: -M aka diff-cached
817
- - list-files -F: show submodules with the new indicator '&'
818
- - list-files: add -F/--classify
819
- - list-files: show directories as well as files
820
- - list-files: do not show duplicate cached entries
821
- - list-files: sort output and remove duplicates
822
- - list-files: add -t back
823
- - list-files: add -1 short for --no-column
824
- - list-files: add -R/--recursive short for --max-depth=-1
825
- - list-files: -u does not imply showing stages
826
- - list-files: make alias 'ls' default to 'list-files'
827
- - list-files: a user friendly version of ls-files and more
828
- - ls-files: support --max-depth
829
- - ls-files: add --column
830
- - ls-files: add --color to highlight file names
831
- - ls-files: buffer full item in strbuf before printing
832
- - ls_colors.c: highlight submodules like directories
833
- - ls_colors.c: add a function to color a file name
834
- - ls_colors.c: parse color.ls.* from config file
835
- - ls_colors.c: add $LS_COLORS parsing code
836
-
837
- A new "git list-files" Porcelain command, "ls-files" with bells and
838
- whistles.
839
-
840
- Reroll to base on wt-status work ($gmane/265142) has seen some
841
- positive discussions.
842
-
843
- Waiting for a further polished reroll ($gmane/265534).
844
-
845
-
846
-* js/fsck-opt (2015-01-21) 19 commits
847
- - fsck: support ignoring objects in `git fsck` via fsck.skiplist
848
- - fsck: git receive-pack: support excluding objects from fsck'ing
849
- - fsck: introduce `git fsck --quick`
850
- - fsck: support demoting errors to warnings
851
- - fsck: document the new receive.fsck.* options
852
- - fsck: allow upgrading fsck warnings to errors
853
- - fsck: optionally ignore specific fsck issues completely
854
- - fsck: disallow demoting grave fsck errors to warnings
855
- - fsck: add a simple test for receive.fsck.*
856
- - fsck: make fsck_tag() warn-friendly
857
- - fsck: handle multiple authors in commits specially
858
- - fsck: make fsck_commit() warn-friendly
859
- - fsck: make fsck_ident() warn-friendly
860
- - fsck: report the ID of the error/warning
861
- - fsck: allow demoting errors to warnings via receive.fsck.warn = <key>
862
- - fsck: offer a function to demote fsck errors to warnings
863
- - fsck: provide a function to parse fsck message IDs
864
- - fsck: introduce identifiers for fsck messages
865
- - fsck: introduce fsck options
866
-
867
- "fsck.warnings = <list of error tokens>" I suggested turned out to
868
- be an unpopular choice (sorry Dscho).
869
-
870
- Expecting a reroll.
871
-
872
-
897
* nd/multiple-work-trees (2015-03-31) 41 commits
898
(merged to 'next' on 2015-04-02 at 7ea51b4)
899
+ prune --worktrees: fix expire vs worktree existence condition
@@ -951,13 +975,3 @@ of the repositories listed at
975
October 2007.
976
977
This regresses "git pull" in various ways; do not merge ($gmane/267432).
954
-
955
-
956
-* jc/merge-drop-old-syntax (2015-04-25) 1 commit
957
- - merge: drop 'git merge <message> HEAD <commit>' syntax
958
- (this branch uses jc/merge.)
959
-
960
- Stop supporting "git merge <messsage> HEAD <commit>" syntax that
961
- has been deprecated since October 2007.
962
-
963
- This regresses "git pull" in various ways; do not merge ($gmane/267432).