What's cooking (2015/06 #02)
Junio C Hamano committed
Jun 5, 2015 at 13:48 UTC
eb31d6fdecc2c1dd41f3b4cb5b14367c5e44bb4d
1 file changed
+367
-489
whats-cooking.txt
+367
-489
@@ -1,16 +1,22 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jun 2015, #01; Tue, 2)
4
-X-master-at: f86f31ab33c3406adebbb9f9f61be550dcc5a472
5
-X-next-at: b4379f4514b71bf690061de15eb494cafb09b9b1
3
+Subject: What's cooking in git.git (Jun 2015, #02; Fri, 5)
4
+X-master-at: 7974889a053574e449b55ca543a486e38e74864f
5
+X-next-at: 1a18470cb8c6fbcf40b535cf669aa165844706d5
6
7
-What's cooking in git.git (Jun 2015, #01; Tue, 2)
7
+What's cooking in git.git (Jun 2015, #02; Fri, 5)
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
+A handful of topics that graduated to 'master' a few weeks ago are
15
+now in 'maint', the tip of which has been tagged as v2.4.3.
16
+
17
+On the 'master' front, another huge batch of "struct object_id"
18
+thing is now in. So is Peff's 'master@{push}' series.
19
+
20
You can find the changes described here in the integration branches
21
of the repositories listed at
22
@@ -19,163 +25,341 @@ of the repositories listed at
25
--------------------------------------------------
26
[Graduated to "master"]
27
22
-* ah/usage-strings (2015-05-03) 1 commit
23
- (merged to 'next' on 2015-05-28 at 5f4350e)
24
- + blame, log: format usage strings similarly to those in documentation
28
+* bc/object-id (2015-05-25) 56 commits
29
+ (merged to 'next' on 2015-05-26 at 8d9f645)
30
+ + struct ref_lock: convert old_sha1 member to object_id
31
+ + warn_if_dangling_symref(): convert local variable "junk" to object_id
32
+ + each_ref_fn_adapter(): remove adapter
33
+ + rev_list_insert_ref(): remove unneeded arguments
34
+ + rev_list_insert_ref_oid(): new function, taking an object_oid
35
+ + mark_complete(): remove unneeded arguments
36
+ + mark_complete_oid(): new function, taking an object_oid
37
+ + clear_marks(): rewrite to take an object_id argument
38
+ + mark_complete(): rewrite to take an object_id argument
39
+ + send_ref(): convert local variable "peeled" to object_id
40
+ + upload-pack: rewrite functions to take object_id arguments
41
+ + find_symref(): convert local variable "unused" to object_id
42
+ + find_symref(): rewrite to take an object_id argument
43
+ + write_one_ref(): rewrite to take an object_id argument
44
+ + write_refs_to_temp_dir(): convert local variable sha1 to object_id
45
+ + submodule: rewrite to take an object_id argument
46
+ + shallow: rewrite functions to take object_id arguments
47
+ + handle_one_ref(): rewrite to take an object_id argument
48
+ + add_info_ref(): rewrite to take an object_id argument
49
+ + handle_one_reflog(): rewrite to take an object_id argument
50
+ + register_replace_ref(): rewrite to take an object_id argument
51
+ + remote: rewrite functions to take object_id arguments
52
+ + add_one_ref(): rewrite to take an object_id argument
53
+ + string_list_add_one_ref(): rewrite to take an object_id argument
54
+ + add_ref_decoration(): convert local variable original_sha1 to object_id
55
+ + add_ref_decoration(): rewrite to take an object_id argument
56
+ + show_head_ref(): convert local variable "unused" to object_id
57
+ + http-backend: rewrite to take an object_id argument
58
+ + append_similar_ref(): rewrite to take an object_id argument
59
+ + builtin/show-ref: rewrite to take an object_id argument
60
+ + show_ref(): convert local variable peeled to object_id
61
+ + builtin/show-ref: rewrite to use object_id
62
+ + fsck: change functions to use object_id
63
+ + cmd_show_branch(): fix error message
64
+ + builtin/show-branch: rewrite functions to work with object_id
65
+ + append_one_rev(): rewrite to work with object_id
66
+ + builtin/show-branch: rewrite functions to take object_id arguments
67
+ + append_matching_ref(): rewrite to take an object_id argument
68
+ + show_reference(): rewrite to take an object_id argument
69
+ + builtin/remote: rewrite functions to take object_id arguments
70
+ + add_branch_for_removal(): don't set "util" field of string_list entries
71
+ + add_branch_for_removal(): rewrite to take an object_id argument
72
+ + builtin/reflog: rewrite ref functions to take an object_id argument
73
+ + show_ref_cb(): rewrite to take an object_id argument
74
+ + builtin/pack-objects: rewrite to take an object_id argument
75
+ + name_ref(): rewrite to take an object_id argument
76
+ + grab_single_ref(): rewrite to take an object_id argument
77
+ + builtin/fetch: rewrite to take an object_id argument
78
+ + get_name(): rewrite to take an object_id argument
79
+ + add_pending_uninteresting_ref(): rewrite to take an object_id argument
80
+ + append_ref(): rewrite to take an object_id argument
81
+ + register_ref(): rewrite to take an object_id argument
82
+ + handle_one_ref(): rewrite to take an object_id argument
83
+ + builtin/rev-parse: rewrite to take an object_id argument
84
+ + each_ref_fn: change to take an object_id parameter
85
+ + refs: convert struct ref_entry to use struct object_id
86
26
- A few usage string updates.
87
+ for_each_ref() callback functions were taught to name the objects
88
+ not with "unsigned char sha1[20]" but with "struct object_id".
89
90
29
-* da/mergetool-winmerge (2015-05-20) 2 commits
30
- (merged to 'next' on 2015-05-26 at d6333e9)
31
- + mergetools: add winmerge as a builtin tool
32
- + mergetool--lib: set IFS for difftool and mergetool
91
+* jk/at-push-sha1 (2015-05-22) 16 commits
92
+ (merged to 'next' on 2015-05-26 at d9d342f)
93
+ + for-each-ref: accept "%(push)" format
94
+ + for-each-ref: use skip_prefix instead of starts_with
95
+ + sha1_name: implement @{push} shorthand
96
+ + sha1_name: refactor interpret_upstream_mark
97
+ + sha1_name: refactor upstream_mark
98
+ + remote.c: add branch_get_push
99
+ + remote.c: return upstream name from stat_tracking_info
100
+ + remote.c: untangle error logic in branch_get_upstream
101
+ + remote.c: report specific errors from branch_get_upstream
102
+ + remote.c: introduce branch_get_upstream helper
103
+ + remote.c: hoist read_config into remote_get_1
104
+ + remote.c: provide per-branch pushremote name
105
+ + remote.c: hoist branch.*.remote lookup out of remote_get_1
106
+ + remote.c: drop "remote" pointer from "struct branch"
107
+ + remote.c: refactor setup of branch->merge list
108
+ + remote.c: drop default_remote_name variable
109
34
- "git mergetool" learned to drive WinMerge as a backend.
110
+ Introduce <branch>@{push} short-hand to denote the remote-tracking
111
+ branch that tracks the branch at the remote the <branch> would be
112
+ pushed to.
113
114
37
-* dt/cat-file-follow-symlinks (2015-05-20) 3 commits
38
- (merged to 'next' on 2015-05-26 at 7ae52d4)
39
- + cat-file: add --follow-symlinks to --batch
40
- + sha1_name: get_sha1_with_context learns to follow symlinks
41
- + tree-walk: learn get_tree_entry_follow_symlinks
115
+* ld/p4-editor-multi-words (2015-05-26) 3 commits
116
+ (merged to 'next' on 2015-05-28 at a368a47)
117
+ + git-p4: tests: use test-chmtime in place of touch
118
+ + git-p4: fix handling of multi-word P4EDITOR
119
+ + git-p4: add failing test for P4EDITOR handling
120
43
- "git cat-file --batch(-check)" learned the "--follow-symlinks"
44
- option that follows an in-tree symbolic link when asked about an
45
- object via extended SHA-1 syntax, e.g. HEAD:RelNotes that points at
46
- Documentation/RelNotes/2.5.0.txt. With the new option, the command
47
- behaves as if HEAD:Documentation/RelNotes/2.5.0.txt was given as
48
- input instead.
121
+ Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
122
+ command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
123
+ did not let the shell interpolate the contents of the environment
124
+ variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
125
+ Make it in line with the rest of Git, as well as with Perforce.
126
127
+--------------------------------------------------
128
+[New Topics]
129
51
-* dt/clean-pathspec-filter-then-lstat (2015-05-18) 1 commit
52
- (merged to 'next' on 2015-05-26 at 9b24d71)
53
- + clean: only lstat files in pathspec
130
+* jc/ll-merge-expose-path (2015-06-04) 1 commit
131
+ - ll-merge: pass the original path to external drivers
132
55
- "git clean pathspec..." tried to lstat(2) and complain even for
56
- paths outside the given pathspec.
133
+ Traditionally, external low-level 3-way merge drivers are expected
134
+ to produce their results based solely on the contents of the three
135
+ variants given in temporary files named by %O, %A and %B on their
136
+ command line. Additionally allow them to look at the final path
137
+ (given by %P).
138
139
59
-* fm/fetch-raw-sha1 (2015-05-22) 3 commits
60
- (merged to 'next' on 2015-05-26 at dc3f1b3)
61
- + upload-pack: optionally allow fetching reachable sha1
62
- + upload-pack: prepare to extend allow-tip-sha1-in-want
63
- + config.txt: clarify allowTipSHA1InWant with camelCase
140
+* jk/log-missing-default-HEAD (2015-06-03) 1 commit
141
+ - log: diagnose empty HEAD more clearly
142
65
- "git upload-pack" that serves "git fetch" can be told to serve
66
- commits that are not at the tip of any ref, as long as they are
67
- reachable from a ref, with uploadpack.allowReachableSHA1InWant
68
- configuration variable.
143
+ "git init empty && git -C empty log" said "bad default revision 'HEAD'",
144
+ which was found to be a bit confusing to new users.
145
146
71
-* jh/filter-empty-contents (2015-05-18) 1 commit
72
- (merged to 'next' on 2015-05-26 at 9cad398)
73
- + sha1_file: pass empty buffer to index empty file
147
+* nd/slim-index-pack-memory-usage (2015-06-04) 1 commit
148
+ (merged to 'next' on 2015-06-04 at 328fd50)
149
+ + index-pack: fix truncation of off_t in comparison
150
75
- The clean/smudge interface did not work well when filtering an
76
- empty contents (failed and then passed the empty input through).
77
- It can be argued that a filter that produces anything but empty for
78
- an empty input is nonsense, but if the user wants to do strange
79
- things, then why not?
151
+ An earlier optimization broke index-pack for a large object
152
+ transfer; this fixes it before the breakage hits any released
153
+ version.
154
155
+ Will merge to 'master'.
156
82
-* jk/http-backend-deadlock (2015-05-25) 1 commit
83
- (merged to 'next' on 2015-05-26 at 9f3bd8a)
84
- + Merge branch 'jk/http-backend-deadlock-2.3' into jk/http-backend-deadlock
85
- (this branch uses jk/http-backend-deadlock-2.2 and jk/http-backend-deadlock-2.3.)
157
+--------------------------------------------------
158
+[Stalled]
159
87
- Communication between the HTTP server and http_backend process can
88
- lead to a dead-lock when relaying a large ref negotiation request.
89
- Diagnose the situation better, and mitigate it by reading such a
90
- request first into core (to a reasonable limit).
160
+* kk/log-merges-config (2015-04-21) 5 commits
161
+ - bash-completion: add support for git-log --merges= and log.merges
162
+ - t4202-log: add tests for --merges=
163
+ - Documentation: add git-log --merges= option and log.merges config. var
164
+ - log: honor log.merges= option
165
+ - revision: add --merges={show|only|hide} option
166
167
+ "git log" (but not other commands in the "log" family) learned to
168
+ pay attention to the log.merges configuration variable that can be
169
+ set to "show" (the normal behaviour), "only" (hide non-merge
170
+ commits), or "hide" (hide merge commits). --merges=(show|only|hide)
171
+ can be used to override the setting from the command line.
172
93
-* jk/http-backend-deadlock-2.2 (2015-05-25) 3 commits
94
- + http-backend: spool ref negotiation requests to buffer
95
- + t5551: factor out tag creation
96
- + http-backend: fix die recursion with custom handler
97
- (this branch is used by jk/http-backend-deadlock and jk/http-backend-deadlock-2.3.)
173
+ The documentation may need to be updated once more ($gmane/267250).
174
+ Waiting for a reroll.
175
99
- Communication between the HTTP server and http_backend process can
100
- lead to a dead-lock when relaying a large ref negotiation request.
101
- Diagnose the situation better, and mitigate it by reading such a
102
- request first into core (to a reasonable limit).
176
104
- This was wiggled back to apply to the 2.2 maintenance track
105
- (original was for 2.4).
177
+* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
178
+ - t/lib-git-svn: check same httpd module dirs as lib-httpd
179
+ - t/lib-httpd: load mod_unixd
180
181
+ This is the first two commits in a three-patch series $gmane/266962
182
+ Will be rerolled.
183
+ with updated log message ($gmane/268061).
184
108
-* jk/http-backend-deadlock-2.3 (2015-05-25) 1 commit
109
- + Merge branch 'jk/http-backend-deadlock-2.2' into jk/http-backend-deadlock-2.3
110
- (this branch is used by jk/http-backend-deadlock; uses jk/http-backend-deadlock-2.2.)
185
112
- Same for 2.3 maintenance track.
186
+* mh/numparse (2015-03-19) 14 commits
187
+ - diff_opt_parse(): use convert_i() when handling --abbrev=<num>
188
+ - diff_opt_parse(): use convert_i() when handling "-l<num>"
189
+ - opt_arg(): simplify pointer handling
190
+ - opt_arg(): report errors parsing option values
191
+ - opt_arg(): use convert_i() in implementation
192
+ - opt_arg(): val is always non-NULL
193
+ - builtin_diff(): detect errors when parsing --unified argument
194
+ - handle_revision_opt(): use convert_ui() when handling "--abbrev="
195
+ - strtoul_ui(), strtol_i(): remove functions
196
+ - handle_revision_opt(): use convert_i() when handling "-<digit>"
197
+ - handle_revision_opt(): use skip_prefix() in many places
198
+ - write_subdirectory(): use convert_ui() for parsing mode
199
+ - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
200
+ - numparse: new module for parsing integral numbers
201
202
+ Many codepaths use unchecked use of strtol() and friends (or even
203
+ worse, atoi()). Introduce a set of wrappers that try to be more
204
+ careful.
205
115
-* jk/stash-options (2015-05-20) 2 commits
116
- (merged to 'next' on 2015-05-26 at 5dcb026)
117
- + stash: recognize "--help" for subcommands
118
- + stash: complain about unknown flags
206
+ Will be rerolled.
207
+ ($gmane/268058).
208
120
- Make "git stash something --help" error out, so that users can
121
- safely say "git stash drop --help".
209
210
+* tf/gitweb-project-listing (2015-03-19) 5 commits
211
+ - gitweb: make category headings into links when they are directories
212
+ - gitweb: optionally set project category from its pathname
213
+ - gitweb: add a link under the search box to clear a project filter
214
+ - gitweb: if the PATH_INFO is incomplete, use it as a project_filter
215
+ - gitweb: fix typo in man page
216
124
-* mc/commit-doc-grammofix (2015-05-19) 1 commit
125
- (merged to 'next' on 2015-05-26 at 9d76e3b)
126
- + Documentation/git-commit: grammofix
217
+ Update gitweb to make it more pleasant to deal with a hierarchical
218
+ forest of repositories.
219
128
- Doc grammar fix.
220
+ Any comments from those who use or have their own code in Gitweb?
221
222
131
-* mm/log-format-raw-doc (2015-05-20) 2 commits
132
- (merged to 'next' on 2015-05-26 at 97e2c9d)
133
- + Documentation/log: clarify sha1 non-abbreviation in log --raw
134
- + Documentation/log: clarify what --raw means
223
+* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
224
+ - "-" and "@{-1}" on various programs
225
136
- Clarify that "log --raw" and "log --format=raw" are unrelated
137
- concepts.
226
+ Lose special case code to make a lone dash "-" mean the previous
227
+ branch aka "@{-1}" from a handful subcommands, and instead support
228
+ the notation throughout the system by reimplementing it at the
229
+ revisions layer.
230
231
+ Needs tests, documentation updates, etc. Also does only a half-way
232
+ job dealing with range notation, which needs to be fixed before the
233
+ series goes anywhere.
234
140
-* mm/rebase-i-post-rewrite-exec (2015-05-22) 3 commits
141
- (merged to 'next' on 2015-05-26 at 8ddaab1)
142
- + t5407: use <<- to align the expected output
143
- + rebase -i: fix post-rewrite hook with failed exec command
144
- + rebase -i: demonstrate incorrect behavior of post-rewrite
235
146
- "git rebase -i" fired post-rewrite hook when it shouldn't (namely,
147
- when it was told to stop sequencing with 'exec' insn).
236
+* nd/list-files (2015-02-09) 21 commits
237
+ - t3080: tests for git-list-files
238
+ - list-files: -M aka diff-cached
239
+ - list-files -F: show submodules with the new indicator '&'
240
+ - list-files: add -F/--classify
241
+ - list-files: show directories as well as files
242
+ - list-files: do not show duplicate cached entries
243
+ - list-files: sort output and remove duplicates
244
+ - list-files: add -t back
245
+ - list-files: add -1 short for --no-column
246
+ - list-files: add -R/--recursive short for --max-depth=-1
247
+ - list-files: -u does not imply showing stages
248
+ - list-files: make alias 'ls' default to 'list-files'
249
+ - list-files: a user friendly version of ls-files and more
250
+ - ls-files: support --max-depth
251
+ - ls-files: add --column
252
+ - ls-files: add --color to highlight file names
253
+ - ls-files: buffer full item in strbuf before printing
254
+ - ls_colors.c: highlight submodules like directories
255
+ - ls_colors.c: add a function to color a file name
256
+ - ls_colors.c: parse color.ls.* from config file
257
+ - ls_colors.c: add $LS_COLORS parsing code
258
259
+ A new "git list-files" Porcelain command, "ls-files" with bells and
260
+ whistles.
261
150
-* rs/janitorial (2015-05-20) 3 commits
151
- (merged to 'next' on 2015-05-26 at 9d5aee4)
152
- + dir: remove unused variable sb
153
- + clean: remove unused variable buf
154
- + use file_exists() to check if a file exists in the worktree
262
+ Reroll to base on wt-status work ($gmane/265142) has seen some
263
+ positive discussions.
264
156
- Code clean-up.
265
+ Waiting for a further polished reroll ($gmane/265534).
266
267
159
-* sb/test-bitmap-free-at-end (2015-05-22) 1 commit
160
- (merged to 'next' on 2015-05-26 at 1014ebf)
161
- + test_bitmap_walk: free bitmap with bitmap_free
268
+* js/fsck-opt (2015-01-21) 19 commits
269
+ - fsck: support ignoring objects in `git fsck` via fsck.skiplist
270
+ - fsck: git receive-pack: support excluding objects from fsck'ing
271
+ - fsck: introduce `git fsck --quick`
272
+ - fsck: support demoting errors to warnings
273
+ - fsck: document the new receive.fsck.* options
274
+ - fsck: allow upgrading fsck warnings to errors
275
+ - fsck: optionally ignore specific fsck issues completely
276
+ - fsck: disallow demoting grave fsck errors to warnings
277
+ - fsck: add a simple test for receive.fsck.*
278
+ - fsck: make fsck_tag() warn-friendly
279
+ - fsck: handle multiple authors in commits specially
280
+ - fsck: make fsck_commit() warn-friendly
281
+ - fsck: make fsck_ident() warn-friendly
282
+ - fsck: report the ID of the error/warning
283
+ - fsck: allow demoting errors to warnings via receive.fsck.warn = <key>
284
+ - fsck: offer a function to demote fsck errors to warnings
285
+ - fsck: provide a function to parse fsck message IDs
286
+ - fsck: introduce identifiers for fsck messages
287
+ - fsck: introduce fsck options
288
163
- An earlier leakfix to bitmap testing code was incomplete.
289
+ "fsck.warnings = <list of error tokens>" I suggested turned out to
290
+ be an unpopular choice (sorry Dscho).
291
292
+ Expecting a reroll.
293
166
-* sg/help-group (2015-05-21) 5 commits
167
- (merged to 'next' on 2015-05-26 at 2749912)
168
- + help: respect new common command grouping
169
- + command-list.txt: drop the "common" tag
170
- + generate-cmdlist: parse common group commands
171
- + command-list.txt: add the common groups block
172
- + command-list: prepare machinery for upcoming "common groups" section
294
174
- Group list of commands shown by "git help" along the workflow
175
- elements to help early learners.
295
+* nd/pathspec-strip-fix (2015-04-18) 1 commit
296
+ - pathspec: adjust prefixlen after striping trailing slash
297
+
298
+ Does not quite fix ($gmane/267614).
299
+ Will discard.
300
+
301
+
302
+* jc/diff-b-m (2015-02-23) 5 commits
303
+ . WIPWIP
304
+ . WIP: diff-b-m
305
+ - diffcore-rename: allow easier debugging
306
+ - diffcore-rename.c: add locate_rename_src()
307
+ - diffcore-break: allow debugging
308
+
309
+ "git diff -B -M" produced incorrect patch when the postimage of a
310
+ completely rewritten file is similar to the preimage of a removed
311
+ file; such a resulting file must not be expressed as a rename from
312
+ other place.
313
+
314
+ The fix in this patch is broken, unfortunately.
315
+
316
+
317
+* pw/remote-set-url-fetch (2014-11-26) 1 commit
318
+ - remote: add --fetch and --both options to set-url
319
+
320
+ Expecting a reroll.
321
+
322
+
323
+* tr/remerge-diff (2014-11-10) 9 commits
324
+ - t4213: avoid "|" in sed regexp
325
+ - log --remerge-diff: show what the conflict resolution changed
326
+ - name-hash: allow dir hashing even when !ignore_case
327
+ - merge-recursive: allow storing conflict hunks in index
328
+ - merge_diff_mode: fold all merge diff variants into an enum
329
+ - combine-diff: do not pass revs->dense_combined_merges redundantly
330
+ - merge-recursive: -Xindex-only to leave worktree unchanged
331
+ - merge-recursive: internal flag to avoid touching the worktree
332
+ - merge-recursive: remove dead conditional in update_stages()
333
+
334
+ "log -p" output learns a new way to let users inspect a merge
335
+ commit by showing the differences between the automerged result
336
+ with conflicts the person who recorded the merge would have seen
337
+ and the final conflict resolution that was recorded in the merge.
338
+
339
+ Waiting for a reroll ($gmane/256591).
340
+
341
+
342
+* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
343
+ - perf-lib: add test_perf_cleanup target
344
+ - perf-lib: split starting the test from the execution
345
+
346
+ Add test_perf_cleanup shell function to the perf suite, that allows
347
+ the script writers to define a test with a clean-up action.
348
+
349
+ Will hold.
350
+
351
+
352
+* jc/show-branch (2014-03-24) 5 commits
353
+ - show-branch: use commit slab to represent bitflags of arbitrary width
354
+ - show-branch.c: remove "all_mask"
355
+ - show-branch.c: abstract out "flags" operation
356
+ - show-branch.c: lift all_mask/all_revs to a global static
357
+ - show-branch.c: update comment style
358
+
359
+ Waiting for the final step to lift the hard-limit.
360
361
--------------------------------------------------
178
-[New Topics]
362
+[Cooking]
363
364
* gr/rebase-i-drop-warn (2015-06-01) 2 commits
365
- git rebase -i: warn about removed commits
@@ -211,8 +395,9 @@ of the repositories listed at
395
Will merge to 'master'.
396
397
214
-* mh/reporting-broken-refs-from-for-each-ref (2015-06-02) 3 commits
398
+* mh/reporting-broken-refs-from-for-each-ref (2015-06-03) 4 commits
399
- read_loose_refs(): treat NULL_SHA1 loose references as broken
400
+ - read_loose_refs(): simplify function logic
401
- for-each-ref: report broken references correctly
402
- t6301: new tests of for-each-ref error handling
403
@@ -220,8 +405,7 @@ of the repositories listed at
405
encounters a broken ref. The lack of object whose name is 0{40} is
406
not the problem; the ref being broken is.
407
223
- A reroll for the tip one coming to pick final minor nits?
224
- Otherwise looked ready for 'next'.
408
+ Will merge to 'next'.
409
410
411
* tb/complete-sequencing (2015-06-01) 1 commit
@@ -244,299 +428,95 @@ of the repositories listed at
428
patch output), and it learned how to do so.
429
430
Will merge to 'next'.
247
-
431
249
-* es/configure-getdelim (2015-06-02) 2 commits
432
+
433
+* es/configure-getdelim (2015-06-03) 2 commits
434
- configure: add getdelim() check
435
- config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releases
436
437
Auto-detect availability of getdelim() that helps optimized version
254
- of strbuf_getwholeline().
255
-
256
- Will merge to 'next'.
257
-
258
-
259
-* es/osx-header-pollutes-mask-macro (2015-06-02) 1 commit
260
- - ewah/bitmap: silence warning about MASK macro redefinition
261
-
262
- Will merge to 'next'.
263
-
264
-
265
-* es/send-email-sendmail-alias (2015-06-01) 10 commits
266
- - send-email: further warn about unsupported sendmail aliases features
267
- - t9001: add sendmail aliases line continuation tests
268
- - t9001: refactor sendmail aliases test infrastructure
269
- - send-email: implement sendmail aliases line continuation support
270
- - send-email: simplify sendmail aliases comment and blank line recognizer
271
- - send-email: refactor sendmail aliases parser
272
- - send-email: fix style: cuddle 'elsif' and 'else' with closing brace
273
- - send-email: drop noise comments which merely repeat what code says
274
- - send-email: visually distinguish sendmail aliases parser warnings
275
- - send-email: further document missing sendmail aliases functionality
276
- (this branch uses ah/send-email-sendmail-alias.)
277
-
278
- "git send-email" learned to handle more forms of sendmail style
279
- aliases file.
280
-
281
- Will merge to 'next'.
282
-
283
-
284
-* jc/do-not-feed-tags-to-clear-commit-marks (2015-06-01) 1 commit
285
- - format-patch: do not feed tags to clear_commit_marks()
286
-
287
- "git format-patch --ignore-if-upstream A..B" did not like to be fed
288
- tags as boundary commits.
289
-
290
-
291
-* mg/index-read-error-messages (2015-06-01) 2 commits
292
- - messages: uniform error messages for index write
293
- - show-index: uniform error messages for index read
294
-
295
- The tip was RFC.
296
-
297
-
298
-* pt/pull-optparse (2015-06-02) 3 commits
299
- - pull: use git-rev-parse --parseopt for option parsing
300
- - pull: handle git-fetch's options as well
301
- - Merge branch 'pt/pull-tests' into pt/pull-optparse
302
- (this branch uses pt/pull-tests.)
303
-
304
- "git pull" has become more aware of the options meant for
305
- underlying "git fetch" and then learned to use parse-options
306
- parser.
307
-
308
- Will merge to 'next'.
309
-
310
-
311
-* qn/blame-show-email (2015-06-01) 1 commit
312
- - blame: add blame.showEmail configuration
313
-
314
- "git blame" learned blame.showEmail configuration variable.
315
-
316
- Will merge to 'next'.
317
-
318
-
319
-* rl/am-3way-config (2015-06-02) 3 commits
320
- - t4150-am: refactor am -3 tests
321
- - git-am.txt: add configuration section in git am documentation
322
- - git-am.sh: fix initialization of the threeway variable
323
-
324
- "git am" learned am.threeWay configuration variable.
325
-
326
-
327
-* sb/pack-protocol-mention-smart-http (2015-06-02) 1 commit
328
- - Documentation/technical/pack-protocol: mention http as possible protocol
329
-
330
- Doc updates.
331
-
332
- Will merge to 'next'.
333
-
334
---------------------------------------------------
335
-[Stalled]
336
-
337
-* kk/log-merges-config (2015-04-21) 5 commits
338
- - bash-completion: add support for git-log --merges= and log.merges
339
- - t4202-log: add tests for --merges=
340
- - Documentation: add git-log --merges= option and log.merges config. var
341
- - log: honor log.merges= option
342
- - revision: add --merges={show|only|hide} option
343
-
344
- "git log" (but not other commands in the "log" family) learned to
345
- pay attention to the log.merges configuration variable that can be
346
- set to "show" (the normal behaviour), "only" (hide non-merge
347
- commits), or "hide" (hide merge commits). --merges=(show|only|hide)
348
- can be used to override the setting from the command line.
349
-
350
- The documentation may need to be updated once more ($gmane/267250).
351
- Waiting for a reroll.
352
-
353
-
354
-* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
355
- - t/lib-git-svn: check same httpd module dirs as lib-httpd
356
- - t/lib-httpd: load mod_unixd
357
-
358
- This is the first two commits in a three-patch series $gmane/266962
359
- Will be rerolled.
360
- with updated log message ($gmane/268061).
361
-
362
-
363
-* mh/numparse (2015-03-19) 14 commits
364
- - diff_opt_parse(): use convert_i() when handling --abbrev=<num>
365
- - diff_opt_parse(): use convert_i() when handling "-l<num>"
366
- - opt_arg(): simplify pointer handling
367
- - opt_arg(): report errors parsing option values
368
- - opt_arg(): use convert_i() in implementation
369
- - opt_arg(): val is always non-NULL
370
- - builtin_diff(): detect errors when parsing --unified argument
371
- - handle_revision_opt(): use convert_ui() when handling "--abbrev="
372
- - strtoul_ui(), strtol_i(): remove functions
373
- - handle_revision_opt(): use convert_i() when handling "-<digit>"
374
- - handle_revision_opt(): use skip_prefix() in many places
375
- - write_subdirectory(): use convert_ui() for parsing mode
376
- - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
377
- - numparse: new module for parsing integral numbers
378
-
379
- Many codepaths use unchecked use of strtol() and friends (or even
380
- worse, atoi()). Introduce a set of wrappers that try to be more
381
- careful.
382
-
383
- Will be rerolled.
384
- ($gmane/268058).
385
-
386
-
387
-* tf/gitweb-project-listing (2015-03-19) 5 commits
388
- - gitweb: make category headings into links when they are directories
389
- - gitweb: optionally set project category from its pathname
390
- - gitweb: add a link under the search box to clear a project filter
391
- - gitweb: if the PATH_INFO is incomplete, use it as a project_filter
392
- - gitweb: fix typo in man page
393
-
394
- Update gitweb to make it more pleasant to deal with a hierarchical
395
- forest of repositories.
396
-
397
- Any comments from those who use or have their own code in Gitweb?
398
-
399
-
400
-* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
401
- - "-" and "@{-1}" on various programs
402
-
403
- Lose special case code to make a lone dash "-" mean the previous
404
- branch aka "@{-1}" from a handful subcommands, and instead support
405
- the notation throughout the system by reimplementing it at the
406
- revisions layer.
407
-
408
- Needs tests, documentation updates, etc. Also does only a half-way
409
- job dealing with range notation, which needs to be fixed before the
410
- series goes anywhere.
411
-
438
+ of strbuf_getwholeline().
439
413
-* nd/list-files (2015-02-09) 21 commits
414
- - t3080: tests for git-list-files
415
- - list-files: -M aka diff-cached
416
- - list-files -F: show submodules with the new indicator '&'
417
- - list-files: add -F/--classify
418
- - list-files: show directories as well as files
419
- - list-files: do not show duplicate cached entries
420
- - list-files: sort output and remove duplicates
421
- - list-files: add -t back
422
- - list-files: add -1 short for --no-column
423
- - list-files: add -R/--recursive short for --max-depth=-1
424
- - list-files: -u does not imply showing stages
425
- - list-files: make alias 'ls' default to 'list-files'
426
- - list-files: a user friendly version of ls-files and more
427
- - ls-files: support --max-depth
428
- - ls-files: add --column
429
- - ls-files: add --color to highlight file names
430
- - ls-files: buffer full item in strbuf before printing
431
- - ls_colors.c: highlight submodules like directories
432
- - ls_colors.c: add a function to color a file name
433
- - ls_colors.c: parse color.ls.* from config file
434
- - ls_colors.c: add $LS_COLORS parsing code
440
+ Will merge to 'next'.
441
436
- A new "git list-files" Porcelain command, "ls-files" with bells and
437
- whistles.
442
439
- Reroll to base on wt-status work ($gmane/265142) has seen some
440
- positive discussions.
443
+* es/osx-header-pollutes-mask-macro (2015-06-03) 2 commits
444
+ - ewah: use less generic macro name
445
+ - ewah/bitmap: silence warning about MASK macro redefinition
446
442
- Waiting for a further polished reroll ($gmane/265534).
447
+ Will merge to 'next'.
448
449
445
-* js/fsck-opt (2015-01-21) 19 commits
446
- - fsck: support ignoring objects in `git fsck` via fsck.skiplist
447
- - fsck: git receive-pack: support excluding objects from fsck'ing
448
- - fsck: introduce `git fsck --quick`
449
- - fsck: support demoting errors to warnings
450
- - fsck: document the new receive.fsck.* options
451
- - fsck: allow upgrading fsck warnings to errors
452
- - fsck: optionally ignore specific fsck issues completely
453
- - fsck: disallow demoting grave fsck errors to warnings
454
- - fsck: add a simple test for receive.fsck.*
455
- - fsck: make fsck_tag() warn-friendly
456
- - fsck: handle multiple authors in commits specially
457
- - fsck: make fsck_commit() warn-friendly
458
- - fsck: make fsck_ident() warn-friendly
459
- - fsck: report the ID of the error/warning
460
- - fsck: allow demoting errors to warnings via receive.fsck.warn = <key>
461
- - fsck: offer a function to demote fsck errors to warnings
462
- - fsck: provide a function to parse fsck message IDs
463
- - fsck: introduce identifiers for fsck messages
464
- - fsck: introduce fsck options
450
+* es/send-email-sendmail-alias (2015-06-01) 10 commits
451
+ - send-email: further warn about unsupported sendmail aliases features
452
+ - t9001: add sendmail aliases line continuation tests
453
+ - t9001: refactor sendmail aliases test infrastructure
454
+ - send-email: implement sendmail aliases line continuation support
455
+ - send-email: simplify sendmail aliases comment and blank line recognizer
456
+ - send-email: refactor sendmail aliases parser
457
+ - send-email: fix style: cuddle 'elsif' and 'else' with closing brace
458
+ - send-email: drop noise comments which merely repeat what code says
459
+ - send-email: visually distinguish sendmail aliases parser warnings
460
+ - send-email: further document missing sendmail aliases functionality
461
+ (this branch uses ah/send-email-sendmail-alias.)
462
466
- "fsck.warnings = <list of error tokens>" I suggested turned out to
467
- be an unpopular choice (sorry Dscho).
463
+ "git send-email" learned to handle more forms of sendmail style
464
+ aliases file.
465
469
- Expecting a reroll.
466
+ Will merge to 'next'.
467
468
472
-* nd/pathspec-strip-fix (2015-04-18) 1 commit
473
- - pathspec: adjust prefixlen after striping trailing slash
469
+* jc/do-not-feed-tags-to-clear-commit-marks (2015-06-01) 1 commit
470
+ - format-patch: do not feed tags to clear_commit_marks()
471
475
- Does not quite fix ($gmane/267614).
476
- Will discard.
472
+ "git format-patch --ignore-if-upstream A..B" did not like to be fed
473
+ tags as boundary commits.
474
475
479
-* jc/diff-b-m (2015-02-23) 5 commits
480
- . WIPWIP
481
- . WIP: diff-b-m
482
- - diffcore-rename: allow easier debugging
483
- - diffcore-rename.c: add locate_rename_src()
484
- - diffcore-break: allow debugging
476
+* mg/index-read-error-messages (2015-06-01) 2 commits
477
+ - messages: uniform error messages for index write
478
+ - show-index: uniform error messages for index read
479
486
- "git diff -B -M" produced incorrect patch when the postimage of a
487
- completely rewritten file is similar to the preimage of a removed
488
- file; such a resulting file must not be expressed as a rename from
489
- other place.
480
+ The tip was RFC.
481
491
- The fix in this patch is broken, unfortunately.
482
483
+* pt/pull-optparse (2015-06-02) 3 commits
484
+ - pull: use git-rev-parse --parseopt for option parsing
485
+ - pull: handle git-fetch's options as well
486
+ - Merge branch 'pt/pull-tests' into pt/pull-optparse
487
+ (this branch uses pt/pull-tests.)
488
494
-* pw/remote-set-url-fetch (2014-11-26) 1 commit
495
- - remote: add --fetch and --both options to set-url
489
+ "git pull" has become more aware of the options meant for
490
+ underlying "git fetch" and then learned to use parse-options
491
+ parser.
492
497
- Expecting a reroll.
493
+ Will merge to 'next'.
494
495
500
-* tr/remerge-diff (2014-11-10) 9 commits
501
- - t4213: avoid "|" in sed regexp
502
- - log --remerge-diff: show what the conflict resolution changed
503
- - name-hash: allow dir hashing even when !ignore_case
504
- - merge-recursive: allow storing conflict hunks in index
505
- - merge_diff_mode: fold all merge diff variants into an enum
506
- - combine-diff: do not pass revs->dense_combined_merges redundantly
507
- - merge-recursive: -Xindex-only to leave worktree unchanged
508
- - merge-recursive: internal flag to avoid touching the worktree
509
- - merge-recursive: remove dead conditional in update_stages()
496
+* qn/blame-show-email (2015-06-01) 1 commit
497
+ - blame: add blame.showEmail configuration
498
511
- "log -p" output learns a new way to let users inspect a merge
512
- commit by showing the differences between the automerged result
513
- with conflicts the person who recorded the merge would have seen
514
- and the final conflict resolution that was recorded in the merge.
499
+ "git blame" learned blame.showEmail configuration variable.
500
516
- Waiting for a reroll ($gmane/256591).
501
+ Will merge to 'next'.
502
503
519
-* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
520
- - perf-lib: add test_perf_cleanup target
521
- - perf-lib: split starting the test from the execution
504
+* rl/am-3way-config (2015-06-04) 3 commits
505
+ - git-am: add am.threeWay config variable
506
+ - t4150-am: refactor am -3 tests
507
+ - git-am.sh: fix initialization of the threeway variable
508
523
- Add test_perf_cleanup shell function to the perf suite, that allows
524
- the script writers to define a test with a clean-up action.
509
+ "git am" learned am.threeWay configuration variable.
510
526
- Will hold.
511
512
+* sb/pack-protocol-mention-smart-http (2015-06-02) 1 commit
513
+ (merged to 'next' on 2015-06-04 at 8041cf6)
514
+ + Documentation/technical/pack-protocol: mention http as possible protocol
515
529
-* jc/show-branch (2014-03-24) 5 commits
530
- - show-branch: use commit slab to represent bitflags of arbitrary width
531
- - show-branch.c: remove "all_mask"
532
- - show-branch.c: abstract out "flags" operation
533
- - show-branch.c: lift all_mask/all_revs to a global static
534
- - show-branch.c: update comment style
516
+ Doc updates.
517
536
- Waiting for the final step to lift the hard-limit.
518
+ Will merge to 'master'.
519
538
---------------------------------------------------
539
-[Cooking]
520
521
* hv/submodule-config (2015-06-02) 4 commits
522
- do not die on error of parsing fetchrecursesubmodules option
@@ -638,11 +618,12 @@ of the repositories listed at
618
619
620
* sg/merge-summary-config (2015-05-28) 1 commit
641
- - Documentation: include 'merge.branchdesc' for merge and config as well
621
+ (merged to 'next' on 2015-06-04 at 8c0946c)
622
+ + Documentation: include 'merge.branchdesc' for merge and config as well
623
624
Doc updates.
625
645
- Will merge to 'next'.
626
+ Will merge to 'master'.
627
628
629
* jc/push-tags-also (2015-05-29) 1 commit
@@ -653,97 +634,35 @@ of the repositories listed at
634
635
636
* jk/die-on-bogus-worktree-late (2015-05-29) 1 commit
656
- - setup_git_directory: delay core.bare/core.worktree errors
637
+ (merged to 'next' on 2015-06-04 at fac7a83)
638
+ + setup_git_directory: delay core.bare/core.worktree errors
639
640
The setup code used to die when core.bare and core.worktree are set
641
inconsistently, even for commands that do not need working tree.
642
661
- Will merge to 'next'.
643
+ Will merge to 'master'.
644
645
646
* jk/make-fix-dependencies (2015-05-29) 3 commits
665
- - Makefile: silence perl/PM.stamp recipe
666
- - Makefile: avoid timestamp updates to GIT-BUILD-OPTIONS
667
- - Makefile: drop dependency between git-instaweb and gitweb
647
+ (merged to 'next' on 2015-06-04 at 28daf19)
648
+ + Makefile: silence perl/PM.stamp recipe
649
+ + Makefile: avoid timestamp updates to GIT-BUILD-OPTIONS
650
+ + Makefile: drop dependency between git-instaweb and gitweb
651
652
Build clean-up.
653
671
- Will merge to 'next'.
654
+ Will merge to 'master'.
655
656
657
* ah/send-email-sendmail-alias (2015-05-27) 2 commits
675
- - t9001: write $HOME/, not ~/, to help shells without tilde expansion
676
- - send-email: add sendmail email aliases format
658
+ (merged to 'next' on 2015-06-04 at 9d9bd68)
659
+ + t9001: write $HOME/, not ~/, to help shells without tilde expansion
660
+ + send-email: add sendmail email aliases format
661
(this branch is used by es/send-email-sendmail-alias.)
662
663
"git send-email" learned the alias file format used by the sendmail
664
program (in an abbreviated form).
665
682
- Will merge to 'next'.
683
-
684
-
685
-* bc/object-id (2015-05-25) 56 commits
686
- (merged to 'next' on 2015-05-26 at 8d9f645)
687
- + struct ref_lock: convert old_sha1 member to object_id
688
- + warn_if_dangling_symref(): convert local variable "junk" to object_id
689
- + each_ref_fn_adapter(): remove adapter
690
- + rev_list_insert_ref(): remove unneeded arguments
691
- + rev_list_insert_ref_oid(): new function, taking an object_oid
692
- + mark_complete(): remove unneeded arguments
693
- + mark_complete_oid(): new function, taking an object_oid
694
- + clear_marks(): rewrite to take an object_id argument
695
- + mark_complete(): rewrite to take an object_id argument
696
- + send_ref(): convert local variable "peeled" to object_id
697
- + upload-pack: rewrite functions to take object_id arguments
698
- + find_symref(): convert local variable "unused" to object_id
699
- + find_symref(): rewrite to take an object_id argument
700
- + write_one_ref(): rewrite to take an object_id argument
701
- + write_refs_to_temp_dir(): convert local variable sha1 to object_id
702
- + submodule: rewrite to take an object_id argument
703
- + shallow: rewrite functions to take object_id arguments
704
- + handle_one_ref(): rewrite to take an object_id argument
705
- + add_info_ref(): rewrite to take an object_id argument
706
- + handle_one_reflog(): rewrite to take an object_id argument
707
- + register_replace_ref(): rewrite to take an object_id argument
708
- + remote: rewrite functions to take object_id arguments
709
- + add_one_ref(): rewrite to take an object_id argument
710
- + string_list_add_one_ref(): rewrite to take an object_id argument
711
- + add_ref_decoration(): convert local variable original_sha1 to object_id
712
- + add_ref_decoration(): rewrite to take an object_id argument
713
- + show_head_ref(): convert local variable "unused" to object_id
714
- + http-backend: rewrite to take an object_id argument
715
- + append_similar_ref(): rewrite to take an object_id argument
716
- + builtin/show-ref: rewrite to take an object_id argument
717
- + show_ref(): convert local variable peeled to object_id
718
- + builtin/show-ref: rewrite to use object_id
719
- + fsck: change functions to use object_id
720
- + cmd_show_branch(): fix error message
721
- + builtin/show-branch: rewrite functions to work with object_id
722
- + append_one_rev(): rewrite to work with object_id
723
- + builtin/show-branch: rewrite functions to take object_id arguments
724
- + append_matching_ref(): rewrite to take an object_id argument
725
- + show_reference(): rewrite to take an object_id argument
726
- + builtin/remote: rewrite functions to take object_id arguments
727
- + add_branch_for_removal(): don't set "util" field of string_list entries
728
- + add_branch_for_removal(): rewrite to take an object_id argument
729
- + builtin/reflog: rewrite ref functions to take an object_id argument
730
- + show_ref_cb(): rewrite to take an object_id argument
731
- + builtin/pack-objects: rewrite to take an object_id argument
732
- + name_ref(): rewrite to take an object_id argument
733
- + grab_single_ref(): rewrite to take an object_id argument
734
- + builtin/fetch: rewrite to take an object_id argument
735
- + get_name(): rewrite to take an object_id argument
736
- + add_pending_uninteresting_ref(): rewrite to take an object_id argument
737
- + append_ref(): rewrite to take an object_id argument
738
- + register_ref(): rewrite to take an object_id argument
739
- + handle_one_ref(): rewrite to take an object_id argument
740
- + builtin/rev-parse: rewrite to take an object_id argument
741
- + each_ref_fn: change to take an object_id parameter
742
- + refs: convert struct ref_entry to use struct object_id
743
-
744
- for_each_ref() callback functions were taught to name the objects
745
- not with "unsigned char sha1[20]" but with "struct object_id".
746
-
666
Will merge to 'master'.
667
668
@@ -761,21 +680,6 @@ of the repositories listed at
680
Will merge to 'master'.
681
682
764
-* ld/p4-editor-multi-words (2015-05-26) 3 commits
765
- (merged to 'next' on 2015-05-28 at a368a47)
766
- + git-p4: tests: use test-chmtime in place of touch
767
- + git-p4: fix handling of multi-word P4EDITOR
768
- + git-p4: add failing test for P4EDITOR handling
769
-
770
- Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
771
- command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
772
- did not let the shell interpolate the contents of the environment
773
- variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
774
- Make it in line with the rest of Git, as well as with Perforce.
775
-
776
- Will merge to 'master'.
777
-
778
-
683
* pt/pull-tests (2015-05-29) 8 commits
684
(merged to 'next' on 2015-06-01 at c98370b)
685
+ t5520: check reflog action in fast-forward merge
@@ -799,32 +703,6 @@ of the repositories listed at
703
Still an early WIP
704
705
802
-* jk/at-push-sha1 (2015-05-22) 16 commits
803
- (merged to 'next' on 2015-05-26 at d9d342f)
804
- + for-each-ref: accept "%(push)" format
805
- + for-each-ref: use skip_prefix instead of starts_with
806
- + sha1_name: implement @{push} shorthand
807
- + sha1_name: refactor interpret_upstream_mark
808
- + sha1_name: refactor upstream_mark
809
- + remote.c: add branch_get_push
810
- + remote.c: return upstream name from stat_tracking_info
811
- + remote.c: untangle error logic in branch_get_upstream
812
- + remote.c: report specific errors from branch_get_upstream
813
- + remote.c: introduce branch_get_upstream helper
814
- + remote.c: hoist read_config into remote_get_1
815
- + remote.c: provide per-branch pushremote name
816
- + remote.c: hoist branch.*.remote lookup out of remote_get_1
817
- + remote.c: drop "remote" pointer from "struct branch"
818
- + remote.c: refactor setup of branch->merge list
819
- + remote.c: drop default_remote_name variable
820
-
821
- Introduce <branch>@{push} short-hand to denote the remote-tracking
822
- branch that tracks the branch at the remote the <branch> would be
823
- pushed to.
824
-
825
- Will merge to 'master'.
826
-
827
-
706
* ee/clean-remove-dirs (2015-04-26) 5 commits
707
- clean: improve performance when removing lots of directories
708
- p7300: add performance tests for clean