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