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