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)