What's cooking (2016/04 #03)

Junio C Hamano committed Apr 7, 2016 at 11:58 UTC 1291402d18707419576aa467b49113bbc06cabfa
1 file changed +676 -728
whats-cooking.txt
+676 -728
@@ -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, #02; Mon, 4)
4 -X-master-at: 6a269e52a5d0c82567c5b39cc194cc90f9fa9156
5 -X-next-at: a49ec4a3520e76c257792c73d6347383649ee5c2
3 +Subject: What's cooking in git.git (Apr 2016, #03; Thu, 7)
4 +X-master-at: 72d917a7f9a5123ef7c0d6db306bbc0d385227e2
5 +X-next-at: 209d99dbd5bc1cff6fe9618b5ae6dc65a6d421d9
6
7 -What's cooking in git.git (Apr 2016, #02; Mon, 4)
7 +What's cooking in git.git (Apr 2016, #03; Thu, 7)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,10 +12,8 @@ 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 tip of 'next' has been rewound, the first maintenance release
16 -v2.8.1 that most everybody can safely ignore has been tagged, and
17 -the first batch of topics that have been cooking in 'next' during
18 -the pre-2.8 freeze period are now in 'master'.
15 +The 'master' branch now has the second batch of topics of this
16 +cycle.
17
18 There are a handful of topics that are stuck; they are marked as
19 "Needs review", "Needs an Ack", etc. in the following list.
@@ -25,393 +23,285 @@ of the repositories listed at
23
24 http://git-blame.blogspot.com/p/git-public-repositories.html
25
28 ---------------------------------------------------
29 -[New Topics]
30 -
31 -* es/format-patch-doc-hide-no-patch (2016-04-04) 1 commit
32 - - git-format-patch.txt: don't show -s as shorthand for multiple options
33 -
34 - "git format-patch --help" showed `-s` and `--no-patch` as if these
35 - are valid options to the command. We already hide `--patch` option
36 - from the documentation, because format-patch is about showing the
37 - diff, and the documentation now hides these options as well.
38 -
39 - Will merge to next.
40 -
41 -
42 -* jk/branch-shortening-funny-symrefs (2016-04-04) 1 commit
43 - - branch: fix shortening of non-remote symrefs
44 -
45 - A change back in version 2.7 to "git branch" broke display of a
46 - symbolic refs in a non-standard place in the refs/ hierarchy (we
47 - expect symbolic refs to appear in refs/remotes/*/HEAD to point at
48 - the primary branch the remote has, and as .git/HEAD to point at the
49 - branch we locally checked out).
50 -
51 - Will merge to next.
52 - and later down to maint-2.7.
53 -
26 --------------------------------------------------
27 [Graduated to "master"]
28
57 -* es/test-gpg-tags (2016-03-06) 4 commits
58 - (merged to 'next' on 2016-03-15 at 617119f)
59 - + t6302: skip only signed tags rather than all tests when GPG is missing
60 - + t6302: also test annotated in addition to signed tags
61 - + t6302: normalize names and descriptions of signed tags
62 - + lib-gpg: drop unnecessary "missing GPG" warning
63 -
64 - A test for tags has been restructured so that more parts of it can
65 - easily be run on a platform without a working GnuPG.
29 +* cc/doc-recommend-performance-trace-to-file (2016-03-07) 1 commit
30 + (merged to 'next' on 2016-04-04 at 26f94c0)
31 + + Documentation: talk about pager in api-trace.txt
32
33 + Originally merged to 'next' on 2016-03-23
34
68 -* gf/fetch-pack-direct-object-fetch (2016-03-05) 2 commits
69 - (merged to 'next' on 2016-03-06 at 5628860)
70 - + fetch-pack: update the documentation for "<refs>..." arguments
71 - (merged to 'next' on 2016-03-04 at 49199e0)
72 - + fetch-pack: fix object_id of exact sha1
35 + A minor documentation update.
36
74 - Fetching of history by naming a commit object name directly didn't
75 - work across remote-curl transport.
37
38 +* da/mergetool-delete-delete-conflict (2016-03-10) 2 commits
39 + (merged to 'next' on 2016-04-04 at 34e645f)
40 + + mergetool: honor tempfile configuration when resolving delete conflicts
41 + + mergetool: support delete/delete conflicts
42
78 -* jc/index-pack (2016-03-03) 2 commits
79 - (merged to 'next' on 2016-03-15 at 42efaa7)
80 - + index-pack: add a helper function to derive .idx/.keep filename
81 - + Merge branch 'jc/maint-index-pack-keep' into jc/index-pack
82 - (this branch is used by jc/bundle; uses jc/maint-index-pack-keep; is tangled with jc/index-pack-clone-bundle.)
43 + Originally merged to 'next' on 2016-03-15
44
84 - Code clean-up.
45 + "git mergetool" did not work well with conflicts that both sides
46 + deleted.
47
48
87 -* jc/maint-index-pack-keep (2016-03-03) 1 commit
88 - (merged to 'next' on 2016-03-04 at bc1d37a)
89 - + index-pack: correct --keep[=<msg>]
90 - (this branch is used by jc/bundle, jc/index-pack and jc/index-pack-clone-bundle.)
49 +* jk/credential-cache-comment-exit (2016-03-18) 1 commit
50 + (merged to 'next' on 2016-04-04 at 50427fe)
51 + + credential-cache--daemon: clarify "exit" action semantics
52
92 - "git index-pack --keep[=<msg>] pack-$name.pack" simply did not work.
53 + Originally merged to 'next' on 2016-03-23
54
55 + A code clarification.
56
95 -* jk/add-i-highlight (2016-02-28) 1 commit
96 - (merged to 'next' on 2016-03-04 at 4ac3aa1)
97 - + add--interactive: allow custom diff highlighting programs
57
99 - A new "interactive.diffFilter" configuration can be used to
100 - customize the diff shown in "git add -i" session.
58 +* jk/send-email-rtrim-mailrc-alias (2016-03-18) 1 commit
59 + (merged to 'next' on 2016-04-04 at 4d54956)
60 + + send-email: ignore trailing whitespace in mailrc alias file
61
62 + Originally merged to 'next' on 2016-03-23
63
103 -* jk/config-get-urlmatch (2016-02-28) 3 commits
104 - (merged to 'next' on 2016-03-04 at feeb192)
105 - + Documentation/git-config: fix --get-all description
106 - + Documentation/git-config: use bulleted list for exit codes
107 - + config: fail if --get-urlmatch finds no value
64 + "git send-email" had trouble parsing alias file in mailrc format
65 + when lines in it had trailing whitespaces on them.
66
109 - "git config --get-urlmatch", unlike other variants of the "git
110 - config --get" family, did not signal error with its exit status
111 - when there was no matching configuration.
67
68 +* jk/submodule-c-credential (2016-03-23) 7 commits
69 + (merged to 'next' on 2016-04-04 at 8de8e8c)
70 + + git_config_push_parameter: handle empty GIT_CONFIG_PARAMETERS
71 + + git: submodule honor -c credential.* from command line
72 + + quote: implement sq_quotef()
73 + + submodule: fix segmentation fault in submodule--helper clone
74 + + submodule: fix submodule--helper clone usage
75 + + submodule: check argc count for git submodule--helper clone
76 + + submodule: don't pass empty string arguments to submodule--helper clone
77
114 -* jk/credential-clear-config (2016-02-26) 1 commit
115 - (merged to 'next' on 2016-03-04 at f7b26b7)
116 - + credential: let empty credential specs reset helper list
78 + Originally merged to 'next' on 2016-03-23
79
118 - The credential.helper configuration variable is cumulative and
119 - there is no good way to override it from the command line. As
120 - a special case, giving an empty string as its value now serves
121 - as the signal to clear the values specified in various files.
80 + "git -c credential.<var>=<value> submodule" can now be used to
81 + propagate configuration variables related to credential helper
82 + down to the submodules.
83
84
124 -* jk/getwholeline-getdelim-empty (2016-03-05) 1 commit
125 - (merged to 'next' on 2016-03-15 at e70d4bd)
126 - + strbuf_getwholeline: NUL-terminate getdelim buffer on error
85 +* jk/test-httpd-config-nosystem (2016-03-18) 1 commit
86 + (merged to 'next' on 2016-04-04 at 5fa6274)
87 + + t/lib-httpd: pass through GIT_CONFIG_NOSYSTEM env
88
128 - strbuf_getwholeline() did not NUL-terminate the buffer on certain
129 - corner cases in its error codepath.
89 + Originally merged to 'next' on 2016-03-23
90
91 + The tests that involve running httpd leaked the system-wide
92 + configuration in /etc/gitconfig to the tested environment.
93
132 -* jk/rev-parse-local-env-vars (2016-02-29) 2 commits
133 - (merged to 'next' on 2016-03-04 at a0300d5)
134 - + rev-parse: let some options run outside repository
135 - + t1515: add tests for rev-parse out-of-repo helpers
94
137 - The "--local-env-vars" and "--resolve-git-dir" options of "git
138 - rev-parse" failed to work outside a repository when the command's
139 - option parsing was rewritten in 1.8.5 era.
95 +* jv/merge-nothing-into-void (2016-03-23) 1 commit
96 + (merged to 'next' on 2016-04-04 at aa37405)
97 + + merge: fix NULL pointer dereference when merging nothing into void
98
99 + Originally merged to 'next' on 2016-03-23
100
142 -* jk/startup-info (2016-03-07) 6 commits
143 - (merged to 'next' on 2016-03-15 at eb95e5f)
144 - + use setup_git_directory() in test-* programs
145 - + grep: turn off gitlink detection for --no-index
146 - + mailmap: do not resolve blobs in a non-repository
147 - + remote: don't resolve HEAD in non-repository
148 - + setup: set startup_info->have_repository more reliably
149 - + setup: make startup_info available everywhere
101 + "git merge FETCH_HEAD" dereferenced NULL pointer when merging
102 + nothing into an unborn history (which is arguably unusual usage,
103 + which perhaps was the reason why nobody noticed it).
104
151 - The startup_info data, which records if we are working inside a
152 - repository (among other things), are now uniformly available to Git
153 - subcommand implementations, and Git avoids attempting to touch
154 - references when we are not in a repository.
105
106 +* la/tag-force-signing-annotated-tags (2016-03-22) 1 commit
107 + (merged to 'next' on 2016-04-04 at a49ec4a)
108 + + tag: add the option to force signing of annotated tags
109
157 -* mm/diff-renames-default (2016-02-25) 5 commits
158 - (merged to 'next' on 2016-02-25 at 947c399)
159 - + diff: activate diff.renames by default
160 - + log: introduce init_log_defaults()
161 - + t: add tests for diff.renames (true/false/unset)
162 - + t4001-diff-rename: wrap file creations in a test
163 - + Documentation/diff-config: fix description of diff.renames
110 + Originally merged to 'next' on 2016-03-24
111
165 - The end-user facing Porcelain level commands like "diff" and "log"
166 - now enables the rename detection by default.
112 + "git tag" can create an annotated tag without explicitly given an
113 + "-a" (or "-s") option (i.e. when a tag message is given). A new
114 + configuration variable, tag.forceSignAnnotated, can be used to tell
115 + the command to create signed tag in such a situation.
116
117
169 -* mm/lockfile-error-message (2016-03-01) 2 commits
170 - (merged to 'next' on 2016-03-04 at 04ed7e6)
171 - + lockfile: improve error message when lockfile exists
172 - + lockfile: mark strings for translation
118 +* ls/p4-map-user (2016-03-15) 1 commit
119 + (merged to 'next' on 2016-04-04 at a56b011)
120 + + git-p4: map a P4 user to Git author name and email address
121
122 + Originally merged to 'next' on 2016-03-23
123
175 -* mm/readme-markdown (2016-04-01) 2 commits
176 - - git.spec: use README.md, not README
177 - (merged to 'next' on 2016-03-01 at 81f3858)
178 - + README.md: don't take 'commandname' literally
124 + "git p4" now allows P4 author names to be mapped to Git author
125 + names.
126
180 - The top-level README file has been updated to be more appropriate
181 - for the sign on the front door to welcome new acquaintances to Git
182 - by toning down inside jokes and making it into MarkDown.
127
128 +* pb/t7502-drop-dup (2016-03-11) 1 commit
129 + (merged to 'next' on 2016-04-04 at 4799cad)
130 + + t/t7502 : drop duplicate test
131 + (this branch is used by pb/commit-verbose-config.)
132
185 -* mp/upload-pack-use-embedded-args (2016-02-25) 1 commit
186 - (merged to 'next' on 2016-02-26 at f0a54e5)
187 - + upload-pack: use argv_array for pack_objects
133 + Originally merged to 'next' on 2016-03-15
134
189 - The embedded args argv-array in the child process is used to build
190 - the command line to run pack-objects instead of using a separate
191 - array of strings.
135 + Code clean-up.
136
137
194 -* rj/xdiff-prepare-plug-leak-on-error-codepath (2016-03-04) 2 commits
195 - (merged to 'next' on 2016-03-15 at f72755e)
196 - + xdiff/xprepare: fix a memory leak
197 - + xdiff/xprepare: use the XDF_DIFF_ALG() macro to access flag bits
138 +* sb/clone-t57-t56 (2016-03-16) 1 commit
139 + (merged to 'next' on 2016-04-04 at 5c20247)
140 + + clone tests: rename t57* => t56*
141
199 - A small memory leak in an error codepath has been plugged in xdiff
200 - code.
142 + Originally merged to 'next' on 2016-03-23
143
202 ---------------------------------------------------
203 -[Stalled]
144 + Rename bunch of tests on "git clone" for better organization.
145
205 -* ec/annotate-deleted (2015-11-20) 1 commit
206 - - annotate: skip checking working tree if a revision is provided
146
208 - Usability fix for annotate-specific "<file> <rev>" syntax with deleted
209 - files.
147 +* sb/rebase-x (2016-03-18) 2 commits
148 + (merged to 'next' on 2016-04-04 at feda620)
149 + + t3404: cleanup double empty lines between tests
150 + + rebase: decouple --exec from --interactive
151
211 - Waiting for review.
152 + Originally merged to 'next' on 2016-03-23
153
154 + "git rebase -x" can be used without passing "-i" option.
155
214 -* dg/subtree-rebase-test (2016-01-19) 1 commit
215 - - contrib/subtree: Add a test for subtree rebase that loses commits
156
217 - Reviewed up to v5.
218 - Will be rerolled.
219 - ($gmane/284426)
157 +* sb/submodule-parallel-update (2016-03-01) 10 commits
158 + (merged to 'next' on 2016-04-04 at a0aea8d)
159 + + clone: allow an explicit argument for parallel submodule clones
160 + + submodule update: expose parallelism to the user
161 + + submodule helper: remove double 'fatal: ' prefix
162 + + git submodule update: have a dedicated helper for cloning
163 + + run_processes_parallel: rename parameters for the callbacks
164 + + run_processes_parallel: treat output of children as byte array
165 + + submodule update: direct error message to stderr
166 + + fetching submodules: respect `submodule.fetchJobs` config option
167 + + submodule-config: drop check against NULL
168 + + submodule-config: keep update strategy around
169 + (this branch is used by sb/clone-shallow-passthru and sb/submodule-init.)
170
171 + Originally merged to 'next' on 2016-03-15
172
222 -* js/am-3-merge-recursive-direct (2015-10-12) 2 commits
223 - - am: make a direct call to merge_recursive
224 - - merge_recursive_options: introduce the "gently" flag
173 + A major part of "git submodule update" has been ported to C to take
174 + advantage of the recently added framework to run download tasks in
175 + parallel.
176
226 - The merge_recursive_generic() function has been made a bit safer to
227 - call from inside a process. "git am -3" was taught to make a direct
228 - call to the function when falling back to three-way merge.
177
230 - Being able to make a direct call would be good in general, but as a
231 - performance thing, the change needs to be backed up by numbers.
178 +* ss/commit-squash-msg (2016-03-21) 1 commit
179 + (merged to 'next' on 2016-04-04 at d389f19)
180 + + commit: do not lose SQUASH_MSG contents
181
233 - Needs review.
182 + Originally merged to 'next' on 2016-03-23
183
235 - I haven't gone through the "gently" change with fine toothed comb;
236 - I can see that the change avoids calling die(), but I haven't made
237 - sure that the program states (e.g. what's in the in-core index) are
238 - adjusted sensibly when it returns to the caller instead of dying,
239 - or the codepaths that used to die() are free of resource leaks.
240 - The original code certainly did not care the program states at the
241 - point of dying exactly because it knew it is going to exit, but now
242 - they have to care, and they need to be audited.
184 + When "git merge --squash" stopped due to conflict, the concluding
185 + "git commit" failed to read in the SQUASH_MSG that shows the log
186 + messages from all the squashed commits.
187
188
245 -* dk/gc-more-wo-pack (2016-01-13) 4 commits
246 - - gc: clean garbage .bitmap files from pack dir
247 - - t5304: ensure non-garbage files are not deleted
248 - - t5304: test .bitmap garbage files
249 - - prepare_packed_git(): find more garbage
189 +* ss/exc-flag-is-a-collection-of-bits (2016-03-01) 1 commit
190 + (merged to 'next' on 2016-04-04 at 9f0207e)
191 + + dir: store EXC_FLAG_* values in unsigned integers
192
251 - Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
252 - .bitmap and .keep files.
193 + Originally merged to 'next' on 2016-03-04
194
254 - Waiting for a reroll.
255 - ($gmane/284368).
195 + Code clean-up.
196
197
258 -* jc/diff-b-m (2015-02-23) 5 commits
259 - . WIPWIP
260 - . WIP: diff-b-m
261 - - diffcore-rename: allow easier debugging
262 - - diffcore-rename.c: add locate_rename_src()
263 - - diffcore-break: allow debugging
198 +* ss/receive-pack-parse-options (2016-03-01) 1 commit
199 + (merged to 'next' on 2016-04-04 at fd6ab4c)
200 + + builtin/receive-pack.c: use parse_options API
201
265 - "git diff -B -M" produced incorrect patch when the postimage of a
266 - completely rewritten file is similar to the preimage of a removed
267 - file; such a resulting file must not be expressed as a rename from
268 - other place.
202 + Originally merged to 'next' on 2016-03-04
203
270 - The fix in this patch is broken, unfortunately.
271 - Will discard.
204 + The command line argument parser for "receive-pack" has been
205 + rewritten to use parse-options.
206
207 --------------------------------------------------
274 -[Cooking]
275 -
276 -* jn/mergetools-examdiff (2016-04-04) 2 commits
277 - - mergetools: add support for ExamDiff
278 - - mergetools: create mergetool_find_win32_cmd() helper function for winmerge
208 +[New Topics]
209
280 - "git mergetools" learned to drive ExamDiff.
210 +* jc/drop-git-spec-in (2016-04-06) 1 commit
211 + - Makefile: stop pretending to support rpmbuild
212
282 - Will merge to 'next'.
213 + As nobody maintains our in-tree git.spec.in and distros use their
214 + own spec file, we stopped pretending that we support "make rpm".
215
216
285 -* kn/for-each-tag-branch (2016-03-30) 1 commit
286 - - for-each-ref: fix description of '--contains' in manpage
217 +* jc/makefile-redirection-stderr (2016-04-05) 1 commit
218 + (merged to 'next' on 2016-04-06 at e3f2ded)
219 + + Makefile: fix misdirected redirections
220
288 - Docfix.
221 + A minor fix in the Makefile.
222
290 - Will merge to 'next'.
223 + Will merge to 'master'.
224
225
293 -* kn/ref-filter-branch-list (2016-03-30) 16 commits
294 - . branch: implement '--format' option
295 - . branch: use ref-filter printing APIs
296 - . branch, tag: use porcelain output
297 - . ref-filter: allow porcelain to translate messages in the output
298 - . ref-filter: add support for %(refname:dir) and %(refname:base)
299 - . ref-filter: introduce refname_atom_parser()
300 - . ref-filter: introduce symref_atom_parser()
301 - . ref-filter: make "%(symref)" atom work with the ':short' modifier
302 - . ref-filter: add support for %(upstream:track,nobracket)
303 - . ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams
304 - . ref-filter: introduce format_ref_array_item()
305 - . ref-filter: move get_head_description() from branch.c
306 - . ref-filter: modify "%(objectname:short)" to take length
307 - . ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)
308 - . ref-filter: include reference to 'used_atom' within 'atom_value'
309 - . ref-filter: implement %(if), %(then), and %(else) atoms
226 +* js/mingw-tests-2.8 (2016-04-04) 1 commit
227 + (merged to 'next' on 2016-04-06 at f85a013)
228 + + Windows: shorten code by re-using convert_slashes()
229
311 - The code to list branches in "git branch" has been consolidated
312 - with the more generic ref-filter API.
230 + Code clean-up.
231
314 - Will be rerolled.
232 + Will merge to 'master'.
233
234
317 -* oa/doc-diff-check (2016-03-29) 1 commit
318 - - Documentation: git diff --check detects conflict markers
235 +* ar/diff-args-osx-precompose (2016-04-05) 1 commit
236 + - diff: run arguments through precompose_argv
237
320 - Docfix.
238 + Many commands normalize command line arguments from NFD to NFC
239 + variant of UTF-8 on OSX, but commands in the "diff" family did
240 + not, causing "git diff $path" to complain that no such path is
241 + known to Git. They have been taught to do the normalization.
242
322 - Will merge to 'next'.
243 + Will be rerolled?
244 + ($gmane/290724)
245
246
325 -* rz/worktree-no-checkout (2016-03-29) 1 commit
326 - - worktree: add: introduce --checkout option
247 +* ep/trace-doc-sample-fix (2016-04-05) 1 commit
248 + (merged to 'next' on 2016-04-06 at 0df7357)
249 + + api-trace.txt: fix typo
250
328 - "git worktree add" can be given "--no-checkout" option to only
329 - create an empty worktree without checking out the files.
251 + Fix a typo in an example in the trace API documentation.
252
331 - Will merge to 'next'.
253 + Will merge to 'master'.
254
255
334 -* sb/misc-cleanups (2016-04-01) 4 commits
335 - - credential-cache, send_request: close fd when done
336 - - bundle: don't leak an fd in case of early return
337 - - abbrev_sha1_in_line: don't leak memory
338 - - notes: don't leak memory in git_config_get_notes_strategy
256 +* ew/send-email-readable-message-id (2016-04-06) 1 commit
257 + - send-email: more meaningful Message-ID
258
340 - Assorted minor clean-ups.
259 + "git send-email" now uses a more readable timestamps when
260 + formulating a message ID.
261
262 Will merge to 'next'.
263
264
345 -* sb/submodule-helper-clone-regression-fix (2016-04-01) 6 commits
346 - - submodule--helper, module_clone: catch fprintf failure
347 - - submodule--helper: do not borrow absolute_path() result for too long
348 - - submodule--helper, module_clone: always operate on absolute paths
349 - - submodule--helper clone: create the submodule path just once
350 - - submodule--helper: fix potential NULL-dereference
351 - - recursive submodules: test for relative paths
352 -
353 - A partial rewrite of "git submodule" in the 2.7 timeframe changed
354 - the way the gitdir: pointer in the submodules point at the real
355 - repository location to use absolute paths by accident. This has
356 - been corrected.
265 +* mg/complete-cherry-mark-to-log (2016-04-05) 1 commit
266 + (merged to 'next' on 2016-04-06 at 3002be6)
267 + + completion: complete --cherry-mark for git log
268
358 - Any further comments? Otherwise will merge to 'next'.
269 + The completion scripts (in contrib/) did not include the
270 + "--cherry-mark" option when completing "git log <HT>".
271
272 + Will merge to 'master'.
273
361 -* sb/submodule-path-misc-bugs (2016-03-30) 6 commits
362 - - t7407: make expectation as clear as possible
363 - - submodule update: test recursive path reporting from subdirectory
364 - - submodule update: align reporting path for custom command execution
365 - - submodule status: correct path handling in recursive submodules
366 - - submodule update --init: correct path handling in recursive submodules
367 - - submodule foreach: correct path display in recursive submodules
274
369 - "git submodule" reports the paths of submodules the command
370 - recurses into, but this was incorrect when the command was not run
371 - from the root level of the superproject.
275 +* tb/blame-force-read-cache-to-workaround-safe-crlf (2016-04-05) 1 commit
276 + (merged to 'next' on 2016-04-06 at 263bba8)
277 + + correct blame for files commited with CRLF
278
373 - Any further comments? Otherwise will merge to 'next'.
279 + When running "git blame $path" with unnormalized data in the index
280 + for the path, the data in the working tree was blamed, even though
281 + "git add" would not have changed what is already in the index, due
282 + to "safe crlf" that disables the line-end conversion. It has been
283 + corrected.
284
285 + Will merge to 'master'.
286
376 -* sg/diff-multiple-identical-renames (2016-03-30) 1 commit
377 - - diffcore: fix iteration order of identical files during rename detection
287
379 - "git diff -M" used to work better when two originally identical
380 - files A and B got renamed to X/A and X/B by pairing A to X/A and B
381 - to X/B, but this was broken in 2.0 timeframe.
288 +* st/verify-tag (2016-04-06) 3 commits
289 + - verify-tag: change variable name for readability
290 + - t7030: test verifying multiple tags
291 + - builtin/verify-tag.c: ignore SIGPIPE in gpg-interface
292
383 - Will merge to 'next'.
293 + Only the first three patches in a six-patch series.
294
295
386 -* sk/send-pack-all-fix (2016-03-31) 1 commit
387 - - git-send-pack: fix --all option when used with directory
296 +* ew/send-email-drop-data-dumper (2016-04-06) 1 commit
297 + - send-email: do not load Data::Dumper
298
389 - "git send-pack --all <there>" was broken when its command line
390 - option parsing was written in 2.6 timeframe.
299 + Code clean-up.
300
301 Will merge to 'next'.
302
394 -
395 -* ss/msvc (2016-03-30) 2 commits
396 - - MSVC: use shipped headers instead of fallback definitions
397 - - MSVC: vsnprintf in Visual Studio 2015 doesn't need SNPRINTF_SIZE_CORR any more
398 -
399 - Will merge to 'next'.
400 -
401 -
402 -* xy/format-patch-base (2016-03-31) 4 commits
403 - - format-patch: introduce format.base configuration
404 - - format-patch: introduce --base=auto option
405 - - format-patch: add '--base' option to record base tree info
406 - - patch-ids: make commit_patch_id() a public helper function
407 -
408 - "git format-patch" learned a new "--base" option to record what
409 - (public, well-known) commit the original series was built on in
410 - its output.
411 -
412 - Will be rerolled.
413 - ($gmane/290365)
414 -
303 +--------------------------------------------------
304 +[Stalled]
305
306 * da/user-useconfigonly (2016-04-01) 2 commits
307 - ident: give "please tell me" message upon useConfigOnly error
@@ -429,602 +319,658 @@ of the repositories listed at
319 ($gmane/290340)
320
321
432 -* tb/safe-crlf-output-fix (2016-04-01) 7 commits
433 - . convert.c: more safer crlf handling with text attribute
434 - . correct blame for files commited with CRLF
435 - . convert: unify the "auto" handling of CRLF
436 - . t0027: test cases for combined attributes
437 - . convert: allow core.autocrlf=input and core.eol=crlf
438 - . convert.c: stream and early out
439 - . read-cache: factor out get_sha1_from_index() helper
440 -
441 - The "safe CRLF" facility disables line-end conversion from CRLF to
442 - LF when checking in if the blob registered to the index already
443 - contains CR, but some codepaths like "git blame" did not know this,
444 - and instead assumed that only the configuration and attribute
445 - settings determined how the data from the working tree is converted.
446 -
447 - Will be rerolled.
448 - ($gmane/290637)
449 -
450 -
451 -* ak/use-hashmap-iter-first-in-submodule-config (2016-03-23) 1 commit
452 - - submodule-config: use hashmap_iter_first()
453 -
454 - Minor code cleanup.
455 -
456 - Will merge to 'next'.
457 -
458 -
459 -* ky/branch-d-worktree (2016-03-29) 1 commit
460 - - branch -d: refuse deleting a branch which is currently checked out
461 -
462 - When "git worktree" feature is in use, "git branch -d" allowed
463 - deletion of a branch that is checked out in another worktree
464 -
465 - Will merge to 'next'.
322 +* sb/clone-shallow-passthru (2016-03-23) 3 commits
323 + - clone: add t5614 to test cloning submodules with shallowness involved
324 + - submodule clone: pass along `local` option
325 + - clone: add `--shallow-submodules` flag
326
327 + "git clone" learned "--shallow-submodules" option.
328
468 -* ky/branch-m-worktree (2016-04-04) 2 commits
469 - - branch -m: update all per-worktree HEADs
470 - - refs: add a new function set_worktree_head_symref
329 + Needs review.
330
472 - When "git worktree" feature is in use, "git branch -m" renamed a
473 - branch that is checked out in another worktree without adjusting
474 - the HEAD symbolic ref for the worktree.
331
476 - Will merge to 'next'.
332 +* sg/completion-updates (2016-02-28) 21 commits
333 + - completion: cache the path to the repository
334 + - completion: extract repository discovery from __gitdir()
335 + - completion: don't guard git executions with __gitdir()
336 + - completion: consolidate silencing errors from git commands
337 + - completion: don't use __gitdir() for git commands
338 + - completion: respect 'git -C <path>'
339 + - completion: fix completion after 'git -C <path>'
340 + - completion: don't offer commands when 'git --opt' needs an argument
341 + - rev-parse: add '--absolute-git-dir' option
342 + - completion: list short refs from a remote given as a URL
343 + - completion: don't list 'HEAD' when trying refs completion outside of a repo
344 + - completion: list refs from remote when remote's name matches a directory
345 + - completion: respect 'git --git-dir=<path>' when listing remote refs
346 + - completion: fix most spots not respecting 'git --git-dir=<path>'
347 + - completion: ensure that the repository path given on the command line exists
348 + - completion tests: add tests for the __git_refs() helper function
349 + - completion tests: check __gitdir()'s output in the error cases
350 + - completion tests: consolidate getting path of current working directory
351 + - completion tests: make the $cur variable local to the test helper functions
352 + - completion tests: don't add test cruft to the test repository
353 + - completion: improve __git_refs()'s in-code documentation
354
355 + Will be rerolled.
356 + ($gmane/287839)
357
479 -* nd/apply-doc (2016-03-24) 2 commits
480 - - git-apply.txt: mention the behavior inside a subdir
481 - - git-apply.txt: remove a space
358
483 - Will merge to 'next'.
359 +* nd/shallow-deepen (2016-02-23) 25 commits
360 + - fetch, upload-pack: --deepen=N extends shallow boundary by N commits
361 + - upload-pack: add get_reachable_list()
362 + - upload-pack: split check_unreachable() in two, prep for get_reachable_list()
363 + - t5500, t5539: tests for shallow depth excluding a ref
364 + - clone: define shallow clone boundary with --shallow-exclude
365 + - fetch: define shallow boundary with --shallow-exclude
366 + - upload-pack: support define shallow boundary by excluding revisions
367 + - refs: add expand_ref()
368 + - t5500, t5539: tests for shallow depth since a specific date
369 + - clone: define shallow clone boundary based on time with --shallow-since
370 + - fetch: define shallow boundary with --shallow-since
371 + - upload-pack: add deepen-since to cut shallow repos based on time
372 + - shallow.c: implement a generic shallow boundary finder based on rev-list
373 + - fetch-pack: use a separate flag for fetch in deepening mode
374 + - fetch-pack: use a common function for verbose printing
375 + - fetch-pack: use skip_prefix() instead of starts_with()
376 + - upload-pack: move rev-list code out of check_non_tip()
377 + - upload-pack: tighten number parsing at "deepen" lines
378 + - upload-pack: use skip_prefix() instead of starts_with()
379 + - upload-pack: move "unshallow" sending code out of deepen()
380 + - upload-pack: remove unused variable "backup"
381 + - upload-pack: move "shallow" sending code out of deepen()
382 + - upload-pack: move shallow deepen code out of receive_needs()
383 + - transport-helper.c: refactor set_helper_option()
384 + - remote-curl.c: convert fetch_git() to use argv_array
385
386 + The existing "git fetch --depth=<n>" option was hard to use
387 + correctly when making the history of an existing shallow clone
388 + deeper. A new option, "--deepen=<n>", has been added to make this
389 + easier to use. "git clone" also learned "--shallow-since=<date>"
390 + and "--shallow-exclude=<tag>" options to make it easier to specify
391 + "I am interested only in the recent N months worth of history" and
392 + "Give me only the history since that version".
393
486 -* nd/apply-report-skip (2016-03-24) 1 commit
487 - - apply: report patch skipping in verbose mode
394 + Needs review.
395
489 - "git apply -v" learned to report paths in the patch that were
490 - skipped via --include/--exclude mechanism or being outside the
491 - current working directory.
396
493 - Will merge to 'next'.
397 +* sb/submodule-init (2016-03-15) 2 commits
398 + . submodule: port init from shell to C
399 + . submodule: port resolve_relative_url from shell to C
400
401 + Update of "git submodule" to move pieces of logic to C continues.
402
496 -* pb/opt-cmdmode-doc (2016-03-25) 1 commit
497 - - api-parse-options.txt: document OPT_CMDMODE()
403 + Needs review.
404 + ($gmane/288824)
405
499 - Minor API documentation update.
406
501 - Will merge to 'next'.
407 +* az/p4-bare-no-rebase (2016-02-19) 1 commit
408 + - git-p4.py: Don't try to rebase on submit from bare repository
409
410 + "git p4 submit" attempts to do a rebase, which would fail if done
411 + in a bare repository. Not doing this rebase would paper over the
412 + failure, which is what this patch does, but it is unclear what the
413 + side effect of not rebasing is.
414
504 -* rt/completion-help (2016-03-24) 2 commits
505 - - completion: add 'revisions' and 'everyday' to 'git help'
506 - - completion: add option '--guides' to 'git help'
415 + Needs a better explanation.
416
508 - Shell completion (in contrib/) updates.
417
510 - Will merge to 'next'.
418 +* ss/commit-dry-run-resolve-merge-to-no-op (2016-02-17) 1 commit
419 + - wt-status.c: set commitable bit if there is a meaningful merge.
420
421 + "git commit --dry-run" reported "No, no, you cannot commit." in one
422 + case where "git commit" would have allowed you to commit, and this
423 + improves it a little bit ("git commit --dry-run --short" still does
424 + not give you the correct answer, for example).
425
513 -* rt/rebase-i-shorten-stop-report (2016-03-28) 1 commit
514 - - rebase-i: print an abbreviated hash when stop for editing
426
516 - The commit object name reported when "rebase -i" stops has been
517 - shortened.
427 +* nd/icase (2016-02-15) 12 commits
428 + - grep.c: reuse "icase" variable
429 + - diffcore-pickaxe: support case insensitive match on non-ascii
430 + - diffcore-pickaxe: "share" regex error handling code
431 + - grep/pcre: support utf-8
432 + - gettext: add is_utf8_locale()
433 + - grep/pcre: prepare locale-dependent tables for icase matching
434 + - grep/icase: avoid kwsset when -F is specified
435 + - grep/icase: avoid kwsset on literal non-ascii strings
436 + - test-regex: expose full regcomp() to the command line
437 + - test-regex: isolate the bug test code
438 + - grep: break down an "if" stmt in preparation for next changes
439 + - grep: allow -F -i combination
440
519 - Will merge to 'next'.
441 + "git grep -i" has been taught to fold case in non-ascii locales.
442
443 + Needs review.
444 + ($gmane/286137)
445
522 -* jk/check-repository-format (2016-03-11) 10 commits
523 - - verify_repository_format: mark messages for translation
524 - - setup: drop repository_format_version global
525 - - setup: unify repository version callbacks
526 - - init: use setup.c's repo version verification
527 - - setup: refactor repo format reading and verification
528 - - config: drop git_config_early
529 - - check_repository_format_gently: stop using git_config_early
530 - - lazily load core.sharedrepository
531 - - wrap shared_repository global in get/set accessors
532 - - setup: document check_repository_format()
446
534 - The repository set-up sequence has been streamlined (the biggest
535 - change is that there is no longer git_config_early()), so that we
536 - do not attempt to look into refs/* when we know we do not have a
537 - Git repository.
447 +* dt/refs-backend-lmdb (2016-02-25) 45 commits
448 + . SQUASH??? Minimum compilation band-aid
449 + . tests: add ref-storage argument
450 + . refs: tests for lmdb backend
451 + . refs: add LMDB refs storage backend
452 + . refs: break out resolve_ref_unsafe_submodule
453 + . config: read ref storage config on startup
454 + . refs: register ref storage backends
455 + . svn: learn ref-storage argument
456 + . clone: allow ref storage backend to be set for clone
457 + . refs: check submodules' ref storage config
458 + . init: allow alternate ref strorage to be set for new repos
459 + . refs: always handle non-normal refs in files backend
460 + . refs: resolve symbolic refs first
461 + . refs: on symref reflog expire, lock symref not referrent
462 + . refs: don't dereference on rename
463 + . refs: allow log-only updates
464 + . refs: move duplicate check to common code
465 + . refs: make lock generic
466 + . refs: handle non-normal ref renames
467 + . refs: add method to rename refs
468 + . refs: add methods to init refs db
469 + . refs: add method for delete_refs
470 + . refs: add method for initial ref transaction commit
471 + . refs: add methods for reflog
472 + . refs: add do_for_each_per_worktree_ref
473 + . refs: reduce the visibility of do_for_each_ref()
474 + . refs: add method for do_for_each_ref
475 + . refs: add methods for misc ref operations
476 + . refs: add a backend method structure with transaction functions
477 + . refs: move resolve_ref_unsafe into common code
478 + . files-backend: break out ref reading
479 + . refs: move for_each_*ref* functions into common code
480 + . refs: move head_ref{,_submodule} to the common code
481 + . Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb
482 + . clone: allow an explicit argument for parallel submodule clones
483 + . submodule update: expose parallelism to the user
484 + . git submodule update: have a dedicated helper for cloning
485 + . run_processes_parallel: correctly terminate callbacks with an LF
486 + . run_processes_parallel: rename parameters for the callbacks
487 + . run-command: expose default_{start_failure, task_finished}
488 + . run_processes_parallel: treat output of children as byte array
489 + . submodule update: direct error message to stderr
490 + . fetching submodules: respect `submodule.fetchJobs` config option
491 + . submodule-config: drop check against NULL
492 + . submodule-config: keep update strategy around
493
539 - Will merge to 'next'.
494 + A reroll exists, but it seems that will further be rerolled.
495
496
542 -* mj/pull-rebase-autostash (2016-04-04) 9 commits
543 - - t5520: test --[no-]autostash with pull.rebase=true
544 - - t5520: reduce commom lines of code
545 - - t5520: factor out common "failing autostash" code
546 - - t5520: factor out common "successful autostash" code
547 - - t5520: use better test to check stderr output
548 - - t5520: ensure consistent test conditions
549 - - t5520: use consistent capitalization in test titles
550 - - pull --rebase: add --[no-]autostash flag
551 - - git-pull.c: introduce git_pull_config()
497 +* ec/annotate-deleted (2015-11-20) 1 commit
498 + - annotate: skip checking working tree if a revision is provided
499
553 - "git pull --rebase" learned "--[no-]autostash" option, so that
554 - the rebase.autostash configuration variable set to true can be
555 - overridden from the command line.
500 + Usability fix for annotate-specific "<file> <rev>" syntax with deleted
501 + files.
502
557 - Will merge to 'next'.
503 + Waiting for review.
504
505
560 -* pb/commit-verbose-config (2016-03-14) 1 commit
561 - - commit: add a commit.verbose config variable
562 - (this branch uses pb/t7502-drop-dup.)
506 +* dg/subtree-rebase-test (2016-01-19) 1 commit
507 + - contrib/subtree: Add a test for subtree rebase that loses commits
508
564 - "git commit" learned to pay attention to "commit.verbose"
565 - configuration variable and act as if "--verbose" option was
566 - given from the command line.
509 + Reviewed up to v5.
510 + Will be rerolled.
511 + ($gmane/284426)
512
568 - Will merge to 'next'.
513
514 +* js/am-3-merge-recursive-direct (2015-10-12) 2 commits
515 + - am: make a direct call to merge_recursive
516 + - merge_recursive_options: introduce the "gently" flag
517
571 -* pb/t7502-drop-dup (2016-03-11) 1 commit
572 - (merged to 'next' on 2016-04-04 at 4799cad)
573 - + t/t7502 : drop duplicate test
574 - (this branch is used by pb/commit-verbose-config.)
518 + The merge_recursive_generic() function has been made a bit safer to
519 + call from inside a process. "git am -3" was taught to make a direct
520 + call to the function when falling back to three-way merge.
521
576 - Originally merged to 'next' on 2016-03-15
522 + Being able to make a direct call would be good in general, but as a
523 + performance thing, the change needs to be backed up by numbers.
524
578 - Code clean-up.
525 + Needs review.
526
580 - Will merge to 'master' after 2.8 final.
527 + I haven't gone through the "gently" change with fine toothed comb;
528 + I can see that the change avoids calling die(), but I haven't made
529 + sure that the program states (e.g. what's in the in-core index) are
530 + adjusted sensibly when it returns to the caller instead of dying,
531 + or the codepaths that used to die() are free of resource leaks.
532 + The original code certainly did not care the program states at the
533 + point of dying exactly because it knew it is going to exit, but now
534 + they have to care, and they need to be audited.
535
536
583 -* ss/commit-squash-msg (2016-03-21) 1 commit
584 - (merged to 'next' on 2016-04-04 at d389f19)
585 - + commit: do not lose SQUASH_MSG contents
537 +* dk/gc-more-wo-pack (2016-01-13) 4 commits
538 + - gc: clean garbage .bitmap files from pack dir
539 + - t5304: ensure non-garbage files are not deleted
540 + - t5304: test .bitmap garbage files
541 + - prepare_packed_git(): find more garbage
542
587 - Originally merged to 'next' on 2016-03-23
543 + Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
544 + .bitmap and .keep files.
545
589 - When "git merge --squash" stopped due to conflict, the concluding
590 - "git commit" failed to read in the SQUASH_MSG that shows the log
591 - messages from all the squashed commits.
546 + Waiting for a reroll.
547 + ($gmane/284368).
548
593 - Will merge to 'master' after 2.8 final.
549
550 +* jc/diff-b-m (2015-02-23) 5 commits
551 + . WIPWIP
552 + . WIP: diff-b-m
553 + - diffcore-rename: allow easier debugging
554 + - diffcore-rename.c: add locate_rename_src()
555 + - diffcore-break: allow debugging
556
596 -* ls/p4-map-user (2016-03-15) 1 commit
597 - (merged to 'next' on 2016-04-04 at a56b011)
598 - + git-p4: map a P4 user to Git author name and email address
557 + "git diff -B -M" produced incorrect patch when the postimage of a
558 + completely rewritten file is similar to the preimage of a removed
559 + file; such a resulting file must not be expressed as a rename from
560 + other place.
561
600 - Originally merged to 'next' on 2016-03-23
562 + The fix in this patch is broken, unfortunately.
563 + Will discard.
564
602 - "git p4" now allows P4 author names to be mapped to Git author
603 - names.
565 +--------------------------------------------------
566 +[Cooking]
567
605 - Will merge to 'master' after 2.8 final.
568 +* es/format-patch-doc-hide-no-patch (2016-04-04) 1 commit
569 + (merged to 'next' on 2016-04-06 at 25d79bb)
570 + + git-format-patch.txt: don't show -s as shorthand for multiple options
571
572 + "git format-patch --help" showed `-s` and `--no-patch` as if these
573 + are valid options to the command. We already hide `--patch` option
574 + from the documentation, because format-patch is about showing the
575 + diff, and the documentation now hides these options as well.
576
608 -* jc/merge-refuse-new-root (2016-03-23) 1 commit
609 - (merged to 'next' on 2016-04-04 at cd70fd6)
610 - + merge: refuse to create too cool a merge by default
577 + Will merge to 'master'.
578
612 - Originally merged to 'next' on 2016-03-23
579
614 - "git merge" used to allow merging two branches that have no common
615 - base by default, which led to a brand new history of an existing
616 - project created and then get pulled by an unsuspecting maintainer,
617 - which allowed an unnecessary parallel history merged into the
618 - existing project. The command has been taught not to allow this by
619 - default, with an escape hatch "--allow-unrelated-histories" option
620 - to be used in a rare event that merges histories of two projects
621 - that started their lives independently.
580 +* jk/branch-shortening-funny-symrefs (2016-04-04) 1 commit
581 + (merged to 'next' on 2016-04-06 at 1a3f8be)
582 + + branch: fix shortening of non-remote symrefs
583
623 - Will merge to 'master' after 2.8 final.
584 + A change back in version 2.7 to "git branch" broke display of a
585 + symbolic ref in a non-standard place in the refs/ hierarchy (we
586 + expect symbolic refs to appear in refs/remotes/*/HEAD to point at
587 + the primary branch the remote has, and as .git/HEAD to point at the
588 + branch we locally checked out).
589
590 + Will merge to 'next' and later down to maint-2.7.
591
626 -* jk/credential-cache-comment-exit (2016-03-18) 1 commit
627 - (merged to 'next' on 2016-04-04 at 50427fe)
628 - + credential-cache--daemon: clarify "exit" action semantics
592
630 - Originally merged to 'next' on 2016-03-23
593 +* jn/mergetools-examdiff (2016-04-04) 2 commits
594 + (merged to 'next' on 2016-04-06 at 819e858)
595 + + mergetools: add support for ExamDiff
596 + + mergetools: create mergetool_find_win32_cmd() helper function for winmerge
597
632 - A code clarification.
598 + "git mergetools" learned to drive ExamDiff.
599
634 - Will merge to 'master' after 2.8 final.
600 + Will merge to 'master'.
601
602
637 -* jk/send-email-rtrim-mailrc-alias (2016-03-18) 1 commit
638 - (merged to 'next' on 2016-04-04 at 4d54956)
639 - + send-email: ignore trailing whitespace in mailrc alias file
603 +* kn/for-each-tag-branch (2016-03-30) 1 commit
604 + (merged to 'next' on 2016-04-06 at 4595ad3)
605 + + for-each-ref: fix description of '--contains' in manpage
606
641 - Originally merged to 'next' on 2016-03-23
607 + A minor documentation update.
608
643 - "git send-email" had trouble parsing alias file in mailrc format
644 - when lines in it had trailing whitespaces on them.
609 + Will merge to 'master'.
610
646 - Will merge to 'master' after 2.8 final.
611
612 +* kn/ref-filter-branch-list (2016-03-30) 16 commits
613 + . branch: implement '--format' option
614 + . branch: use ref-filter printing APIs
615 + . branch, tag: use porcelain output
616 + . ref-filter: allow porcelain to translate messages in the output
617 + . ref-filter: add support for %(refname:dir) and %(refname:base)
618 + . ref-filter: introduce refname_atom_parser()
619 + . ref-filter: introduce symref_atom_parser()
620 + . ref-filter: make "%(symref)" atom work with the ':short' modifier
621 + . ref-filter: add support for %(upstream:track,nobracket)
622 + . ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams
623 + . ref-filter: introduce format_ref_array_item()
624 + . ref-filter: move get_head_description() from branch.c
625 + . ref-filter: modify "%(objectname:short)" to take length
626 + . ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)
627 + . ref-filter: include reference to 'used_atom' within 'atom_value'
628 + . ref-filter: implement %(if), %(then), and %(else) atoms
629
649 -* jk/test-httpd-config-nosystem (2016-03-18) 1 commit
650 - (merged to 'next' on 2016-04-04 at 5fa6274)
651 - + t/lib-httpd: pass through GIT_CONFIG_NOSYSTEM env
630 + The code to list branches in "git branch" has been consolidated
631 + with the more generic ref-filter API.
632
653 - Originally merged to 'next' on 2016-03-23
633 + Will be rerolled.
634
655 - The tests that involve running httpd leaked the system-wide
656 - configuration in /etc/gitconfig to the tested environment.
635
658 - Will merge to 'master' after 2.8 final.
636 +* oa/doc-diff-check (2016-03-29) 1 commit
637 + (merged to 'next' on 2016-04-06 at e3d6e8d)
638 + + Documentation: git diff --check detects conflict markers
639
640 + A minor documentation update.
641
661 -* lt/pretty-expand-tabs (2016-03-30) 3 commits
662 - - pretty: allow tweaking tabwidth in --expand-tabs
663 - - pretty: enable --expand-tabs by default for selected pretty formats
664 - - pretty: expand tabs in indented logs to make things line up properly
642 + Will merge to 'master'.
643
666 - Needs tests.
644
645 +* rz/worktree-no-checkout (2016-03-29) 1 commit
646 + (merged to 'next' on 2016-04-06 at e725216)
647 + + worktree: add: introduce --checkout option
648
669 -* sb/clone-shallow-passthru (2016-03-23) 3 commits
670 - - clone: add t5614 to test cloning submodules with shallowness involved
671 - - submodule clone: pass along `local` option
672 - - clone: add `--shallow-submodules` flag
673 - (this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.)
649 + "git worktree add" can be given "--no-checkout" option to only
650 + create an empty worktree without checking out the files.
651
675 - "git clone" learned "--shallow-submodules" option.
652 + Will merge to 'master'.
653
677 - Needs review.
654
655 +* sb/misc-cleanups (2016-04-01) 4 commits
656 + (merged to 'next' on 2016-04-06 at 4e63691)
657 + + credential-cache, send_request: close fd when done
658 + + bundle: don't leak an fd in case of early return
659 + + abbrev_sha1_in_line: don't leak memory
660 + + notes: don't leak memory in git_config_get_notes_strategy
661
680 -* sb/clone-t57-t56 (2016-03-16) 1 commit
681 - (merged to 'next' on 2016-04-04 at 5c20247)
682 - + clone tests: rename t57* => t56*
662 + Assorted minor clean-ups.
663
684 - Originally merged to 'next' on 2016-03-23
664 + Will merge to 'master'.
665
686 - Rename bunch of tests on "git clone" for better organization.
666
688 - Will merge to 'master' after 2.8 final.
667 +* sb/submodule-helper-clone-regression-fix (2016-04-01) 6 commits
668 + - submodule--helper, module_clone: catch fprintf failure
669 + - submodule--helper: do not borrow absolute_path() result for too long
670 + - submodule--helper, module_clone: always operate on absolute paths
671 + - submodule--helper clone: create the submodule path just once
672 + - submodule--helper: fix potential NULL-dereference
673 + - recursive submodules: test for relative paths
674
675 + A partial rewrite of "git submodule" in the 2.7 timeframe changed
676 + the way the gitdir: pointer in the submodules point at the real
677 + repository location to use absolute paths by accident. This has
678 + been corrected.
679
691 -* sb/rebase-x (2016-03-18) 2 commits
692 - (merged to 'next' on 2016-04-04 at feda620)
693 - + t3404: cleanup double empty lines between tests
694 - + rebase: decouple --exec from --interactive
680 + Any further comments? Otherwise will merge to 'next'.
681
696 - Originally merged to 'next' on 2016-03-23
682
698 - "git rebase -x" can be used without passing "-i" option.
683 +* sb/submodule-path-misc-bugs (2016-03-30) 6 commits
684 + - t7407: make expectation as clear as possible
685 + - submodule update: test recursive path reporting from subdirectory
686 + - submodule update: align reporting path for custom command execution
687 + - submodule status: correct path handling in recursive submodules
688 + - submodule update --init: correct path handling in recursive submodules
689 + - submodule foreach: correct path display in recursive submodules
690
700 - Will merge to 'master' after 2.8 final.
691 + "git submodule" reports the paths of submodules the command
692 + recurses into, but this was incorrect when the command was not run
693 + from the root level of the superproject.
694
695 + Any further comments? Otherwise will merge to 'next'.
696
703 -* cc/apply (2016-04-01) 4 commits
704 - - builtin/apply: free patch when parse_chunk() fails
705 - - builtin/apply: handle parse_binary() failure
706 - - apply: remove unused call to free() in gitdiff_{old,new}name()
707 - - builtin/apply: get rid of useless 'name' variable
697
709 - Minor code clean-up.
698 +* sg/diff-multiple-identical-renames (2016-03-30) 1 commit
699 + (merged to 'next' on 2016-04-06 at ac19e48)
700 + + diffcore: fix iteration order of identical files during rename detection
701
711 - Will merge to 'next'.
702 + "git diff -M" used to work better when two originally identical
703 + files A and B got renamed to X/A and X/B by pairing A to X/A and B
704 + to X/B, but this was broken in the 2.0 timeframe.
705
706 + Will merge to 'master'.
707
714 -* dt/index-helper (2016-03-23) 18 commits
715 - - SQUASH - minimum compilation fix
716 - - read-cache: config for waiting for index-helper
717 - - index-helper: optionally automatically run
718 - - index-helper: autorun mode
719 - - index-helper: don't run if already running
720 - - index-helper: kill mode
721 - - unpack-trees: preserve index extensions
722 - - update-index: enable/disable watchman support
723 - - index-helper: use watchman to avoid refreshing index with lstat()
724 - - Add watchman support to reduce index refresh cost
725 - - read-cache: invalidate untracked cache data when reading WAMA
726 - - read-cache: add watchman 'WAMA' extension
727 - - index-helper: add --detach
728 - - daemonize(): set a flag before exiting the main process
729 - - index-helper: add --strict
730 - - index-helper: new daemon for caching index and related stuff
731 - - read-cache: allow to keep mmap'd memory after reading
732 - - read-cache.c: fix constness of verify_hdr()
708
709 +* sk/send-pack-all-fix (2016-03-31) 1 commit
710 + (merged to 'next' on 2016-04-06 at 31e1e1b)
711 + + git-send-pack: fix --all option when used with directory
712
735 -* jv/merge-nothing-into-void (2016-03-23) 1 commit
736 - (merged to 'next' on 2016-04-04 at aa37405)
737 - + merge: fix NULL pointer dereference when merging nothing into void
713 + "git send-pack --all <there>" was broken when its command line
714 + option parsing was written in the 2.6 timeframe.
715
739 - Originally merged to 'next' on 2016-03-23
716 + Will merge to 'master'.
717
741 - "git merge FETCH_HEAD" dereferenced NULL pointer when merging
742 - nothing into an unborn history (which is arguably unusual usage,
743 - which perhaps was the reason why nobody noticed it).
718
745 - Will merge to 'master' after 2.8 final.
719 +* ss/msvc (2016-03-30) 2 commits
720 + (merged to 'next' on 2016-04-06 at 4b53bce)
721 + + MSVC: use shipped headers instead of fallback definitions
722 + + MSVC: vsnprintf in Visual Studio 2015 doesn't need SNPRINTF_SIZE_CORR any more
723
724 + Build updates for MSVC.
725
748 -* la/tag-force-signing-annotated-tags (2016-03-22) 1 commit
749 - (merged to 'next' on 2016-04-04 at a49ec4a)
750 - + tag: add the option to force signing of annotated tags
726 + Will merge to 'master'.
727
752 - Originally merged to 'next' on 2016-03-24
728
754 - "git tag" can create an annotated tag without explicitly given an
755 - "-a" (or "-s") option (i.e. when a tag message is given). A new
756 - configuration variable, tag.forceSignAnnotated, can be used to tell
757 - the command to create signed tag in such a situation.
729 +* xy/format-patch-base (2016-03-31) 4 commits
730 + - format-patch: introduce format.base configuration
731 + - format-patch: introduce --base=auto option
732 + - format-patch: add '--base' option to record base tree info
733 + - patch-ids: make commit_patch_id() a public helper function
734
759 - Will merge to 'master' after 2.8 final.
735 + "git format-patch" learned a new "--base" option to record what
736 + (public, well-known) commit the original series was built on in
737 + its output.
738
739 + Will be rerolled.
740 + ($gmane/290365)
741
762 -* cc/doc-recommend-performance-trace-to-file (2016-03-07) 1 commit
763 - (merged to 'next' on 2016-04-04 at 26f94c0)
764 - + Documentation: talk about pager in api-trace.txt
742
766 - Originally merged to 'next' on 2016-03-23
743 +* tb/safe-crlf-output-fix (2016-04-01) 7 commits
744 + . convert.c: more safer crlf handling with text attribute
745 + . correct blame for files commited with CRLF
746 + . convert: unify the "auto" handling of CRLF
747 + . t0027: test cases for combined attributes
748 + . convert: allow core.autocrlf=input and core.eol=crlf
749 + . convert.c: stream and early out
750 + . read-cache: factor out get_sha1_from_index() helper
751
768 - A minor documentation update.
752 + The "safe CRLF" facility disables line-end conversion from CRLF to
753 + LF when checking in if the blob registered to the index already
754 + contains CR, but some codepaths like "git blame" did not know this,
755 + and instead assumed that only the configuration and attribute
756 + settings determined how the data from the working tree is converted.
757
770 - Will merge to 'master' after 2.8 final.
758 + Will be rerolled.
759 + ($gmane/290637)
760
761
773 -* da/mergetool-delete-delete-conflict (2016-03-10) 2 commits
774 - (merged to 'next' on 2016-04-04 at 34e645f)
775 - + mergetool: honor tempfile configuration when resolving delete conflicts
776 - + mergetool: support delete/delete conflicts
762 +* ak/use-hashmap-iter-first-in-submodule-config (2016-03-23) 1 commit
763 + (merged to 'next' on 2016-04-06 at 2aab890)
764 + + submodule-config: use hashmap_iter_first()
765
778 - Originally merged to 'next' on 2016-03-15
766 + Minor code cleanup.
767
780 - "git mergetool" did not work well with conflicts that both sides
781 - deleted.
768 + Will merge to 'master'.
769
783 - Will merge to 'master' after 2.8 final.
770
771 +* ky/branch-d-worktree (2016-03-29) 1 commit
772 + (merged to 'next' on 2016-04-06 at 00f9bff)
773 + + branch -d: refuse deleting a branch which is currently checked out
774
786 -* sg/completion-updates (2016-02-28) 21 commits
787 - - completion: cache the path to the repository
788 - - completion: extract repository discovery from __gitdir()
789 - - completion: don't guard git executions with __gitdir()
790 - - completion: consolidate silencing errors from git commands
791 - - completion: don't use __gitdir() for git commands
792 - - completion: respect 'git -C <path>'
793 - - completion: fix completion after 'git -C <path>'
794 - - completion: don't offer commands when 'git --opt' needs an argument
795 - - rev-parse: add '--absolute-git-dir' option
796 - - completion: list short refs from a remote given as a URL
797 - - completion: don't list 'HEAD' when trying refs completion outside of a repo
798 - - completion: list refs from remote when remote's name matches a directory
799 - - completion: respect 'git --git-dir=<path>' when listing remote refs
800 - - completion: fix most spots not respecting 'git --git-dir=<path>'
801 - - completion: ensure that the repository path given on the command line exists
802 - - completion tests: add tests for the __git_refs() helper function
803 - - completion tests: check __gitdir()'s output in the error cases
804 - - completion tests: consolidate getting path of current working directory
805 - - completion tests: make the $cur variable local to the test helper functions
806 - - completion tests: don't add test cruft to the test repository
807 - - completion: improve __git_refs()'s in-code documentation
775 + When "git worktree" feature is in use, "git branch -d" allowed
776 + deletion of a branch that is checked out in another worktree
777
809 - Will be rerolled.
810 - ($gmane/287839)
778 + Will merge to 'master'.
779
780
813 -* ss/exc-flag-is-a-collection-of-bits (2016-03-01) 1 commit
814 - (merged to 'next' on 2016-04-04 at 9f0207e)
815 - + dir: store EXC_FLAG_* values in unsigned integers
781 +* ky/branch-m-worktree (2016-04-04) 2 commits
782 + (merged to 'next' on 2016-04-06 at e7b285c)
783 + + branch -m: update all per-worktree HEADs
784 + + refs: add a new function set_worktree_head_symref
785
817 - Originally merged to 'next' on 2016-03-04
786 + When "git worktree" feature is in use, "git branch -m" renamed a
787 + branch that is checked out in another worktree without adjusting
788 + the HEAD symbolic ref for the worktree.
789
819 - Code clean-up.
790 + Will merge to 'master'.
791
821 - Will merge to 'master' after 2.8 final.
792
793 +* nd/apply-doc (2016-03-24) 2 commits
794 + (merged to 'next' on 2016-04-06 at f9bd355)
795 + + git-apply.txt: mention the behavior inside a subdir
796 + + git-apply.txt: remove a space
797
824 -* jc/bundle (2016-03-03) 6 commits
825 - - index-pack: --clone-bundle option
826 - - Merge branch 'jc/index-pack' into jc/bundle
827 - - bundle v3: the beginning
828 - - bundle: keep a copy of bundle file name in the in-core bundle header
829 - - bundle: plug resource leak
830 - - bundle doc: 'verify' is not about verifying the bundle
798 + A minor documentation update.
799
832 - The beginning of "split bundle", which could be one of the
833 - ingredients to allow "git clone" traffic off of the core server
834 - network to CDN.
800 + Will merge to 'master'.
801
802
837 -* ss/receive-pack-parse-options (2016-03-01) 1 commit
838 - (merged to 'next' on 2016-04-04 at fd6ab4c)
839 - + builtin/receive-pack.c: use parse_options API
803 +* nd/apply-report-skip (2016-03-24) 1 commit
804 + (merged to 'next' on 2016-04-06 at ae2c824)
805 + + apply: report patch skipping in verbose mode
806
841 - Originally merged to 'next' on 2016-03-04
807 + "git apply -v" learned to report paths in the patch that were
808 + skipped via --include/--exclude mechanism or being outside the
809 + current working directory.
810
843 - The command line argument parser for "receive-pack" has been
844 - rewritten to use parse-options.
811 + Will merge to 'master'.
812
846 - Will merge to 'master' after 2.8 final.
813
814 +* pb/opt-cmdmode-doc (2016-03-25) 1 commit
815 + (merged to 'next' on 2016-04-06 at a5f3835)
816 + + api-parse-options.txt: document OPT_CMDMODE()
817
849 -* jk/submodule-c-credential (2016-03-23) 7 commits
850 - (merged to 'next' on 2016-04-04 at 8de8e8c)
851 - + git_config_push_parameter: handle empty GIT_CONFIG_PARAMETERS
852 - + git: submodule honor -c credential.* from command line
853 - + quote: implement sq_quotef()
854 - + submodule: fix segmentation fault in submodule--helper clone
855 - + submodule: fix submodule--helper clone usage
856 - + submodule: check argc count for git submodule--helper clone
857 - + submodule: don't pass empty string arguments to submodule--helper clone
818 + Minor API documentation update.
819
859 - Originally merged to 'next' on 2016-03-23
820 + Will merge to 'master'.
821
861 - "git -c credential.<var>=<value> submodule" can now be used to
862 - propagate configuration variables related to credential helper
863 - down to the submodules.
822
865 - Will merge to 'master' after 2.8 final.
823 +* rt/completion-help (2016-03-24) 2 commits
824 + (merged to 'next' on 2016-04-06 at 8c3ee08)
825 + + completion: add 'revisions' and 'everyday' to 'git help'
826 + + completion: add option '--guides' to 'git help'
827
828 + Shell completion (in contrib/) updates.
829
868 -* nd/shallow-deepen (2016-02-23) 25 commits
869 - - fetch, upload-pack: --deepen=N extends shallow boundary by N commits
870 - - upload-pack: add get_reachable_list()
871 - - upload-pack: split check_unreachable() in two, prep for get_reachable_list()
872 - - t5500, t5539: tests for shallow depth excluding a ref
873 - - clone: define shallow clone boundary with --shallow-exclude
874 - - fetch: define shallow boundary with --shallow-exclude
875 - - upload-pack: support define shallow boundary by excluding revisions
876 - - refs: add expand_ref()
877 - - t5500, t5539: tests for shallow depth since a specific date
878 - - clone: define shallow clone boundary based on time with --shallow-since
879 - - fetch: define shallow boundary with --shallow-since
880 - - upload-pack: add deepen-since to cut shallow repos based on time
881 - - shallow.c: implement a generic shallow boundary finder based on rev-list
882 - - fetch-pack: use a separate flag for fetch in deepening mode
883 - - fetch-pack: use a common function for verbose printing
884 - - fetch-pack: use skip_prefix() instead of starts_with()
885 - - upload-pack: move rev-list code out of check_non_tip()
886 - - upload-pack: tighten number parsing at "deepen" lines
887 - - upload-pack: use skip_prefix() instead of starts_with()
888 - - upload-pack: move "unshallow" sending code out of deepen()
889 - - upload-pack: remove unused variable "backup"
890 - - upload-pack: move "shallow" sending code out of deepen()
891 - - upload-pack: move shallow deepen code out of receive_needs()
892 - - transport-helper.c: refactor set_helper_option()
893 - - remote-curl.c: convert fetch_git() to use argv_array
830 + Will merge to 'master'.
831
895 - The existing "git fetch --depth=<n>" option was hard to use
896 - correctly when making the history of an existing shallow clone
897 - deeper. A new option, "--deepen=<n>", has been added to make this
898 - easier to use. "git clone" also learned "--shallow-since=<date>"
899 - and "--shallow-exclude=<tag>" options to make it easier to specify
900 - "I am interested only in the recent N months worth of history" and
901 - "Give me only the history since that version".
832
903 - Needs review.
833 +* rt/rebase-i-shorten-stop-report (2016-03-28) 1 commit
834 + (merged to 'next' on 2016-04-06 at 7a766b7)
835 + + rebase-i: print an abbreviated hash when stop for editing
836
837 + The commit object name reported when "rebase -i" stops has been
838 + shortened.
839
906 -* sb/submodule-init (2016-03-15) 2 commits
907 - . submodule: port init from shell to C
908 - . submodule: port resolve_relative_url from shell to C
909 - (this branch uses sb/submodule-parallel-update; is tangled with sb/clone-shallow-passthru.)
840 + Will merge to 'master'.
841
911 - Update of "git submodule" to move pieces of logic to C continues.
842
913 - Needs review.
914 - ($gmane/288824)
843 +* jk/check-repository-format (2016-03-11) 10 commits
844 + (merged to 'next' on 2016-04-06 at a0dada0)
845 + + verify_repository_format: mark messages for translation
846 + + setup: drop repository_format_version global
847 + + setup: unify repository version callbacks
848 + + init: use setup.c's repo version verification
849 + + setup: refactor repo format reading and verification
850 + + config: drop git_config_early
851 + + check_repository_format_gently: stop using git_config_early
852 + + lazily load core.sharedrepository
853 + + wrap shared_repository global in get/set accessors
854 + + setup: document check_repository_format()
855
856 + The repository set-up sequence has been streamlined (the biggest
857 + change is that there is no longer git_config_early()), so that we
858 + do not attempt to look into refs/* when we know we do not have a
859 + Git repository.
860
917 -* az/p4-bare-no-rebase (2016-02-19) 1 commit
918 - - git-p4.py: Don't try to rebase on submit from bare repository
861 + Will merge to 'master'.
862
920 - "git p4 submit" attempts to do a rebase, which would fail if done
921 - in a bare repository. Not doing this rebase would paper over the
922 - failure, which is what this patch does, but it is unclear what the
923 - side effect of not rebasing is.
863
925 - Needs a better explanation.
864 +* mj/pull-rebase-autostash (2016-04-04) 9 commits
865 + (merged to 'next' on 2016-04-06 at b4e4f31)
866 + + t5520: test --[no-]autostash with pull.rebase=true
867 + + t5520: reduce commom lines of code
868 + + t5520: factor out common "failing autostash" code
869 + + t5520: factor out common "successful autostash" code
870 + + t5520: use better test to check stderr output
871 + + t5520: ensure consistent test conditions
872 + + t5520: use consistent capitalization in test titles
873 + + pull --rebase: add --[no-]autostash flag
874 + + git-pull.c: introduce git_pull_config()
875
876 + "git pull --rebase" learned "--[no-]autostash" option, so that
877 + the rebase.autostash configuration variable set to true can be
878 + overridden from the command line.
879
928 -* ss/commit-dry-run-resolve-merge-to-no-op (2016-02-17) 1 commit
929 - - wt-status.c: set commitable bit if there is a meaningful merge.
880 + Will merge to 'master'.
881
931 - "git commit --dry-run" reported "No, no, you cannot commit." in one
932 - case where "git commit" would have allowed you to commit, and this
933 - improves it a little bit ("git commit --dry-run --short" still does
934 - not give you the correct answer, for example).
882
883 +* pb/commit-verbose-config (2016-03-14) 1 commit
884 + (merged to 'next' on 2016-04-06 at e5c744f)
885 + + commit: add a commit.verbose config variable
886
937 -* nd/icase (2016-02-15) 12 commits
938 - - grep.c: reuse "icase" variable
939 - - diffcore-pickaxe: support case insensitive match on non-ascii
940 - - diffcore-pickaxe: "share" regex error handling code
941 - - grep/pcre: support utf-8
942 - - gettext: add is_utf8_locale()
943 - - grep/pcre: prepare locale-dependent tables for icase matching
944 - - grep/icase: avoid kwsset when -F is specified
945 - - grep/icase: avoid kwsset on literal non-ascii strings
946 - - test-regex: expose full regcomp() to the command line
947 - - test-regex: isolate the bug test code
948 - - grep: break down an "if" stmt in preparation for next changes
949 - - grep: allow -F -i combination
887 + "git commit" learned to pay attention to "commit.verbose"
888 + configuration variable and act as if "--verbose" option was
889 + given from the command line.
890
951 - "git grep -i" has been taught to fold case in non-ascii locales.
891 + Will merge to 'master'.
892
953 - Needs review.
954 - ($gmane/286137)
893
894 +* jc/merge-refuse-new-root (2016-03-23) 1 commit
895 + (merged to 'next' on 2016-04-04 at cd70fd6)
896 + + merge: refuse to create too cool a merge by default
897
957 -* sb/submodule-parallel-update (2016-03-01) 10 commits
958 - (merged to 'next' on 2016-04-04 at a0aea8d)
959 - + clone: allow an explicit argument for parallel submodule clones
960 - + submodule update: expose parallelism to the user
961 - + submodule helper: remove double 'fatal: ' prefix
962 - + git submodule update: have a dedicated helper for cloning
963 - + run_processes_parallel: rename parameters for the callbacks
964 - + run_processes_parallel: treat output of children as byte array
965 - + submodule update: direct error message to stderr
966 - + fetching submodules: respect `submodule.fetchJobs` config option
967 - + submodule-config: drop check against NULL
968 - + submodule-config: keep update strategy around
969 - (this branch is used by sb/clone-shallow-passthru and sb/submodule-init.)
898 + Originally merged to 'next' on 2016-03-23
899
971 - Originally merged to 'next' on 2016-03-15
900 + "git merge" used to allow merging two branches that have no common
901 + base by default, which led to a brand new history of an existing
902 + project created and then get pulled by an unsuspecting maintainer,
903 + which allowed an unnecessary parallel history merged into the
904 + existing project. The command has been taught not to allow this by
905 + default, with an escape hatch "--allow-unrelated-histories" option
906 + to be used in a rare event that merges histories of two projects
907 + that started their lives independently.
908
973 - A major part of "git submodule update" has been ported to C to take
974 - advantage of the recently added framework to run download tasks in
975 - parallel.
909 + Will merge to 'master'.
910
977 - Will merge to 'master' after 2.8 final.
911
912 +* lt/pretty-expand-tabs (2016-04-04) 4 commits
913 + (merged to 'next' on 2016-04-06 at 186ac2a)
914 + + pretty: test --expand-tabs
915 + + pretty: allow tweaking tabwidth in --expand-tabs
916 + + pretty: enable --expand-tabs by default for selected pretty formats
917 + + pretty: expand tabs in indented logs to make things line up properly
918
980 -* dt/refs-backend-lmdb (2016-02-25) 45 commits
981 - . SQUASH??? Minimum compilation band-aid
982 - . tests: add ref-storage argument
983 - . refs: tests for lmdb backend
984 - . refs: add LMDB refs storage backend
985 - . refs: break out resolve_ref_unsafe_submodule
986 - . config: read ref storage config on startup
987 - . refs: register ref storage backends
988 - . svn: learn ref-storage argument
989 - . clone: allow ref storage backend to be set for clone
990 - . refs: check submodules' ref storage config
991 - . init: allow alternate ref strorage to be set for new repos
992 - . refs: always handle non-normal refs in files backend
993 - . refs: resolve symbolic refs first
994 - . refs: on symref reflog expire, lock symref not referrent
995 - . refs: don't dereference on rename
996 - . refs: allow log-only updates
997 - . refs: move duplicate check to common code
998 - . refs: make lock generic
999 - . refs: handle non-normal ref renames
1000 - . refs: add method to rename refs
1001 - . refs: add methods to init refs db
1002 - . refs: add method for delete_refs
1003 - . refs: add method for initial ref transaction commit
1004 - . refs: add methods for reflog
1005 - . refs: add do_for_each_per_worktree_ref
1006 - . refs: reduce the visibility of do_for_each_ref()
1007 - . refs: add method for do_for_each_ref
1008 - . refs: add methods for misc ref operations
1009 - . refs: add a backend method structure with transaction functions
1010 - . refs: move resolve_ref_unsafe into common code
1011 - . files-backend: break out ref reading
1012 - . refs: move for_each_*ref* functions into common code
1013 - . refs: move head_ref{,_submodule} to the common code
1014 - . Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb
1015 - . clone: allow an explicit argument for parallel submodule clones
1016 - . submodule update: expose parallelism to the user
1017 - . git submodule update: have a dedicated helper for cloning
1018 - . run_processes_parallel: correctly terminate callbacks with an LF
1019 - . run_processes_parallel: rename parameters for the callbacks
1020 - . run-command: expose default_{start_failure, task_finished}
1021 - . run_processes_parallel: treat output of children as byte array
1022 - . submodule update: direct error message to stderr
1023 - . fetching submodules: respect `submodule.fetchJobs` config option
1024 - . submodule-config: drop check against NULL
1025 - . submodule-config: keep update strategy around
919 + When "git log" shows the log message indented by 4-spaces, the
920 + remainder of a line after a HT does not align in the way the author
921 + originally intended. The command now expands tabs by default in
922 + such a case, and allows the users to override it with a new option,
923 + '--no-expand-tabs'.
924
1027 - A reroll exists, but it seems that will further be rerolled.
925 + Will merge to 'master'.
926 +
927 +
928 +* cc/apply (2016-04-01) 4 commits
929 + (merged to 'next' on 2016-04-06 at 2e23c44)
930 + + builtin/apply: free patch when parse_chunk() fails
931 + + builtin/apply: handle parse_binary() failure
932 + + apply: remove unused call to free() in gitdiff_{old,new}name()
933 + + builtin/apply: get rid of useless 'name' variable
934 +
935 + Minor code clean-up.
936 +
937 + Will merge to 'master'.
938 +
939 +
940 +* dt/index-helper (2016-03-23) 18 commits
941 + - SQUASH - minimum compilation fix
942 + - read-cache: config for waiting for index-helper
943 + - index-helper: optionally automatically run
944 + - index-helper: autorun mode
945 + - index-helper: don't run if already running
946 + - index-helper: kill mode
947 + - unpack-trees: preserve index extensions
948 + - update-index: enable/disable watchman support
949 + - index-helper: use watchman to avoid refreshing index with lstat()
950 + - Add watchman support to reduce index refresh cost
951 + - read-cache: invalidate untracked cache data when reading WAMA
952 + - read-cache: add watchman 'WAMA' extension
953 + - index-helper: add --detach
954 + - daemonize(): set a flag before exiting the main process
955 + - index-helper: add --strict
956 + - index-helper: new daemon for caching index and related stuff
957 + - read-cache: allow to keep mmap'd memory after reading
958 + - read-cache.c: fix constness of verify_hdr()
959 +
960 + Needs review.
961 +
962 +
963 +* jc/bundle (2016-03-03) 6 commits
964 + - index-pack: --clone-bundle option
965 + - Merge branch 'jc/index-pack' into jc/bundle
966 + - bundle v3: the beginning
967 + - bundle: keep a copy of bundle file name in the in-core bundle header
968 + - bundle: plug resource leak
969 + - bundle doc: 'verify' is not about verifying the bundle
970 +
971 + The beginning of "split bundle", which could be one of the
972 + ingredients to allow "git clone" traffic off of the core server
973 + network to CDN.
974
975
976 * ad/cygwin-wants-rename (2015-08-07) 1 commit
@@ -1034,7 +980,7 @@ of the repositories listed at
980 ($gmane/275680).
981
982
1037 -* jc/rerere-multi (2016-03-28) 11 commits
983 +* jc/rerere-multi (2016-04-06) 11 commits
984 - rerere: adjust 'forget' to multi-variant world order
985 - rerere: split code to call ll_merge() further
986 - rerere: move code related to "forget" together
@@ -1051,14 +997,16 @@ of the repositories listed at
997 signature that have to be resolved in different ways, but there was
998 no way to record these separate resolutions.
999
1054 - Need to send out the final round of review as this should be now complete.
1000 + Will merge to 'next'.
1001
1002
1003 * jc/merge-drop-old-syntax (2015-04-29) 1 commit
1004 - merge: drop 'git merge <message> HEAD <commit>' syntax
1005
1006 Stop supporting "git merge <message> HEAD <commit>" syntax that has
1061 - been deprecated since October 2007. It has been reported that
1062 - git-gui still uses the deprecated syntax, which needs to be fixed
1063 - before this final step can proceed.
1007 + been deprecated since October 2007, and issues a deprecation
1008 + warning message since v2.5.0.
1009 +
1010 + It has been reported that git-gui still uses the deprecated syntax,
1011 + which needs to be fixed before this final step can proceed.
1012 ($gmane/282594)