What's cooking (2016/04 #06)

Junio C Hamano committed Apr 21, 2016 at 15:19 UTC 2ec49a1b3f8519e2be012c774ae8623ae0fca162
1 file changed +261 -340
whats-cooking.txt
+261 -340
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Apr 2016, #05; Mon, 18)
3 +Subject: What's cooking in git.git (Apr 2016, #06; Thu, 21)
4 X-master-at: e6ac6e1f7d54584c2b03f073b5f329a37f4a9561
5 -X-next-at: c82888d429ec9129c13a7b821f0fb8d1c6d77bff
5 +X-next-at: 1352ede9d7e10ec5ebc541fb841397c8b165343a
6
7 -What's cooking in git.git (Apr 2016, #05; Mon, 18)
7 +What's cooking in git.git (Apr 2016, #06; Thu, 21)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,8 +12,7 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -The 'master' branch now has the third batch of topics of this
16 -cycle.
15 +The 'master' branch now has the fifth batch of topics of this cycle.
16
17 There are a handful of topics that are stuck; they are marked as
18 "Needs review", "Needs an Ack", etc. in the following list.
@@ -24,310 +23,199 @@ of the repositories listed at
23 http://git-blame.blogspot.com/p/git-public-repositories.html
24
25 --------------------------------------------------
27 -[Graduated to "master"]
28 -
29 -* ak/use-hashmap-iter-first-in-submodule-config (2016-03-23) 1 commit
30 - (merged to 'next' on 2016-04-06 at 2aab890)
31 - + submodule-config: use hashmap_iter_first()
32 -
33 - Minor code cleanup.
34 -
35 -
36 -* cc/apply (2016-04-01) 4 commits
37 - (merged to 'next' on 2016-04-06 at 2e23c44)
38 - + builtin/apply: free patch when parse_chunk() fails
39 - + builtin/apply: handle parse_binary() failure
40 - + apply: remove unused call to free() in gitdiff_{old,new}name()
41 - + builtin/apply: get rid of useless 'name' variable
42 -
43 - Minor code clean-up.
44 -
45 -
46 -* ep/trace-doc-sample-fix (2016-04-05) 1 commit
47 - (merged to 'next' on 2016-04-06 at 0df7357)
48 - + api-trace.txt: fix typo
49 -
50 - Fix a typo in an example in the trace API documentation.
51 -
52 -
53 -* es/format-patch-doc-hide-no-patch (2016-04-04) 1 commit
54 - (merged to 'next' on 2016-04-06 at 25d79bb)
55 - + git-format-patch.txt: don't show -s as shorthand for multiple options
56 -
57 - "git format-patch --help" showed `-s` and `--no-patch` as if these
58 - are valid options to the command. We already hide `--patch` option
59 - from the documentation, because format-patch is about showing the
60 - diff, and the documentation now hides these options as well.
61 -
62 -
63 -* jc/makefile-redirection-stderr (2016-04-05) 1 commit
64 - (merged to 'next' on 2016-04-06 at e3f2ded)
65 - + Makefile: fix misdirected redirections
66 -
67 - A minor fix in the Makefile.
68 -
69 -
70 -* jk/branch-shortening-funny-symrefs (2016-04-04) 1 commit
71 - (merged to 'next' on 2016-04-06 at 1a3f8be)
72 - + branch: fix shortening of non-remote symrefs
73 -
74 - A change back in version 2.7 to "git branch" broke display of a
75 - symbolic ref in a non-standard place in the refs/ hierarchy (we
76 - expect symbolic refs to appear in refs/remotes/*/HEAD to point at
77 - the primary branch the remote has, and as .git/HEAD to point at the
78 - branch we locally checked out).
79 -
80 - Will merge down to maint-2.7.
81 -
82 -
83 -* jk/check-repository-format (2016-03-11) 10 commits
84 - (merged to 'next' on 2016-04-06 at a0dada0)
85 - + verify_repository_format: mark messages for translation
86 - + setup: drop repository_format_version global
87 - + setup: unify repository version callbacks
88 - + init: use setup.c's repo version verification
89 - + setup: refactor repo format reading and verification
90 - + config: drop git_config_early
91 - + check_repository_format_gently: stop using git_config_early
92 - + lazily load core.sharedrepository
93 - + wrap shared_repository global in get/set accessors
94 - + setup: document check_repository_format()
95 - (this branch is used by dt/pre-refs-backend.)
96 -
97 - The repository set-up sequence has been streamlined (the biggest
98 - change is that there is no longer git_config_early()), so that we
99 - do not attempt to look into refs/* when we know we do not have a
100 - Git repository.
101 -
102 -
103 -* jn/mergetools-examdiff (2016-04-04) 2 commits
104 - (merged to 'next' on 2016-04-06 at 819e858)
105 - + mergetools: add support for ExamDiff
106 - + mergetools: create mergetool_find_win32_cmd() helper function for winmerge
107 -
108 - "git mergetools" learned to drive ExamDiff.
109 -
110 -
111 -* js/mingw-tests-2.8 (2016-04-04) 1 commit
112 - (merged to 'next' on 2016-04-06 at f85a013)
113 - + Windows: shorten code by re-using convert_slashes()
114 -
115 - Code clean-up.
116 -
117 -
118 -* kn/for-each-tag-branch (2016-03-30) 1 commit
119 - (merged to 'next' on 2016-04-06 at 4595ad3)
120 - + for-each-ref: fix description of '--contains' in manpage
121 -
122 - A minor documentation update.
123 -
124 -
125 -* ky/branch-d-worktree (2016-03-29) 1 commit
126 - (merged to 'next' on 2016-04-06 at 00f9bff)
127 - + branch -d: refuse deleting a branch which is currently checked out
128 -
129 - When "git worktree" feature is in use, "git branch -d" allowed
130 - deletion of a branch that is checked out in another worktree
131 -
132 -
133 -* ky/branch-m-worktree (2016-04-08) 3 commits
134 - (merged to 'next' on 2016-04-08 at b673b5e)
135 - + set_worktree_head_symref(): fix error message
136 - (merged to 'next' on 2016-04-06 at e7b285c)
137 - + branch -m: update all per-worktree HEADs
138 - + refs: add a new function set_worktree_head_symref
139 -
140 - When "git worktree" feature is in use, "git branch -m" renamed a
141 - branch that is checked out in another worktree without adjusting
142 - the HEAD symbolic ref for the worktree.
26 +[New Topics]
27
28 +* jd/p4-jobs-in-commit (2016-04-19) 2 commits
29 + - git-p4: add P4 jobs to git commit message
30 + - git-p4: clean-up code style in tests
31
145 -* lt/pretty-expand-tabs (2016-04-04) 4 commits
146 - (merged to 'next' on 2016-04-06 at 186ac2a)
147 - + pretty: test --expand-tabs
148 - + pretty: allow tweaking tabwidth in --expand-tabs
149 - + pretty: enable --expand-tabs by default for selected pretty formats
150 - + pretty: expand tabs in indented logs to make things line up properly
32 + "git p4" learned to record P4 jobs in Git commit that imports from
33 + the history in Perforce.
34
152 - When "git log" shows the log message indented by 4-spaces, the
153 - remainder of a line after a HT does not align in the way the author
154 - originally intended. The command now expands tabs by default in
155 - such a case, and allows the users to override it with a new option,
156 - '--no-expand-tabs'.
35 + Will merge to 'next'.
36
37
159 -* mg/complete-cherry-mark-to-log (2016-04-05) 1 commit
160 - (merged to 'next' on 2016-04-06 at 3002be6)
161 - + completion: complete --cherry-mark for git log
38 +* js/replace-edit-use-editor-configuration (2016-04-20) 1 commit
39 + - replace --edit: respect core.editor
40
163 - The completion scripts (in contrib/) did not include the
164 - "--cherry-mark" option when completing "git log <HT>".
41 + "git replace -e" did not honour "core.editor" configuration.
42
43 + Will merge to 'next'.
44
167 -* mj/pull-rebase-autostash (2016-04-04) 9 commits
168 - (merged to 'next' on 2016-04-06 at b4e4f31)
169 - + t5520: test --[no-]autostash with pull.rebase=true
170 - + t5520: reduce commom lines of code
171 - + t5520: factor out common "failing autostash" code
172 - + t5520: factor out common "successful autostash" code
173 - + t5520: use better test to check stderr output
174 - + t5520: ensure consistent test conditions
175 - + t5520: use consistent capitalization in test titles
176 - + pull --rebase: add --[no-]autostash flag
177 - + git-pull.c: introduce git_pull_config()
45
179 - "git pull --rebase" learned "--[no-]autostash" option, so that
180 - the rebase.autostash configuration variable set to true can be
181 - overridden from the command line.
46 +* ls/p4-lfs (2016-04-19) 2 commits
47 + - git-p4: fix Git LFS pointer parsing
48 + - travis-ci: update Git-LFS and P4 to the latest version
49
50 + Recent update to Git LFS broke "git p4" by changing the output from
51 + its "lfs pointer" subcommand.
52
184 -* rt/completion-help (2016-03-24) 2 commits
185 - (merged to 'next' on 2016-04-06 at 8c3ee08)
186 - + completion: add 'revisions' and 'everyday' to 'git help'
187 - + completion: add option '--guides' to 'git help'
53
189 - Shell completion (in contrib/) updates.
54 +* sb/mv-submodule-fix (2016-04-19) 1 commit
55 + - mv: allow moving nested submodules
56
57 + "git mv old new" did not adjust the path for a submodule that lives
58 + as a subdirectory inside old/ directory correctly.
59
192 -* rt/rebase-i-shorten-stop-report (2016-03-28) 1 commit
193 - (merged to 'next' on 2016-04-06 at 7a766b7)
194 - + rebase-i: print an abbreviated hash when stop for editing
60 + Will merge to 'next'.
61
196 - The commit object name reported when "rebase -i" stops has been
197 - shortened.
62
63 +* tb/convert-eol-autocrlf (2016-04-19) 4 commits
64 + - convert.c: ident + core.autocrlf didn't work
65 + - t0027: test cases for combined attributes
66 + - convert: allow core.autocrlf=input and core.eol=crlf
67 + - t0027: avoid false "unchanged" due to lstat() matching after a change
68
200 -* rz/worktree-no-checkout (2016-03-29) 1 commit
201 - (merged to 'next' on 2016-04-06 at e725216)
202 - + worktree: add: introduce --checkout option
69 + Setting core.autocrlf to 'input' and core.eol to 'crlf' used to be
70 + rejected, but because the code gives precedence to core.autcrlf,
71 + there is no need to, hence we no longer reject the combination.
72
204 - "git worktree add" can be given "--no-checkout" option to only
205 - create an empty worktree without checking out the files.
73 + Will merge to 'next'.
74
75
208 -* sb/misc-cleanups (2016-04-01) 4 commits
209 - (merged to 'next' on 2016-04-06 at 4e63691)
210 - + credential-cache, send_request: close fd when done
211 - + bundle: don't leak an fd in case of early return
212 - + abbrev_sha1_in_line: don't leak memory
213 - + notes: don't leak memory in git_config_get_notes_strategy
76 +* bc/object-id (2016-04-19) 6 commits
77 + - match-trees: convert several leaf functions to use struct object_id
78 + - tree-walk: convert tree_entry_extract() to use struct object_id
79 + - struct name_entry: use struct object_id instead of unsigned char sha1[20]
80 + - match-trees: convert shift_tree() and shift_tree_by() to use object_id
81 + - test-match-trees: convert to use struct object_id
82 + - sha1-name: introduce a get_oid() function
83
215 - Assorted minor clean-ups.
84 + Will be rerolled.
85 + ($gmane/291950)
86
87
218 -* sg/diff-multiple-identical-renames (2016-03-30) 1 commit
219 - (merged to 'next' on 2016-04-06 at ac19e48)
220 - + diffcore: fix iteration order of identical files during rename detection
88 +* ep/http-curl-trace (2016-04-20) 3 commits
89 + - git.txt: document the new GIT_TRACE_CURL environment variable
90 + - imap-send.c: introduce the GIT_TRACE_CURL enviroment variable
91 + - http.c: implement the GIT_TRACE_CURL environment variable
92
222 - "git diff -M" used to work better when two originally identical
223 - files A and B got renamed to X/A and X/B by pairing A to X/A and B
224 - to X/B, but this was broken in the 2.0 timeframe.
93 + HTTP transport gained an option to produce more detailed debugging
94 + trace.
95
96 + Still under discussion.
97 + ($gmane/292074)
98
227 -* sk/send-pack-all-fix (2016-03-31) 1 commit
228 - (merged to 'next' on 2016-04-06 at 31e1e1b)
229 - + git-send-pack: fix --all option when used with directory
99
231 - "git send-pack --all <there>" was broken when its command line
232 - option parsing was written in the 2.6 timeframe.
100 +* nd/worktree-various-heads (2016-04-20) 13 commits
101 + - branch: do not rename a branch under bisect or rebase
102 + - worktree.c: test if branch being bisected in another worktree
103 + - wt-status.c: split bisect detection out of wt_status_get_state()
104 + - worktree.c: test if branch being rebased in another worktree
105 + - worktree.c: avoid referencing to worktrees[i] multiple times
106 + - wt-status.c: make wt_status_check_rebase() work on any worktree
107 + - SQUASH???
108 + - wt-status.c: split rebase detection out of wt_status_get_state()
109 + - path.c: refactor and add worktree_git_path()
110 + - worktree.c: mark current worktree
111 + - worktree.c: make find_shared_symref() return struct worktree *
112 + - worktree.c: store "id" instead of "git_dir"
113 + - path.c: add git_common_path() and strbuf_git_common_path()
114
115 + The experimental "multiple worktree" feature gains more safety to
116 + forbid operations on a branch that is checked out or being actively
117 + worked on elsewhere, by noticing that e.g. it is being rebased.
118
235 -* tb/blame-force-read-cache-to-workaround-safe-crlf (2016-04-05) 1 commit
236 - (merged to 'next' on 2016-04-06 at 263bba8)
237 - + correct blame for files commited with CRLF
119 + Being reviewed.
120 + ($gmane/292050)
121
239 - When running "git blame $path" with unnormalized data in the index
240 - for the path, the data in the working tree was blamed, even though
241 - "git add" would not have changed what is already in the index, due
242 - to "safe crlf" that disables the line-end conversion. It has been
243 - corrected.
122
245 ---------------------------------------------------
246 -[New Topics]
123 +* bw/rebase-merge-entire-branch (2016-04-20) 1 commit
124 + - git-rebase--merge: don't include absent parent as a base
125
248 -* en/merge-fixes (2016-04-12) 2 commits
249 - - merge-recursive: do not check working copy when creating a virtual merge base
250 - - merge-recursive: remove duplicate code
251 -
252 - "merge-recursive" strategy incorrectly checked if a path that is
253 - involved in its internal merge exists in the working tree.
126 + "git rebase -m" could be asked to rebase an entire branch starting
127 + from the root, but failed by assuming that there always is a parent
128 + commit to the first commit on the branch.
129
130 Will merge to 'next'.
131
132
258 -* en/merge-octopus-fix (2016-04-12) 2 commits
259 - (merged to 'next' on 2016-04-13 at 600b479)
260 - + merge-octopus: abort if index does not match HEAD
261 - + t6044: new merge testcases for when index doesn't match HEAD
262 -
263 - "merge-octopus" strategy did not ensure that the index is clean
264 - when merge begins.
265 -
266 - Will merge to 'master'.
133 +* jk/push-client-deadlock-fix (2016-04-20) 5 commits
134 + - t5504: drop sigpipe=ok from push tests
135 + - fetch-pack: isolate sigpipe in demuxer thread
136 + - send-pack: isolate sigpipe in demuxer thread
137 + - run-command: teach async threads to ignore SIGPIPE
138 + - send-pack: close demux pipe before finishing async process
139
140 + "git push" from a corrupt repository that attempts to push a large
141 + number of refs deadlocked waiting for a rejection from the
142 + receiving end that will never come.
143
269 -* en/merge-trivial-fix (2016-04-12) 2 commits
270 - (merged to 'next' on 2016-04-13 at fb3ea86)
271 - + builtin/merge.c: fix a bug with trivial merges
272 - + t7605: add a testcase demonstrating a bug with trivial merges
144 + Will merge to 'next'.
145
274 - When "git merge" notices that the merge can be resolved purely at
275 - the tree level (without having to merge blobs) and the resulting
276 - tree happens to already exist in the object store, it forgot to
277 - update the index, which lead to an inconsistent state for later
278 - operations.
146
280 - Will merge to 'master'.
147 +* jc/merge-refuse-new-root (2016-04-21) 2 commits
148 + - pull: pass --allow-unrelated-histories to "git merge"
149 + - t3033: avoid 'ambiguous refs' warning
150
151 + "git pull" has been taught to pass --allow-unrelated-histories
152 + option to underlying "git merge".
153
283 -* jc/fsck-nul-in-commit (2016-04-14) 2 commits
284 - - fsck: detect and warn a commit with embedded NUL
285 - - fsck_commit_buffer(): do not special case the last validation
154 + Will merge to 'next'.
155 +
156
287 - "git fsck" learned to catch NUL byte in a commit object as
288 - potential error and warn.
157 +--------------------------------------------------
158 +[Stalled]
159
160 +* ar/diff-args-osx-precompose (2016-04-05) 1 commit
161 + - diff: run arguments through precompose_argv
162
291 -* jc/ll-merge-internal (2016-04-14) 2 commits
292 - - ll-merge: use a longer conflict marker for internal merge
293 - - ll-merge: fix typo in comment
163 + Many commands normalize command line arguments from NFD to NFC
164 + variant of UTF-8 on OSX, but commands in the "diff" family did
165 + not, causing "git diff $path" to complain that no such path is
166 + known to Git. They have been taught to do the normalization.
167
295 - RFC.
168 + Will be rerolled?
169 + ($gmane/290724)
170
171
298 -* jk/diff-compact-heuristic (2016-04-18) 2 commits
299 - - xdiff: implement empty line chunk heuristic
300 - - xdiff: add recs_match helper function
172 +* nd/shallow-deepen (2016-04-13) 26 commits
173 + - fetch, upload-pack: --deepen=N extends shallow boundary by N commits
174 + - upload-pack: add get_reachable_list()
175 + - upload-pack: split check_unreachable() in two, prep for get_reachable_list()
176 + - t5500, t5539: tests for shallow depth excluding a ref
177 + - clone: define shallow clone boundary with --shallow-exclude
178 + - fetch: define shallow boundary with --shallow-exclude
179 + - upload-pack: support define shallow boundary by excluding revisions
180 + - refs: add expand_ref()
181 + - t5500, t5539: tests for shallow depth since a specific date
182 + - clone: define shallow clone boundary based on time with --shallow-since
183 + - fetch: define shallow boundary with --shallow-since
184 + - upload-pack: add deepen-since to cut shallow repos based on time
185 + - shallow.c: implement a generic shallow boundary finder based on rev-list
186 + - fetch-pack: use a separate flag for fetch in deepening mode
187 + - fetch-pack.c: mark strings for translating
188 + - fetch-pack: use a common function for verbose printing
189 + - fetch-pack: use skip_prefix() instead of starts_with()
190 + - upload-pack: move rev-list code out of check_non_tip()
191 + - upload-pack: tighten number parsing at "deepen" lines
192 + - upload-pack: use skip_prefix() instead of starts_with()
193 + - upload-pack: move "unshallow" sending code out of deepen()
194 + - upload-pack: remove unused variable "backup"
195 + - upload-pack: move "shallow" sending code out of deepen()
196 + - upload-pack: move shallow deepen code out of receive_needs()
197 + - transport-helper.c: refactor set_helper_option()
198 + - remote-curl.c: convert fetch_git() to use argv_array
199
200 + The existing "git fetch --depth=<n>" option was hard to use
201 + correctly when making the history of an existing shallow clone
202 + deeper. A new option, "--deepen=<n>", has been added to make this
203 + easier to use. "git clone" also learned "--shallow-since=<date>"
204 + and "--shallow-exclude=<tag>" options to make it easier to specify
205 + "I am interested only in the recent N months worth of history" and
206 + "Give me only the history since that version".
207
303 -* nd/test-helpers (2016-04-15) 2 commits
304 - - test helpers: move test-* to t/helper/ subdirectory
305 - - Makefile: clean *.o files we create
208 + Needs review.
209
307 - Sources to many test helper binaries (and the generated helpers)
308 - have been moved to t/helper/ subdirectory to reduce clutter at the
309 - top level of the tree.
210
311 ---------------------------------------------------
312 -[Stalled]
211 +* sb/clone-shallow-passthru (2016-04-13) 3 commits
212 + - clone: add t5614 to test cloning submodules with shallowness involved
213 + - clone: add `--shallow-submodules` flag
214 + - submodule clone: pass along `local` option
215
314 -* tb/safe-crlf-output-fix (2016-04-01) 7 commits
315 - . convert.c: more safer crlf handling with text attribute
316 - . correct blame for files commited with CRLF
317 - . convert: unify the "auto" handling of CRLF
318 - . t0027: test cases for combined attributes
319 - . convert: allow core.autocrlf=input and core.eol=crlf
320 - . convert.c: stream and early out
321 - . read-cache: factor out get_sha1_from_index() helper
322 -
323 - The "safe CRLF" facility disables line-end conversion from CRLF to
324 - LF when checking in if the blob registered to the index already
325 - contains CR, but some codepaths like "git blame" did not know this,
326 - and instead assumed that only the configuration and attribute
327 - settings determined how the data from the working tree is converted.
216 + "git clone" learned "--shallow-submodules" option.
217
329 - Will be rerolled.
330 - ($gmane/290637)
218 + Needs review.
219
220
221 * da/user-useconfigonly (2016-04-01) 2 commits
@@ -484,63 +372,104 @@ of the repositories listed at
372 --------------------------------------------------
373 [Cooking]
374
487 -* sb/submodule-init (2016-04-16) 4 commits
488 - - submodule: port init from shell to C
489 - - submodule: port resolve_relative_url from shell to C
490 - - Merge branch 'sb/submodule-path-misc-bugs' into sb/submodule-init
491 - - Merge branch 'sb/submodule-helper-clone-regression-fix' into sb/submodule-init
492 - (this branch uses sb/submodule-helper-clone-regression-fix and sb/submodule-path-misc-bugs.)
375 +* pb/commit-verbose-config (2016-04-19) 6 commits
376 + - commit: add a commit.verbose config variable
377 + - t7507-commit-verbose: improve test coverage by testing number of diffs
378 + - parse-options.c: make OPTION_COUNTUP respect "unspecified" values
379 + - t0040-parse-options: improve test coverage
380 + - test-parse-options: print quiet as integer
381 + - t0040-test-parse-options.sh: fix style issues
382
494 - Update of "git submodule" to move pieces of logic to C continues.
383 + "git commit" learned to pay attention to "commit.verbose"
384 + configuration variable and act as if "--verbose" option was
385 + given from the command line.
386
387 + Is this going to be rerolled?
388 + ($gmane/291382)
389
497 -* nd/shallow-deepen (2016-04-13) 26 commits
498 - - fetch, upload-pack: --deepen=N extends shallow boundary by N commits
499 - - upload-pack: add get_reachable_list()
500 - - upload-pack: split check_unreachable() in two, prep for get_reachable_list()
501 - - t5500, t5539: tests for shallow depth excluding a ref
502 - - clone: define shallow clone boundary with --shallow-exclude
503 - - fetch: define shallow boundary with --shallow-exclude
504 - - upload-pack: support define shallow boundary by excluding revisions
505 - - refs: add expand_ref()
506 - - t5500, t5539: tests for shallow depth since a specific date
507 - - clone: define shallow clone boundary based on time with --shallow-since
508 - - fetch: define shallow boundary with --shallow-since
509 - - upload-pack: add deepen-since to cut shallow repos based on time
510 - - shallow.c: implement a generic shallow boundary finder based on rev-list
511 - - fetch-pack: use a separate flag for fetch in deepening mode
512 - - fetch-pack.c: mark strings for translating
513 - - fetch-pack: use a common function for verbose printing
514 - - fetch-pack: use skip_prefix() instead of starts_with()
515 - - upload-pack: move rev-list code out of check_non_tip()
516 - - upload-pack: tighten number parsing at "deepen" lines
517 - - upload-pack: use skip_prefix() instead of starts_with()
518 - - upload-pack: move "unshallow" sending code out of deepen()
519 - - upload-pack: remove unused variable "backup"
520 - - upload-pack: move "shallow" sending code out of deepen()
521 - - upload-pack: move shallow deepen code out of receive_needs()
522 - - transport-helper.c: refactor set_helper_option()
523 - - remote-curl.c: convert fetch_git() to use argv_array
390
525 - The existing "git fetch --depth=<n>" option was hard to use
526 - correctly when making the history of an existing shallow clone
527 - deeper. A new option, "--deepen=<n>", has been added to make this
528 - easier to use. "git clone" also learned "--shallow-since=<date>"
529 - and "--shallow-exclude=<tag>" options to make it easier to specify
530 - "I am interested only in the recent N months worth of history" and
531 - "Give me only the history since that version".
391 +* en/merge-fixes (2016-04-12) 2 commits
392 + - merge-recursive: do not check working copy when creating a virtual merge base
393 + - merge-recursive: remove duplicate code
394
533 - Needs review.
395 + "merge-recursive" strategy incorrectly checked if a path that is
396 + involved in its internal merge exists in the working tree.
397
398 + Will merge to 'next'.
399
536 -* sb/clone-shallow-passthru (2016-04-13) 3 commits
537 - - clone: add t5614 to test cloning submodules with shallowness involved
538 - - clone: add `--shallow-submodules` flag
539 - - submodule clone: pass along `local` option
400
541 - "git clone" learned "--shallow-submodules" option.
401 +* en/merge-octopus-fix (2016-04-12) 2 commits
402 + (merged to 'next' on 2016-04-13 at 600b479)
403 + + merge-octopus: abort if index does not match HEAD
404 + + t6044: new merge testcases for when index doesn't match HEAD
405
543 - Needs review.
406 + "merge-octopus" strategy did not ensure that the index is clean
407 + when merge begins.
408 +
409 + Will merge to 'master'.
410 +
411 +
412 +* en/merge-trivial-fix (2016-04-12) 2 commits
413 + (merged to 'next' on 2016-04-13 at fb3ea86)
414 + + builtin/merge.c: fix a bug with trivial merges
415 + + t7605: add a testcase demonstrating a bug with trivial merges
416 +
417 + When "git merge" notices that the merge can be resolved purely at
418 + the tree level (without having to merge blobs) and the resulting
419 + tree happens to already exist in the object store, it forgot to
420 + update the index, which lead to an inconsistent state for later
421 + operations.
422 +
423 + Will merge to 'master'.
424 +
425 +
426 +* jc/fsck-nul-in-commit (2016-04-14) 2 commits
427 + - fsck: detect and warn a commit with embedded NUL
428 + - fsck_commit_buffer(): do not special case the last validation
429 +
430 + "git fsck" learned to catch NUL byte in a commit object as
431 + potential error and warn.
432 +
433 +
434 +* jc/ll-merge-internal (2016-04-14) 2 commits
435 + - ll-merge: use a longer conflict marker for internal merge
436 + - ll-merge: fix typo in comment
437 +
438 + RFC.
439 +
440 +
441 +* jk/diff-compact-heuristic (2016-04-19) 2 commits
442 + - xdiff: implement empty line chunk heuristic
443 + - xdiff: add recs_match helper function
444 +
445 + Patch output from "git diff" and friends has been tweaked to be
446 + more readable by using a blank line as a strong hint that the
447 + contents before and after it belong to a logically separate unit.
448 +
449 + Will merge to 'next'.
450 +
451 +
452 +* nd/test-helpers (2016-04-15) 2 commits
453 + - test helpers: move test-* to t/helper/ subdirectory
454 + - Makefile: clean *.o files we create
455 +
456 + Sources to many test helper binaries (and the generated helpers)
457 + have been moved to t/helper/ subdirectory to reduce clutter at the
458 + top level of the tree.
459 +
460 + Will merge to 'next'.
461 +
462 +
463 +* sb/submodule-init (2016-04-16) 4 commits
464 + - submodule: port init from shell to C
465 + - submodule: port resolve_relative_url from shell to C
466 + - Merge branch 'sb/submodule-path-misc-bugs' into sb/submodule-init
467 + - Merge branch 'sb/submodule-helper-clone-regression-fix' into sb/submodule-init
468 + (this branch uses sb/submodule-helper-clone-regression-fix and sb/submodule-path-misc-bugs.)
469 +
470 + Update of "git submodule" to move pieces of logic to C continues.
471 +
472 + Will merge to 'next'.
473
474
475 * ad/commit-have-m-option (2016-04-07) 2 commits
@@ -670,7 +599,10 @@ of the repositories listed at
599 UI consistency improvements.
600
601
673 -* va/i18n-misc-updates (2016-04-13) 6 commits
602 +* va/i18n-misc-updates (2016-04-19) 9 commits
603 + - i18n: builtin/pull.c: split strings marked for translation
604 + - i18n: builtin/pull.c: mark placeholders for translation
605 + - i18n: git-parse-remote.sh: mark strings for translation
606 - i18n: branch: move comment for translators
607 - i18n: branch: unmark string for translation
608 - i18n: builtin/rm.c: remove a comma ',' from string
@@ -680,6 +612,8 @@ of the repositories listed at
612
613 Mark several messages for translation.
614
615 + Comments? They looked all sensible to me.
616 +
617
618 * jc/drop-git-spec-in (2016-04-06) 1 commit
619 - Makefile: stop pretending to support rpmbuild
@@ -687,19 +621,7 @@ of the repositories listed at
621 As nobody maintains our in-tree git.spec.in and distros use their
622 own spec file, we stopped pretending that we support "make rpm".
623
690 - Comments?
691 -
692 -
693 -* ar/diff-args-osx-precompose (2016-04-05) 1 commit
694 - - diff: run arguments through precompose_argv
695 -
696 - Many commands normalize command line arguments from NFD to NFC
697 - variant of UTF-8 on OSX, but commands in the "diff" family did
698 - not, causing "git diff $path" to complain that no such path is
699 - known to Git. They have been taught to do the normalization.
700 -
701 - Will be rerolled?
702 - ($gmane/290724)
624 + Will merge to 'next'.
625
626
627 * ew/send-email-readable-message-id (2016-04-06) 1 commit
@@ -712,16 +634,18 @@ of the repositories listed at
634 Will merge to 'master'.
635
636
715 -* st/verify-tag (2016-04-18) 6 commits
637 +* st/verify-tag (2016-04-19) 6 commits
638 - tag -v: verfy directly rather than exec-ing verify-tag
717 - - verify-tag: move verification code to tag.c
718 - - verify-tag: add sha1 argument to verify_tag()
719 - - verify-tag: change variable name for readability
639 + - verify-tag: move tag verification code to tag.c
640 + - verify-tag: prepare verify_tag for libification
641 + - verify-tag: update variable name and type
642 - t7030: test verifying multiple tags
643 - builtin/verify-tag.c: ignore SIGPIPE in gpg-interface
644
723 - Saw review comments on this v6.
724 - Expecting a reroll.
645 + Unify internal logic between "git tag -v" and "git verify-tag"
646 + commands by making one directly call into the other.
647 +
648 + Will merge to 'next'.
649
650
651 * ew/send-email-drop-data-dumper (2016-04-06) 1 commit
@@ -807,20 +731,6 @@ of the repositories listed at
731 ($gmane/291198)
732
733
810 -* pb/commit-verbose-config (2016-04-12) 6 commits
811 - . commit: add a commit.verbose config variable
812 - . t7507-commit-verbose: improve test coverage by testing number of diffs
813 - . parse-options.c: make OPTION_COUNTUP respect "unspecified" values
814 - . t0040-parse-options: improve test coverage
815 - . test-parse-options: print quiet as integer
816 - . t0040-test-parse-options.sh: fix style issues
817 -
818 - "git commit" learned to pay attention to "commit.verbose"
819 - configuration variable and act as if "--verbose" option was
820 - given from the command line.
821 -
822 -
823 -
734 * dt/index-helper (2016-04-14) 16 commits
735 - read-cache: config for waiting for index-helper
736 - index-helper: optionally automatically run
@@ -856,10 +766,21 @@ of the repositories listed at
766
767
768 * ad/cygwin-wants-rename (2015-08-07) 1 commit
859 - - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
769 + (merged to 'next' on 2016-04-19 at 1352ede)
770 + + config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
771 +
772 + On Cygwin, object creation uses the "create a temporary and then
773 + rename it to the final name" pattern, not "create a temporary,
774 + hardlink it to the final name and then unlink the temporary"
775 + pattern.
776
861 - Will hold.
862 - ($gmane/275680).
777 + This is necessary to use Git on Windows shared directories, and is
778 + already enabled for the MinGW and plain Windows builds. It also
779 + has been used in Cygwin packaged versions of Git for quite a while.
780 + See http://thread.gmane.org/gmane.comp.version-control.git/291853
781 +
782 + Will merge to 'master'.
783 + ($gmane/275680, $gmane/291853).
784
785
786 * jc/rerere-multi (2016-04-06) 11 commits