What's cooking (2015/10 #04)
Junio C Hamano committed
Oct 20, 2015 at 15:08 UTC
a031d1c30d72d1b7bd8b48b89f43581138c01058
1 file changed
+534
-635
whats-cooking.txt
+534
-635
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Oct 2015, #03; Wed, 14)
4
-X-master-at: b27dacc1a80d1eca1994e6552d913e42d517f998
5
-X-next-at: 4b8c365398e63642c531f6a096df9da66a27f9fe
3
+Subject: What's cooking in git.git (Oct 2015, #04; Tue, 20)
4
+X-master-at: 614a2aced1ba739dfe5bf17a85f9d376efb235b1
5
+X-next-at: 4688abffc19bfe433e802ce56f31d4a362291a2d
6
7
-What's cooking in git.git (Oct 2015, #03; Wed, 14)
7
+What's cooking in git.git (Oct 2015, #04; Tue, 20)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -26,179 +26,332 @@ of the repositories listed at
26
--------------------------------------------------
27
[Graduated to "master"]
28
29
-* jk/asciidoctor-section-heading-markup-fix (2015-09-25) 1 commit
30
- (merged to 'next' on 2015-10-07 at 8bbff49)
31
- + Documentation: fix section header mark-up
29
+* cc/quote-comments (2015-10-07) 2 commits
30
+ (merged to 'next' on 2015-10-09 at fc8a359)
31
+ + quote: move comment before sq_quote_buf()
32
+ + quote: fix broken sq_quote_buf() related comment
33
34
+ A no-op code-health maintenance.
35
34
-* jk/notes-dwim-doc (2015-09-22) 1 commit
35
- (merged to 'next' on 2015-10-07 at c4341d1)
36
- + notes: correct documentation of DWIMery for notes references
37
- (this branch is used by mh/notes-allow-reading-treeish.)
36
39
- The way how --ref/--notes to specify the notes tree reference are
40
- DWIMmed was not clearly documented.
37
+* dt/log-follow-config (2015-10-07) 1 commit
38
+ (merged to 'next' on 2015-10-09 at 64a30d2)
39
+ + log: Update log.follow doc and add to config.txt
40
41
+ Description of the "log.follow" configuration variable in "git log"
42
+ documentation is now also copied to "git config" documentation.
43
43
-* nd/ls-remote-does-not-have-u-option (2015-09-28) 1 commit
44
- (merged to 'next' on 2015-10-07 at 0790a76)
45
- + ls-remote.txt: delete unsupported option
44
45
+* es/worktree-add-cleanup (2015-10-07) 1 commit
46
+ (merged to 'next' on 2015-10-09 at 6ffd721)
47
+ + t2026: rename worktree prune test
48
48
-* pt/pull-builtin (2015-10-02) 1 commit
49
- (merged to 'next' on 2015-10-07 at 19af20e)
50
- + merge: grammofix in please-commit-before-merge message
49
+ A no-op code-health maintenance.
50
51
53
-* tk/typofix-connect-unknown-proto-error (2015-09-25) 1 commit
54
- (merged to 'next' on 2015-10-07 at cc3430e)
55
- + connect: fix typo in result string of prot_name()
52
+* gr/rebase-i-drop-warn (2015-10-05) 2 commits
53
+ (merged to 'next' on 2015-10-09 at 0626b96)
54
+ + rebase-i: loosen over-eager check_bad_cmd check
55
+ + rebase-i: explicitly accept tab as separator in commands
56
57
---------------------------------------------------
58
-[New Topics]
57
+ "git rebase -i" had a minor regression recently, which stopped
58
+ considering a line that begins with an indented '#' in its insn
59
+ sheet not a comment, which is now fixed.
60
60
-* jc/mailinfo (2015-10-08) 1 commit
61
- . mailinfo: ignore in-body header that we do not care about
61
63
- Some people write arbitrary garbage at the beginning of a piece of
64
- e-mail (or after -- >8 -- scissors -- >8 -- line) in the commit log
65
- message and expect them to be discarded, even though "From:" and
66
- "Subject:" are the only documented in-body headers that you are
67
- supposed to have there. Allow some garbage (specifically, what may
68
- look like RFC2822 headers like "MIME-Version: ...") to be there and
69
- ignore them.
62
+* jc/doc-gc-prune-now (2015-10-14) 1 commit
63
+ (merged to 'next' on 2015-10-15 at 5c07566)
64
+ + Documentation/gc: warn against --prune=<now>
65
71
- I have a feeling that that this is a step in a wrong direction.
72
- Excluded from 'pu' for now.
66
+ "git gc" is safe to run anytime only because it has the built-in
67
+ grace period to protect young objects. In order to run with no
68
+ grace period, the user must make sure that the repository is
69
+ quiescent.
70
+
71
+
72
+* jc/fsck-dropped-errors (2015-09-23) 1 commit
73
+ (merged to 'next' on 2015-10-09 at 887fcac)
74
+ + fsck: exit with non-zero when problems are found
75
+
76
+ There were some classes of errors that "git fsck" diagnosed to its
77
+ standard error that did not cause it to exit with non-zero status.
78
79
80
* jk/filter-branch-use-of-sed-on-incomplete-line (2015-10-12) 1 commit
76
- - filter-branch: remove multi-line headers in msg filter
81
+ (merged to 'next' on 2015-10-15 at 9e7c032)
82
+ + filter-branch: remove multi-line headers in msg filter
83
84
A recent "filter-branch --msg-filter" broke skipping of the commit
85
object header, which is fixed.
86
81
- Will merge to 'next'.
87
+
88
+* js/clone-dissociate (2015-10-07) 4 commits
89
+ (merged to 'next' on 2015-10-09 at ba30393)
90
+ + clone --dissociate: avoid locking pack files
91
+ + sha1_file.c: add a function to release all packs
92
+ + sha1_file: consolidate code to close a pack's file descriptor
93
+ + t5700: demonstrate a Windows file locking issue with `git clone --dissociate`
94
+
95
+ "git clone --dissociate" runs a big "git repack" process at the
96
+ end, and it helps to close file descriptors that are open on the
97
+ packs and their idx files before doing so on filesystems that
98
+ cannot remove a file that is still open.
99
+
100
+
101
+* js/gc-with-stale-symref (2015-10-08) 2 commits
102
+ (merged to 'next' on 2015-10-09 at 8b89576)
103
+ + pack-objects: do not get distracted by broken symrefs
104
+ + gc: demonstrate failure with stale remote HEAD
105
+
106
+ "git gc" used to barf when a symbolic ref has gone dangling
107
+ (e.g. the branch that used to be your upstream's default when you
108
+ cloned from it is now gone, and you did "fetch --prune").
109
+
110
+
111
+* js/icase-wt-detection (2015-09-28) 1 commit
112
+ (merged to 'next' on 2015-10-09 at 78ff500)
113
+ + setup: fix "inside work tree" detection on case-insensitive filesystems
114
+
115
+ On a case insensitive filesystems, setting GIT_WORK_TREE variable
116
+ using a random cases that does not agree with what the filesystem
117
+ thinks confused Git that it wasn't inside the working tree.
118
+
119
+
120
+* kn/for-each-branch (2015-09-25) 8 commits
121
+ (merged to 'next' on 2015-10-09 at 45723ce)
122
+ + branch: add '--points-at' option
123
+ + branch.c: use 'ref-filter' APIs
124
+ + branch.c: use 'ref-filter' data structures
125
+ + branch: drop non-commit error reporting
126
+ + branch: move 'current' check down to the presentation layer
127
+ + branch: roll show_detached HEAD into regular ref_list
128
+ + branch: bump get_head_description() to the top
129
+ + branch: refactor width computation
130
+ (this branch is used by kn/for-each-branch-remainder.)
131
+
132
+ Update "git branch" that list existing branches, using the
133
+ ref-filter API that is shared with "git tag" and "git
134
+ for-each-ref".
135
+
136
+
137
+* ls/p4-lfs (2015-10-03) 7 commits
138
+ (merged to 'next' on 2015-10-14 at 4b8c365)
139
+ + git-p4: add Git LFS backend for large file system
140
+ + git-p4: add support for large file systems
141
+ + git-p4: check free space during streaming
142
+ + git-p4: add file streaming progress in verbose mode
143
+ + git-p4: return an empty list if a list config has no values
144
+ + git-p4: add gitConfigInt reader
145
+ + git-p4: add optional type specifier to gitConfig reader
146
+
147
+ Teach "git p4" to send large blobs outside the repository by
148
+ talking to Git LFS.
149
+
150
+
151
+* ls/p4-translation-failure (2015-09-22) 2 commits
152
+ (merged to 'next' on 2015-10-09 at b462387)
153
+ + git-p4: handle "Translation of file content failed"
154
+ + git-p4: add test case for "Translation of file content failed" error
155
+
156
+ Work around "git p4" failing when the P4 depot records the contents
157
+ in UTF-16 without UTF-16 BOM.
158
+
159
+
160
+* mk/submodule-gitdir-path (2015-09-14) 2 commits
161
+ (merged to 'next' on 2015-10-09 at cf8768e)
162
+ + path: implement common_dir handling in git_pathdup_submodule()
163
+ + submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb()
164
+
165
+ The submodule code has been taught to work better with separate
166
+ work trees created via "git worktree add".
167
+
168
+
169
+* mm/detach-at-HEAD-reflog (2015-10-02) 2 commits
170
+ (merged to 'next' on 2015-10-09 at 624bc87)
171
+ + status: don't say 'HEAD detached at HEAD'
172
+ + t3203: test 'detached at' after checkout --detach
173
+
174
+ After "git checkout --detach", "git status" reported a fairly
175
+ useless "HEAD detached at HEAD", instead of saying at which exact
176
+ commit.
177
+
178
+
179
+* nd/clone-linked-checkout (2015-09-28) 6 commits
180
+ (merged to 'next' on 2015-10-09 at a93973f)
181
+ + clone: better error when --reference is a linked checkout
182
+ + clone: allow --local from a linked checkout
183
+ + enter_repo: allow .git files in strict mode
184
+ + enter_repo: avoid duplicating logic, use is_git_directory() instead
185
+ + t0002: add test for enter_repo(), non-strict mode
186
+ + path.c: delete an extra space
187
+
188
+ It was not possible to use a repository-lookalike created by "git
189
+ worktree add" as a local source of "git clone".
190
+
191
+
192
+* nd/gc-auto-background-fix (2015-09-21) 1 commit
193
+ (merged to 'next' on 2015-10-09 at 1f0fc60)
194
+ + gc: save log from daemonized gc --auto and print it next time
195
+
196
+ When "git gc --auto" is backgrounded, its diagnosis message is
197
+ lost. Save it to a file in $GIT_DIR and show it next time the "gc
198
+ --auto" is run.
199
+
200
+
201
+* pt/am-builtin (2015-09-30) 1 commit
202
+ (merged to 'next' on 2015-10-09 at 396def8)
203
+ + am: configure gpg at startup
204
+
205
+ When "git am" was rewritten as a built-in, it stopped paying
206
+ attention to user.signingkey, which was fixed.
207
208
209
* rd/test-path-utils (2015-10-08) 1 commit
85
- - test-path-utils.c: remove incorrect assumption
210
+ (merged to 'next' on 2015-10-15 at 827a271)
211
+ + test-path-utils.c: remove incorrect assumption
212
213
The normalize_ceiling_entry() function does not muck with the end
214
of the path it accepts, and the real world callers do rely on that,
215
but a test insisted that the function drops a trailing slash.
216
91
- Will merge to 'next'.
217
218
+* sa/send-email-smtp-batch-data-limit (2015-09-30) 1 commit
219
+ (merged to 'next' on 2015-10-09 at c021fdf)
220
+ + git-send-email.perl: Fixed sending of many/huge changes/patches
221
94
-* jc/doc-gc-prune-now (2015-10-14) 1 commit
95
- - Documentation/gc: warn against --prune=<now>
222
+ When "git send-email" wanted to talk over Net::SMTP::SSL,
223
+ Net::Cmd::datasend() did not like to be fed too many bytes at the
224
+ same time and failed to send messages. Send the payload one line
225
+ at a time to work around the problem.
226
97
- "git gc" is safe to run anytime only because it has the built-in
98
- grace period to protect young objects. In order to run with no
99
- grace period, the user must make sure that the repository is
100
- quiescent.
227
102
- Will merge to 'next'.
228
+* sb/http-flaky-test-fix (2015-09-25) 1 commit
229
+ (merged to 'next' on 2015-10-09 at 9dc37f3)
230
+ + t5561: get rid of racy appending to logfile
231
232
+ A test script for the HTTP service had a timing dependent bug,
233
+ which was fixed.
234
105
-* jc/am-mailinfo-direct (2015-10-14) 1 commit
106
- - am: make direct call to mailinfo
107
- (this branch uses jc/mailinfo-lib.)
235
109
- "git am" used to spawn "git mailinfo" via run_command() API once
110
- per each patch, but learned to make a direct call to mailinfo()
111
- instead.
236
+* sb/perf-without-installed-git (2015-09-25) 1 commit
237
+ (merged to 'next' on 2015-10-09 at 7a1ed05)
238
+ + t/perf: make runner work even if Git is not installed
239
113
- Needs benchmark on platforms with slow run_command().
240
+ Performance-measurement tests did not work without an installed Git.
241
242
116
-* jc/mailinfo-lib (2015-10-14) 30 commits
117
- - mailinfo: remove calls to exit() and die() deep in the callchain
118
- - mailinfo: handle charset conversion errors in the caller
119
- - mailinfo: libify
120
- - mailinfo: move definition of MAX_HDR_PARSED to closer to its use
121
- - mailinfo: move cleanup_space() before its users
122
- - mailinfo: move check_header() after the helpers it uses
123
- - mailinfo: move read_one_header_line() closer to its callers
124
- - mailinfo: move content/content_top to struct mailinfo
125
- - mailinfo: keep the parsed log message in a strbuf
126
- - mailinfo: move [ps]_hdr_data to struct mailinfo
127
- - mailinfo: move cmitmsg and patchfile to struct mailinfo
128
- - mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak
129
- - mailinfo: move charset to struct mailinfo
130
- - mailinfo: move transfer_encoding to struct mailinfo
131
- - mailinfo: move metainfo_charset to struct mailinfo
132
- - mailinfo: move use_scissors and use_inbody_headers to struct mailinfo
133
- - mailinfo: move add_message_id and message_id to struct mailinfo
134
- - mailinfo: move patch_lines to struct mailinfo
135
- - mailinfo: move filter/header stage to struct mailinfo
136
- - mailinfo: move global "FILE *fin, *fout" to struct mailinfo
137
- - mailinfo: move keep_subject & keep_non_patch_bracket to struct mailinfo
138
- - mailinfo: introduce "struct mailinfo" to hold globals
139
- - mailinfo: move global "line" into mailinfo() function
140
- - mailinfo: always pass "line" as an argument
141
- - mailinfo: get rid of function-local static states
142
- - mailinfo: move handle_boundary() lower
143
- - mailinfo: fold decode_header_bq() into decode_header()
144
- - mailinfo: explicitly close file handle to the patch output
145
- - mailinfo: fix for off-by-one error in boundary stack
146
- - mailinfo: remove a no-op call convert_to_utf8(it, "")
147
- (this branch is used by jc/am-mailinfo-direct.)
243
+* sb/submodule-config-parse (2015-10-12) 1 commit
244
+ (merged to 'next' on 2015-10-15 at 6fea79d)
245
+ + submodule-config: "goto" removal in parse_config()
246
149
- The implementation of "git mailinfo" was refactored so that a
150
- mailinfo() function can be directly called from inside a process.
247
+ Code simplification.
248
249
153
-* jc/am-3-fallback-regression-fix (2015-10-09) 1 commit
154
- - am -3: do not let failed merge from completing the error codepath
155
- (this branch is used by js/am-3-merge-recursive-direct.)
250
+* tk/doc-interpret-trailers-grammo (2015-10-07) 1 commit
251
+ (merged to 'next' on 2015-10-09 at 37888a2)
252
+ + Documentation/interpret-trailers: Grammar fix
253
157
- "git am -3" had a small regression where it is aborted in its error
158
- handling codepath when underlying merge-recursive failed in certain
159
- ways, as it assumed that the internal call to merge-recursive will
160
- never die, which is not the case (yet).
254
+--------------------------------------------------
255
+[New Topics]
256
257
+* dt/refs-backend-pre-vtable (2015-10-15) 27 commits
258
+ - introduce "extensions" form of core.repositoryformatversion
259
+ - refs: break out ref conflict checks
260
+ - refs: make files_log_ref_write functions public
261
+ - initdb: move safe_create_dir into common code
262
+ - refs.c: move should_autocreate_reflog to common code
263
+ - refs.c: move peel_object to the common code
264
+ - refs.c: move copy_msg to the common code
265
+ - refs.c: move refname_is_safe to the common code
266
+ - refs: move transaction functions into common code
267
+ - refs.c: move head_ref_namespaced to the common code
268
+ - refs.c: move ref iterators to the common code
269
+ - refs.c: move prettify_refname to the common code
270
+ - refs.c: move is_branch to the common code
271
+ - refs.c: move check_refname_format to the common code
272
+ - refs.c: move resolve_refdup to common
273
+ - refs.c: move read_ref, read_ref_full and ref_exists to the common code
274
+ - refs.c: move warn_if_dangling_symref* to the common code
275
+ - refs.c: move dwim and friend functions to the common refs code
276
+ - refs.c: move the hidden refs functions to the common code
277
+ - refs.c: move read_ref_at to the common refs file
278
+ - refs.c: move delete_pseudoref and delete_ref to the common code
279
+ - refs.c: move update_ref to refs.c
280
+ - refs.c: add a new refs.c file to hold all common refs code
281
+ - refs-be-files.c: rename refs to refs-be-files
282
+ - refs: make repack_without_refs and is_branch public
283
+ - refs.c: create a public version of verify_refname_available
284
+ - Merge branch 'jk/war-on-sprintf' into HEAD
285
+ (this branch uses jk/war-on-sprintf; is tangled with dt/refs-backend-lmdb.)
286
163
-* js/am-3-merge-recursive-direct (2015-10-12) 2 commits
164
- - am: make a direct call to merge_recursive
165
- - merge_recursive_options: introduce the "gently" flag
166
- (this branch uses jc/am-3-fallback-regression-fix.)
287
+ The early part of the pluggable ref backend series, which sifts the
288
+ ref API functions into two bins: the filesystem backend specific
289
+ ones and the generic API functions. The next step will start
290
+ introducing the framework to dispatch generic calls to specific
291
+ backend implementation(s) and then finally plug a new backend that
292
+ is different from the file backend.
293
168
- The merge_recursive_generic() function has been made a bit safer to
169
- call from inside a process. "git am -3" was taught to make a direct
170
- call to the function when falling back to three-way merge.
294
+ Expecting a reroll after an review of the remainder.
295
+ ($gmane/279897).
296
297
173
-* km/cache-entry-refcnt (2015-10-12) 1 commit
174
- - merge: fix cache_entry use-after-free
298
+* jc/usage-stdin (2015-10-16) 1 commit
299
+ - usage: do not insist that standard input must come from a file
300
176
- Sometimes we discarded a cache-entry that is still referenced from
177
- name-hash (used only to hold the pathname there), leading to use
178
- after free errors. Reference-count cache entries to work it
179
- around.
301
+ The synopsys text and the usage string of subcommands that read
302
+ list of things from the standard input are often shown as if they
303
+ only take input from a file on a filesystem, which was misleading.
304
305
+ Will merge to 'next'.
306
182
-* ls/p4-test-updates (2015-10-12) 2 commits
183
- - git-p4: skip t9819 test case on case insensitive file systems
184
- - git-p4: avoid "stat" command in t9815 git-p4-submit-fail
307
186
- A few test scripts around "git p4" have been improved for
187
- portability.
308
+* rt/placeholder-in-usage (2015-10-16) 1 commit
309
+ - am, credential-cache: add angle brackets to usage string
310
+
311
+ A couple of commands still showed "[options]" in their usage string
312
+ to note where options should come on their command line, but we
313
+ spell that "[<options>]" in most places these days.
314
315
Will merge to 'next'.
316
317
192
-* sb/submodule-config-parse (2015-10-12) 1 commit
193
- - submodule-config: "goto" removal in parse_config()
318
+* tk/stripspace (2015-10-16) 2 commits
319
+ - stripspace: use parse-options for command-line parsing
320
+ - strbuf: make stripspace() part of strbuf
321
+
322
+ The internal stripspace() function has been moved to where it
323
+ logically belongs to, i.e. strbuf API, and the command line parser
324
+ of "git stripspace" has been updated to use the parse_options API.
325
326
Will merge to 'next'.
327
328
198
-* tb/t0027-crlf (2015-10-12) 1 commit
199
- - t0027: improve test for not-normalized files
329
+* dk/p4-import-ctypes (2015-10-20) 1 commit
330
+ - git-p4: import the ctypes module
331
+
332
+ "git-p4" tried to use from ctypes module without first importing
333
+ it.
334
+
335
+ Will merge to 'next'.
336
+
337
+
338
+* dt/t7063-fix-flaky-test (2015-10-19) 1 commit
339
+ - t7063: fix flaky untracked-cache test
340
+
341
+ Will merge to 'next'.
342
201
- The test for various line-ending conversions has been enhanced.
343
+
344
+* es/worktree-add (2015-10-18) 1 commit
345
+ - worktree: usage: denote <branch> as optional with 'add'
346
+
347
+ Will merge to 'next'.
348
+
349
+
350
+* kn/for-each-tag (2015-10-18) 1 commit
351
+ - tag.c: use the correct algorithm for the '--contains' option
352
+
353
+ Recent update to "git tag --contains" caused a performance
354
+ regression.
355
356
Will merge to 'next'.
357
@@ -240,16 +393,6 @@ of the repositories listed at
393
($gmane/277574)
394
395
243
-* mr/worktree-list (2015-10-08) 5 commits
244
- - worktree: add 'list' command
245
- - worktree: add details to the worktree struct
246
- - worktree: add a function to get worktree details
247
- - worktree: refactor find_linked_symref function
248
- - worktree: add top-level worktree.c
249
-
250
- Add the "list" subcommand to "git worktree".
251
-
252
-
396
* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
397
- t/lib-git-svn: check same httpd module dirs as lib-httpd
398
- t/lib-httpd: load mod_unixd
@@ -312,358 +455,253 @@ of the repositories listed at
455
--------------------------------------------------
456
[Cooking]
457
315
-* cc/quote-comments (2015-10-07) 2 commits
316
- (merged to 'next' on 2015-10-09 at fc8a359)
317
- + quote: move comment before sq_quote_buf()
318
- + quote: fix broken sq_quote_buf() related comment
319
-
320
- A no-op code-health maintenance.
321
-
322
- Will merge to 'master'.
323
-
324
-
325
-* dt/log-follow-config (2015-10-07) 1 commit
326
- (merged to 'next' on 2015-10-09 at 64a30d2)
327
- + log: Update log.follow doc and add to config.txt
328
-
329
- Description of the "log.follow" configuration variable in "git log"
330
- documentation is now also copied to "git config" documentation.
331
-
332
- Will merge to 'master'.
333
-
334
-
335
-* es/worktree-add-cleanup (2015-10-07) 1 commit
336
- (merged to 'next' on 2015-10-09 at 6ffd721)
337
- + t2026: rename worktree prune test
338
-
339
- A no-op code-health maintenance.
340
-
341
- Will merge to 'master'.
342
-
343
-
344
-* sg/pretty-more-date-mode-format (2015-10-07) 1 commit
345
- - pretty: add format specifiers for short and raw date formats
346
-
347
- Introduce "%as" and "%aR" placeholders for "log --format" to show
348
- the author date in the short and raw formats.
349
-
350
- I have a feeling that that this is a step in a wrong direction.
351
-
352
-
353
-* tk/doc-interpret-trailers-grammo (2015-10-07) 1 commit
354
- (merged to 'next' on 2015-10-09 at 37888a2)
355
- + Documentation/interpret-trailers: Grammar fix
356
-
357
- Will merge to 'master'.
358
-
359
-
360
-* dt/refs-backend-lmdb (2015-10-12) 45 commits
361
- - refs: tests for db backend
362
- - refs: add LMDB refs backend
363
- - introduce "extensions" form of core.repositoryformatversion
364
- - refs: add register_refs_backend
365
- - refs: allow ref backend to be set for clone
366
- - refs: always handle non-normal refs in files backend
367
- - refs: move duplicate check to common code
368
- - refs: break out a ref conflict check
369
- - refs: make files_log_ref_write functions public
370
- - refs: make lock generic
371
- - refs-be-files.c: add method to rename refs
372
- - refs.c: add method for initializing refs db
373
- - initdb: move safe_create_dir into common code
374
- - refs.c: add method for initial ref transaction commit
375
- - refs.c: add methods for reflog
376
- - refs.c: add ref backend init function
377
- - refs.c: move should_autocreate_reflog to common code
378
- - refs.c: move peel_object to the common code
379
- - refs.c: move copy_msg to the common code
380
- - refs.h: document make refname_is_safe and add it to header
381
- - refs.c: move refname_is_safe to the common code
382
- - refs-be-files.c: add do_for_each_per_worktree_ref
383
- - refs-be-files.c: add method for for_each_reftype_...
384
- - refs-be-files.c: add methods for the ref iterators
385
- - refs-be-files.c: add methods for misc ref operations
386
- - refs: add a backend method structure with transaction functions
387
- - refs: move transaction functions into common code
388
- - refs.c: move head_ref_namespaced to the common code
389
- - refs.c: move ref iterators to the common code
390
- - refs.c: move prettify_refname to the common code
391
- - refs.c: move is_branch to the common code
392
- - refs.c: move check_refname_format to the common code
393
- - refs.c: move resolve_refdup to common
394
- - refs.c: move read_ref, read_ref_full and ref_exists to the common code
395
- - refs.c: move warn_if_dangling_symref* to the common code
396
- - refs.c: move dwim and friend functions to the common refs code
397
- - refs.c: move the hidden refs functions to the common code
398
- - refs.c: move read_ref_at to the common refs file
399
- - refs.c: move delete_ref and delete_refs to the common code
400
- - refs.c: move update_ref to refs.c
401
- - refs.c: add a new refs.c file to hold all common refs code
402
- - refs-be-files.c: rename refs to refs-be-files
403
- - refs: make repack_without_refs and is_branch public
404
- - refs.c: create a public version of verify_refname_available
405
- - Merge branch 'jk/war-on-sprintf' into HEAD
406
- (this branch uses jk/war-on-sprintf.)
407
-
408
- Pluggable ref backend.
409
-
410
- Expecting a reroll (as two parts series).
411
-
412
-
413
-* gr/rebase-i-drop-warn (2015-10-05) 2 commits
414
- (merged to 'next' on 2015-10-09 at 0626b96)
415
- + rebase-i: loosen over-eager check_bad_cmd check
416
- + rebase-i: explicitly accept tab as separator in commands
417
-
418
- "git rebase -i" had a minor regression recently, which stopped
419
- considering a line that begins with an indented '#' in its insn
420
- sheet not a comment, which is now fixed.
421
-
422
- Will merge to 'master'.
423
-
424
-
425
-* kn/for-each-branch-remainder (2015-10-02) 9 commits
426
- - branch: implement '--format' option
427
- - branch: use ref-filter printing APIs
428
- - ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams
429
- - ref-filter: introduce format_ref_array_item()
430
- - ref-filter: adopt get_head_description() from branch.c
431
- - ref-filter: modify "%(objectname:short)" to take length
432
- - ref-filter: add support for %(path) atom
433
- - ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)
434
- - ref-filter: implement %(if), %(then), and %(else) atoms
435
- (this branch uses kn/for-each-branch.)
436
-
437
- More unification among "branch -l", "tag -l" and "for-each-ref --format".
438
-
439
- Expecting a reroll.
440
- ($gmane/278926)
441
-
442
-
443
-* jk/war-on-sprintf (2015-10-05) 70 commits
444
- - name-rev: use strip_suffix to avoid magic numbers
445
- - use strbuf_complete to conditionally append slash
446
- - fsck: use for_each_loose_file_in_objdir
447
- - Makefile: drop D_INO_IN_DIRENT build knob
448
- - fsck: drop inode-sorting code
449
- - convert strncpy to memcpy
450
- - notes: document length of fanout path with a constant
451
- - color: add color_set helper for copying raw colors
452
- - prefer memcpy to strcpy
453
- - help: clean up kfmclient munging
454
- - receive-pack: simplify keep_arg computation
455
- - avoid sprintf and strcpy with flex arrays
456
- - use alloc_ref rather than hand-allocating "struct ref"
457
- - color: add overflow checks for parsing colors
458
- - drop strcpy in favor of raw sha1_to_hex
459
- - use sha1_to_hex_r() instead of strcpy
460
- - daemon: use cld->env_array when re-spawning
461
- - stat_tracking_info: convert to argv_array
462
- - http-push: use an argv_array for setup_revisions
463
- - fetch-pack: use argv_array for index-pack / unpack-objects
464
- - diagnose_invalid_index_path: use strbuf to avoid strcpy/strcat
465
- - write_loose_object: convert to strbuf
466
- - remove_leading_path: use a strbuf for internal storage
467
- - enter_repo: convert fixed-size buffers to strbufs
468
- - merge-recursive: convert malloc / strcpy to strbuf
469
- - transport: use strbufs for status table "quickref" strings
470
- - apply: convert root string to strbuf
471
- - init: use strbufs to store paths
472
- - probe_utf8_pathname_composition: use internal strbuf
473
- - precompose_utf8: drop unused variable
474
- - sha1_get_pack_name: use a strbuf
475
- - http-walker: store url in a strbuf
476
- - http-push: use strbuf instead of fwrite_buffer
477
- - remote-ext: simplify git pkt-line generation
478
- - upload-archive: convert sprintf to strbuf
479
- - resolve_ref: use strbufs for internal buffers
480
- - read_remotes_file: simplify string handling
481
- - read_branches_file: simplify string handling
482
- - mailmap: replace strcpy with xstrdup
483
- - help: drop prepend function in favor of xstrfmt
484
- - ref-filter: drop sprintf and strcpy calls
485
- - use strip_suffix and xstrfmt to replace suffix
486
- - fetch: replace static buffer with xstrfmt
487
- - config: use xstrfmt in normalize_value
488
- - replace trivial malloc + sprintf / strcpy calls with xstrfmt
489
- - receive-pack: convert strncpy to xsnprintf
490
- - http-push: replace strcat with xsnprintf
491
- - add_packed_git: convert strcpy into xsnprintf
492
- - entry.c: convert strcpy to xsnprintf
493
- - grep: use xsnprintf to format failure message
494
- - compat/hstrerror: convert sprintf to snprintf
495
- - stop_progress_msg: convert sprintf to xsnprintf
496
- - find_short_object_filename: convert sprintf to xsnprintf
497
- - use xsnprintf for generating git object headers
498
- - archive-tar: use xsnprintf for trivial formatting
499
- - convert trivial sprintf / strcpy calls to xsnprintf
500
- - compat/inet_ntop: fix off-by-one in inet_ntop4
501
- - test-dump-cache-tree: avoid overflow of cache-tree name
502
- - progress: store throughput display in a strbuf
503
- - trace: use strbuf for quote_crnl output
504
- - mailsplit: make PATH_MAX buffers dynamic
505
- - fsck: use strbuf to generate alternate directories
506
- - add reentrant variants of sha1_to_hex and find_unique_abbrev
507
- - strbuf: make strbuf_complete_line more generic
508
- - add git_path_buf helper function
509
- - add xsnprintf helper function
510
- - fsck: don't fsck alternates for connectivity-only check
511
- - archive-tar: fix minor indentation violation
512
- - mailsplit: fix FILE* leak in split_maildir
513
- - show-branch: avoid segfault with --reflog of unborn branch
514
- (this branch is used by dt/refs-backend-lmdb.)
515
-
516
- Many allocations that is manually counted (correctly) that are
517
- followed by strcpy/sprintf have been replaced with a less error
518
- prone constructs such as xstrfmt.
519
-
520
- Macintosh-specific breakage was noticed and corrected in this
521
- reroll.
522
-
523
- Will wait for a week or so before merging to 'next'.
524
-
525
-
526
-* rp/link-curl-before-ssl (2015-09-25) 3 commits
527
- - configure: make curl-config path configurable
528
- - configure.ac: detect ssl need with libcurl
529
- - Makefile: link libcurl before openssl and crypto
530
-
531
- Rerolls exist, but are still being discussed.
458
+* mr/worktree-list (2015-10-08) 5 commits
459
+ - worktree: add 'list' command
460
+ - worktree: add details to the worktree struct
461
+ - worktree: add a function to get worktree details
462
+ - worktree: refactor find_linked_symref function
463
+ - worktree: add top-level worktree.c
464
465
+ Add the "list" subcommand to "git worktree".
466
534
-* sb/http-flaky-test-fix (2015-09-25) 1 commit
535
- (merged to 'next' on 2015-10-09 at 9dc37f3)
536
- + t5561: get rid of racy appending to logfile
467
+ Will merge to 'next'.
468
538
- Will merge to 'master'.
469
470
+* jc/mailinfo (2015-10-20) 1 commit
471
+ - mailinfo: ignore in-body header that we do not care about
472
+ (this branch uses jc/am-mailinfo-direct and jc/mailinfo-lib.)
473
541
-* sb/perf-without-installed-git (2015-09-25) 1 commit
542
- (merged to 'next' on 2015-10-09 at 7a1ed05)
543
- + t/perf: make runner work even if Git is not installed
474
+ Some people write arbitrary garbage at the beginning of a piece of
475
+ e-mail (or after -- >8 -- scissors -- >8 -- line) in the commit log
476
+ message and expect them to be discarded, even though "From:" and
477
+ "Subject:" are the only documented in-body headers that you are
478
+ supposed to have there. Allow some garbage (specifically, what may
479
+ look like RFC2822 headers like "MIME-Version: ...") to be there and
480
+ ignore them.
481
545
- Performance-measurement tests did not work without an installed Git.
482
+ I have a feeling that that this is a step in a wrong direction.
483
+ Comments?
484
547
- Will merge to 'master'.
485
486
+* jc/am-mailinfo-direct (2015-10-20) 2 commits
487
+ - mailinfo: plug strbuf leak during continuation line handling
488
+ - am: make direct call to mailinfo
489
+ (this branch is used by jc/mailinfo; uses jc/mailinfo-lib.)
490
550
-* js/clone-dissociate (2015-10-07) 4 commits
551
- (merged to 'next' on 2015-10-09 at ba30393)
552
- + clone --dissociate: avoid locking pack files
553
- + sha1_file.c: add a function to release all packs
554
- + sha1_file: consolidate code to close a pack's file descriptor
555
- + t5700: demonstrate a Windows file locking issue with `git clone --dissociate`
491
+ "git am" used to spawn "git mailinfo" via run_command() API once
492
+ per each patch, but learned to make a direct call to mailinfo()
493
+ instead.
494
557
- "git clone --dissociate" runs a big "git repack" process at the
558
- end, and it helps to close file descriptors that are open on the
559
- packs and their idx files before doing so on filesystems that
560
- cannot remove a file that is still open.
495
+ Needs benchmark on platforms with slow run_command().
496
562
- Will merge to 'master'.
497
498
+* jc/mailinfo-lib (2015-10-19) 33 commits
499
+ - mailinfo: remove calls to exit() and die() deep in the callchain
500
+ - mailinfo: handle charset conversion errors in the caller
501
+ - mailinfo: libify
502
+ - mailinfo: move definition of MAX_HDR_PARSED closer to its use
503
+ - mailinfo: move cleanup_space() before its users
504
+ - mailinfo: move check_header() after the helpers it uses
505
+ - mailinfo: move read_one_header_line() closer to its callers
506
+ - mailinfo: keep the parsed log message in a strbuf
507
+ - mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak
508
+ - mailinfo: move content/content_top to struct mailinfo
509
+ - mailinfo: move [ps]_hdr_data to struct mailinfo
510
+ - mailinfo: move cmitmsg and patchfile to struct mailinfo
511
+ - mailinfo: move charset to struct mailinfo
512
+ - mailinfo: move transfer_encoding to struct mailinfo
513
+ - mailinfo: move check for metainfo_charset to convert_to_utf8()
514
+ - mailinfo: move metainfo_charset to struct mailinfo
515
+ - mailinfo: move use_scissors and use_inbody_headers to struct mailinfo
516
+ - mailinfo: move add_message_id and message_id to struct mailinfo
517
+ - mailinfo: move patch_lines to struct mailinfo
518
+ - mailinfo: move filter/header stage to struct mailinfo
519
+ - mailinfo: move global "FILE *fin, *fout" to struct mailinfo
520
+ - mailinfo: move keep_subject & keep_non_patch_bracket to struct mailinfo
521
+ - mailinfo: introduce "struct mailinfo" to hold globals
522
+ - mailinfo: move global "line" into mailinfo() function
523
+ - mailinfo: do not let find_boundary() touch global "line" directly
524
+ - mailinfo: do not let handle_boundary() touch global "line" directly
525
+ - mailinfo: do not let handle_body() touch global "line" directly
526
+ - mailinfo: get rid of function-local static states
527
+ - mailinfo: move handle_boundary() lower
528
+ - mailinfo: explicitly close file handle to the patch output
529
+ - mailinfo: fix an off-by-one error in the boundary stack
530
+ - mailinfo: fold decode_header_bq() into decode_header()
531
+ - mailinfo: remove a no-op call convert_to_utf8(it, "")
532
+ (this branch is used by jc/am-mailinfo-direct and jc/mailinfo.)
533
565
-* js/gc-with-stale-symref (2015-10-08) 2 commits
566
- (merged to 'next' on 2015-10-09 at 8b89576)
567
- + pack-objects: do not get distracted by broken symrefs
568
- + gc: demonstrate failure with stale remote HEAD
534
+ The implementation of "git mailinfo" was refactored so that a
535
+ mailinfo() function can be directly called from inside a process.
536
570
- "git gc" used to barf when a symbolic ref has gone dangling
571
- (e.g. the branch that used to be your upstream's default when you
572
- cloned from it is now gone, and you did "fetch --prune").
537
574
- Will merge to 'master'.
538
+* jc/am-3-fallback-regression-fix (2015-10-09) 1 commit
539
+ (merged to 'next' on 2015-10-15 at 7dde994)
540
+ + am -3: do not let failed merge from completing the error codepath
541
+ (this branch is used by js/am-3-merge-recursive-direct.)
542
543
+ "git am -3" had a small regression where it is aborted in its error
544
+ handling codepath when underlying merge-recursive failed in certain
545
+ ways, as it assumed that the internal call to merge-recursive will
546
+ never die, which is not the case (yet).
547
577
-* js/icase-wt-detection (2015-09-28) 1 commit
578
- (merged to 'next' on 2015-10-09 at 78ff500)
579
- + setup: fix "inside work tree" detection on case-insensitive filesystems
548
581
- Will merge to 'master'.
549
+* js/am-3-merge-recursive-direct (2015-10-12) 2 commits
550
+ - am: make a direct call to merge_recursive
551
+ - merge_recursive_options: introduce the "gently" flag
552
+ (this branch uses jc/am-3-fallback-regression-fix.)
553
554
+ The merge_recursive_generic() function has been made a bit safer to
555
+ call from inside a process. "git am -3" was taught to make a direct
556
+ call to the function when falling back to three-way merge.
557
584
-* mm/detach-at-HEAD-reflog (2015-10-02) 2 commits
585
- (merged to 'next' on 2015-10-09 at 624bc87)
586
- + status: don't say 'HEAD detached at HEAD'
587
- + t3203: test 'detached at' after checkout --detach
558
589
- After "git checkout --detach", "git status" reported a fairly
590
- useless "HEAD detached at HEAD", instead of saying at which exact
591
- commit.
559
+* km/cache-entry-refcnt (2015-10-14) 1 commit
560
+ - merge: fix cache_entry use-after-free
561
593
- Will merge to 'master'.
562
+ Sometimes we discarded a cache-entry that is still referenced from
563
+ name-hash (used only to hold the pathname there), leading to use
564
+ after free errors. Reference-count cache entries to work it
565
+ around.
566
567
596
-* pt/am-builtin (2015-09-30) 1 commit
597
- (merged to 'next' on 2015-10-09 at 396def8)
598
- + am: configure gpg at startup
568
+* ls/p4-test-updates (2015-10-12) 2 commits
569
+ (merged to 'next' on 2015-10-15 at 3c94932)
570
+ + git-p4: skip t9819 test case on case insensitive file systems
571
+ + git-p4: avoid "stat" command in t9815 git-p4-submit-fail
572
600
- When "git am" was rewritten as a built-in, it stopped paying
601
- attention to user.signingkey.
573
+ A few test scripts around "git p4" have been improved for
574
+ portability.
575
576
Will merge to 'master'.
577
578
606
-* sa/send-email-smtp-batch-data-limit (2015-09-30) 1 commit
607
- (merged to 'next' on 2015-10-09 at c021fdf)
608
- + git-send-email.perl: Fixed sending of many/huge changes/patches
579
+* tb/t0027-crlf (2015-10-12) 1 commit
580
+ (merged to 'next' on 2015-10-15 at 7ab4f31)
581
+ + t0027: improve test for not-normalized files
582
610
- When "git send-email" wanted to talk over Net::SMTP::SSL,
611
- Net::Cmd::datasend() did not like to be fed too many bytes at the
612
- same time and failed to send messages. Send the payload one line
613
- at a time to work around the problem.
583
+ The test for various line-ending conversions has been enhanced.
584
585
Will merge to 'master'.
586
587
618
-* ls/p4-translation-failure (2015-09-22) 2 commits
619
- (merged to 'next' on 2015-10-09 at b462387)
620
- + git-p4: handle "Translation of file content failed"
621
- + git-p4: add test case for "Translation of file content failed" error
588
+* sg/pretty-more-date-mode-format (2015-10-07) 1 commit
589
+ - pretty: add format specifiers for short and raw date formats
590
623
- Work around "git p4" failing when the P4 depot records the contents
624
- in UTF-16 without UTF-16 BOM.
591
+ Introduce "%as" and "%aR" placeholders for "log --format" to show
592
+ the author date in the short and raw formats.
593
626
- Will merge to 'master'.
594
+ I have a feeling that that this is a step in a wrong direction.
595
+ Comments?
596
597
629
-* kn/for-each-branch (2015-09-25) 8 commits
630
- (merged to 'next' on 2015-10-09 at 45723ce)
631
- + branch: add '--points-at' option
632
- + branch.c: use 'ref-filter' APIs
633
- + branch.c: use 'ref-filter' data structures
634
- + branch: drop non-commit error reporting
635
- + branch: move 'current' check down to the presentation layer
636
- + branch: roll show_detached HEAD into regular ref_list
637
- + branch: bump get_head_description() to the top
638
- + branch: refactor width computation
639
- (this branch is used by kn/for-each-branch-remainder.)
598
+* kn/for-each-branch-remainder (2015-10-02) 9 commits
599
+ - branch: implement '--format' option
600
+ - branch: use ref-filter printing APIs
601
+ - ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams
602
+ - ref-filter: introduce format_ref_array_item()
603
+ - ref-filter: adopt get_head_description() from branch.c
604
+ - ref-filter: modify "%(objectname:short)" to take length
605
+ - ref-filter: add support for %(path) atom
606
+ - ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)
607
+ - ref-filter: implement %(if), %(then), and %(else) atoms
608
641
- Update "git branch" that list existing branches, using the
642
- ref-filter API that is shared with "git tag" and "git
643
- for-each-ref".
609
+ More unification among "branch -l", "tag -l" and "for-each-ref --format".
610
645
- Will merge to 'master'.
611
+ Expecting a reroll.
612
+ ($gmane/278926)
613
614
648
-* jc/fsck-dropped-errors (2015-09-23) 1 commit
649
- (merged to 'next' on 2015-10-09 at 887fcac)
650
- + fsck: exit with non-zero when problems are found
615
+* jk/war-on-sprintf (2015-10-05) 70 commits
616
+ (merged to 'next' on 2015-10-15 at 27a1ae5)
617
+ + name-rev: use strip_suffix to avoid magic numbers
618
+ + use strbuf_complete to conditionally append slash
619
+ + fsck: use for_each_loose_file_in_objdir
620
+ + Makefile: drop D_INO_IN_DIRENT build knob
621
+ + fsck: drop inode-sorting code
622
+ + convert strncpy to memcpy
623
+ + notes: document length of fanout path with a constant
624
+ + color: add color_set helper for copying raw colors
625
+ + prefer memcpy to strcpy
626
+ + help: clean up kfmclient munging
627
+ + receive-pack: simplify keep_arg computation
628
+ + avoid sprintf and strcpy with flex arrays
629
+ + use alloc_ref rather than hand-allocating "struct ref"
630
+ + color: add overflow checks for parsing colors
631
+ + drop strcpy in favor of raw sha1_to_hex
632
+ + use sha1_to_hex_r() instead of strcpy
633
+ + daemon: use cld->env_array when re-spawning
634
+ + stat_tracking_info: convert to argv_array
635
+ + http-push: use an argv_array for setup_revisions
636
+ + fetch-pack: use argv_array for index-pack / unpack-objects
637
+ + diagnose_invalid_index_path: use strbuf to avoid strcpy/strcat
638
+ + write_loose_object: convert to strbuf
639
+ + remove_leading_path: use a strbuf for internal storage
640
+ + enter_repo: convert fixed-size buffers to strbufs
641
+ + merge-recursive: convert malloc / strcpy to strbuf
642
+ + transport: use strbufs for status table "quickref" strings
643
+ + apply: convert root string to strbuf
644
+ + init: use strbufs to store paths
645
+ + probe_utf8_pathname_composition: use internal strbuf
646
+ + precompose_utf8: drop unused variable
647
+ + sha1_get_pack_name: use a strbuf
648
+ + http-walker: store url in a strbuf
649
+ + http-push: use strbuf instead of fwrite_buffer
650
+ + remote-ext: simplify git pkt-line generation
651
+ + upload-archive: convert sprintf to strbuf
652
+ + resolve_ref: use strbufs for internal buffers
653
+ + read_remotes_file: simplify string handling
654
+ + read_branches_file: simplify string handling
655
+ + mailmap: replace strcpy with xstrdup
656
+ + help: drop prepend function in favor of xstrfmt
657
+ + ref-filter: drop sprintf and strcpy calls
658
+ + use strip_suffix and xstrfmt to replace suffix
659
+ + fetch: replace static buffer with xstrfmt
660
+ + config: use xstrfmt in normalize_value
661
+ + replace trivial malloc + sprintf / strcpy calls with xstrfmt
662
+ + receive-pack: convert strncpy to xsnprintf
663
+ + http-push: replace strcat with xsnprintf
664
+ + add_packed_git: convert strcpy into xsnprintf
665
+ + entry.c: convert strcpy to xsnprintf
666
+ + grep: use xsnprintf to format failure message
667
+ + compat/hstrerror: convert sprintf to snprintf
668
+ + stop_progress_msg: convert sprintf to xsnprintf
669
+ + find_short_object_filename: convert sprintf to xsnprintf
670
+ + use xsnprintf for generating git object headers
671
+ + archive-tar: use xsnprintf for trivial formatting
672
+ + convert trivial sprintf / strcpy calls to xsnprintf
673
+ + compat/inet_ntop: fix off-by-one in inet_ntop4
674
+ + test-dump-cache-tree: avoid overflow of cache-tree name
675
+ + progress: store throughput display in a strbuf
676
+ + trace: use strbuf for quote_crnl output
677
+ + mailsplit: make PATH_MAX buffers dynamic
678
+ + fsck: use strbuf to generate alternate directories
679
+ + add reentrant variants of sha1_to_hex and find_unique_abbrev
680
+ + strbuf: make strbuf_complete_line more generic
681
+ + add git_path_buf helper function
682
+ + add xsnprintf helper function
683
+ + fsck: don't fsck alternates for connectivity-only check
684
+ + archive-tar: fix minor indentation violation
685
+ + mailsplit: fix FILE* leak in split_maildir
686
+ + show-branch: avoid segfault with --reflog of unborn branch
687
+ (this branch is used by dt/refs-backend-lmdb and dt/refs-backend-pre-vtable.)
688
652
- There were some classes of errors that "git fsck" diagnosed to its
653
- standard error that did not cause it to exit with non-zero status.
689
+ Many allocations that is manually counted (correctly) that are
690
+ followed by strcpy/sprintf have been replaced with a less error
691
+ prone constructs such as xstrfmt.
692
655
- Will merge to 'master'.
693
+ Macintosh-specific breakage was noticed and corrected in this
694
+ reroll.
695
696
+ Will merge to 'master'.
697
658
-* nd/gc-auto-background-fix (2015-09-21) 1 commit
659
- (merged to 'next' on 2015-10-09 at 1f0fc60)
660
- + gc: save log from daemonized gc --auto and print it next time
698
662
- When "git gc --auto" is backgrounded, its diagnosis message is
663
- lost. Save it to a file in $GIT_DIR and show it next time the "gc
664
- --auto" is run.
699
+* rp/link-curl-before-ssl (2015-09-25) 3 commits
700
+ - configure: make curl-config path configurable
701
+ - configure.ac: detect ssl need with libcurl
702
+ - Makefile: link libcurl before openssl and crypto
703
666
- Will merge to 'master'.
704
+ Waiting for the (hopefully) final submission.
705
706
707
* jk/graph-format-padding (2015-09-14) 1 commit
@@ -685,62 +723,27 @@ of the repositories listed at
723
($gmane/278326)
724
725
688
-* sb/submodule-parallel-fetch (2015-10-12) 8 commits
689
- - submodules: allow parallel fetching, add tests and documentation
690
- - fetch_populated_submodules: use new parallel job processing
691
- - run-command: add an asynchronous parallel child processor
692
- - sigchain: add command to pop all common signals
693
- - strbuf: add strbuf_read_once to read without blocking
694
- - xread_nonblock: add functionality to read from fds without blocking
695
- - xread: poll on non blocking fds
696
- - submodule.c: write "Fetching submodule <foo>" to stderr
726
+* sb/submodule-parallel-fetch (2015-10-20) 14 commits
727
+ - run-command: fix missing output from late callbacks
728
+ - test-run-command: increase test coverage
729
+ - test-run-command: test for gracefully aborting
730
+ - run-command: initialize the shutdown flag
731
+ - run-command: call get_next_task with a clean child process.
732
+ - run-command: fix early shutdown
733
+ (merged to 'next' on 2015-10-15 at df63590)
734
+ + submodules: allow parallel fetching, add tests and documentation
735
+ + fetch_populated_submodules: use new parallel job processing
736
+ + run-command: add an asynchronous parallel child processor
737
+ + sigchain: add command to pop all common signals
738
+ + strbuf: add strbuf_read_once to read without blocking
739
+ + xread_nonblock: add functionality to read from fds without blocking
740
+ + xread: poll on non blocking fds
741
+ + submodule.c: write "Fetching submodule <foo>" to stderr
742
743
Add a framework to spawn a group of processes in parallel, and use
744
it to run "git fetch --recurse-submodules" in parallel.
745
701
- Will merge to 'next'.
702
-
703
-
704
-* mk/submodule-gitdir-path (2015-09-14) 2 commits
705
- (merged to 'next' on 2015-10-09 at cf8768e)
706
- + path: implement common_dir handling in git_pathdup_submodule()
707
- + submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb()
708
-
709
- The submodule code has been taught to work better with separate
710
- work trees created via "git worktree add".
711
-
712
- Will merge to 'master'.
713
-
714
-
715
-* ls/p4-lfs (2015-10-03) 7 commits
716
- (merged to 'next' on 2015-10-14 at 4b8c365)
717
- + git-p4: add Git LFS backend for large file system
718
- + git-p4: add support for large file systems
719
- + git-p4: check free space during streaming
720
- + git-p4: add file streaming progress in verbose mode
721
- + git-p4: return an empty list if a list config has no values
722
- + git-p4: add gitConfigInt reader
723
- + git-p4: add optional type specifier to gitConfig reader
724
-
725
- Teach "git p4" to send large blobs outside the repository by
726
- talking to Git LFS.
727
-
728
- Will merge to 'master'.
729
-
730
-
731
-* nd/clone-linked-checkout (2015-09-28) 6 commits
732
- (merged to 'next' on 2015-10-09 at a93973f)
733
- + clone: better error when --reference is a linked checkout
734
- + clone: allow --local from a linked checkout
735
- + enter_repo: allow .git files in strict mode
736
- + enter_repo: avoid duplicating logic, use is_git_directory() instead
737
- + t0002: add test for enter_repo(), non-strict mode
738
- + path.c: delete an extra space
739
-
740
- It was not possible to use a repository-lookalike created by "git
741
- worktree add" as a local source of "git clone".
742
-
743
- Will merge to 'master'.
746
+ Will cook in 'next'.
747
748
749
* ad/cygwin-wants-rename (2015-08-07) 1 commit
@@ -779,156 +782,52 @@ of the repositories listed at
782
--------------------------------------------------
783
[Discarded]
784
782
-* sb/remove-get-pathspec (2015-08-03) 1 commit
783
- . builtin/mv: remove get_pathspec()
784
-
785
- ($gmane/276104)
786
-
787
-
788
-* nd/list-files (2015-02-09) 21 commits
789
- . t3080: tests for git-list-files
790
- . list-files: -M aka diff-cached
791
- . list-files -F: show submodules with the new indicator '&'
792
- . list-files: add -F/--classify
793
- . list-files: show directories as well as files
794
- . list-files: do not show duplicate cached entries
795
- . list-files: sort output and remove duplicates
796
- . list-files: add -t back
797
- . list-files: add -1 short for --no-column
798
- . list-files: add -R/--recursive short for --max-depth=-1
799
- . list-files: -u does not imply showing stages
800
- . list-files: make alias 'ls' default to 'list-files'
801
- . list-files: a user friendly version of ls-files and more
802
- . ls-files: support --max-depth
803
- . ls-files: add --column
804
- . ls-files: add --color to highlight file names
805
- . ls-files: buffer full item in strbuf before printing
806
- . ls_colors.c: highlight submodules like directories
807
- . ls_colors.c: add a function to color a file name
808
- . ls_colors.c: parse color.ls.* from config file
809
- . ls_colors.c: add $LS_COLORS parsing code
810
-
811
- A new "git list-files" Porcelain command, "ls-files" with bells and
812
- whistles.
813
-
814
- Reroll to base on wt-status work ($gmane/265142) has seen some
815
- positive discussions.
816
-
817
- ($gmane/265534).
818
-
819
-
820
-* mh/numparse (2015-03-19) 14 commits
821
- . diff_opt_parse(): use convert_i() when handling --abbrev=<num>
822
- . diff_opt_parse(): use convert_i() when handling "-l<num>"
823
- . opt_arg(): simplify pointer handling
824
- . opt_arg(): report errors parsing option values
825
- . opt_arg(): use convert_i() in implementation
826
- . opt_arg(): val is always non-NULL
827
- . builtin_diff(): detect errors when parsing --unified argument
828
- . handle_revision_opt(): use convert_ui() when handling "--abbrev="
829
- . strtoul_ui(), strtol_i(): remove functions
830
- . handle_revision_opt(): use convert_i() when handling "-<digit>"
831
- . handle_revision_opt(): use skip_prefix() in many places
832
- . write_subdirectory(): use convert_ui() for parsing mode
833
- . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
834
- . numparse: new module for parsing integral numbers
835
-
836
- Many codepaths use unchecked use of strtol() and friends (or even
837
- worse, atoi()). Introduce a set of wrappers that try to be more
838
- careful.
839
-
840
- ($gmane/268058).
841
-
842
-
843
-* kk/log-merges-config (2015-04-21) 5 commits
844
- . bash-completion: add support for git-log --merges= and log.merges
845
- . t4202-log: add tests for --merges=
846
- . Documentation: add git-log --merges= option and log.merges config. var
847
- . log: honor log.merges= option
848
- . revision: add --merges={show|only|hide} option
849
-
850
- "git log" (but not other commands in the "log" family) learned to
851
- pay attention to the log.merges configuration variable that can be
852
- set to "show" (the normal behaviour), "only" (hide non-merge
853
- commits), or "hide" (hide merge commits). --merges=(show|only|hide)
854
- can be used to override the setting from the command line.
855
-
856
- The documentation may need to be updated once more ($gmane/267250).
857
-
858
-
859
-* bw/portability-solaris (2015-07-20) 3 commits
860
- . tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
861
- . tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
862
- . tests: modify tr expressions so that xpg4/tr handles it on Solaris
863
-
864
- ($gmane/274296)
865
-
866
-
867
-* jc/clone-bundle (2015-04-30) 1 commit
868
- . repack: optionally create a clone.bundle
869
-
870
- Still an early WIP.
871
-
872
-
873
-* mg/index-read-error-messages (2015-06-01) 2 commits
874
- . messages: uniform error messages for index write
875
- . show-index: uniform error messages for index read
876
-
877
- The tip was RFC.
878
- Waiting for a reroll.
879
-
880
-
881
-* mk/utf8-no-iconv-warn (2015-06-08) 1 commit
882
- . utf8.c: print warning about disabled iconv
883
-
884
- Warn when a reencoding is requested in a build without iconv
885
- support, as the end user is likely to get an unexpected result. I
886
- think the same level of safety should be added to a build with
887
- iconv support when the specified encoding is not available, but the
888
- patch does not go there.
889
-
890
- ($gmane/277424).
891
-
892
-
893
-* pw/remote-set-url-fetch (2014-11-26) 1 commit
894
- . remote: add --fetch and --both options to set-url
895
-
896
- Ejected.
897
-
898
-
899
-* tr/remerge-diff (2014-11-10) 9 commits
900
- . t4213: avoid "|" in sed regexp
901
- . log --remerge-diff: show what the conflict resolution changed
902
- . name-hash: allow dir hashing even when !ignore_case
903
- . merge-recursive: allow storing conflict hunks in index
904
- . merge_diff_mode: fold all merge diff variants into an enum
905
- . combine-diff: do not pass revs->dense_combined_merges redundantly
906
- . merge-recursive: -Xindex-only to leave worktree unchanged
907
- . merge-recursive: internal flag to avoid touching the worktree
908
- . merge-recursive: remove dead conditional in update_stages()
909
-
910
- "log -p" output learns a new way to let users inspect a merge
911
- commit by showing the differences between the automerged result
912
- with conflicts the person who recorded the merge would have seen
913
- and the final conflict resolution that was recorded in the merge.
914
-
915
- Waiting for a reroll.
916
- ($gmane/256591).
917
-
918
-
919
-* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
920
- . perf-lib: add test_perf_cleanup target
921
- . perf-lib: split starting the test from the execution
922
-
923
- Add test_perf_cleanup shell function to the perf suite, that allows
924
- the script writers to define a test with a clean-up action.
925
-
926
-
927
-* jc/show-branch (2014-03-24) 5 commits
928
- . show-branch: use commit slab to represent bitflags of arbitrary width
929
- . show-branch.c: remove "all_mask"
930
- . show-branch.c: abstract out "flags" operation
931
- . show-branch.c: lift all_mask/all_revs to a global static
932
- . show-branch.c: update comment style
785
+* dt/refs-backend-lmdb (2015-10-12) 45 commits
786
+ . refs: tests for db backend
787
+ . refs: add LMDB refs backend
788
+ . introduce "extensions" form of core.repositoryformatversion
789
+ . refs: add register_refs_backend
790
+ . refs: allow ref backend to be set for clone
791
+ . refs: always handle non-normal refs in files backend
792
+ . refs: move duplicate check to common code
793
+ . refs: break out a ref conflict check
794
+ . refs: make files_log_ref_write functions public
795
+ . refs: make lock generic
796
+ . refs-be-files.c: add method to rename refs
797
+ . refs.c: add method for initializing refs db
798
+ . initdb: move safe_create_dir into common code
799
+ . refs.c: add method for initial ref transaction commit
800
+ . refs.c: add methods for reflog
801
+ . refs.c: add ref backend init function
802
+ . refs.c: move should_autocreate_reflog to common code
803
+ . refs.c: move peel_object to the common code
804
+ . refs.c: move copy_msg to the common code
805
+ . refs.h: document make refname_is_safe and add it to header
806
+ . refs.c: move refname_is_safe to the common code
807
+ . refs-be-files.c: add do_for_each_per_worktree_ref
808
+ . refs-be-files.c: add method for for_each_reftype_...
809
+ . refs-be-files.c: add methods for the ref iterators
810
+ . refs-be-files.c: add methods for misc ref operations
811
+ . refs: add a backend method structure with transaction functions
812
+ . refs: move transaction functions into common code
813
+ . refs.c: move head_ref_namespaced to the common code
814
+ . refs.c: move ref iterators to the common code
815
+ . refs.c: move prettify_refname to the common code
816
+ . refs.c: move is_branch to the common code
817
+ . refs.c: move check_refname_format to the common code
818
+ . refs.c: move resolve_refdup to common
819
+ . refs.c: move read_ref, read_ref_full and ref_exists to the common code
820
+ . refs.c: move warn_if_dangling_symref* to the common code
821
+ . refs.c: move dwim and friend functions to the common refs code
822
+ . refs.c: move the hidden refs functions to the common code
823
+ . refs.c: move read_ref_at to the common refs file
824
+ . refs.c: move delete_ref and delete_refs to the common code
825
+ . refs.c: move update_ref to refs.c
826
+ . refs.c: add a new refs.c file to hold all common refs code
827
+ . refs-be-files.c: rename refs to refs-be-files
828
+ . refs: make repack_without_refs and is_branch public
829
+ . refs.c: create a public version of verify_refname_available
830
+ - Merge branch 'jk/war-on-sprintf' into HEAD
831
+ (this branch uses jk/war-on-sprintf; is tangled with dt/refs-backend-pre-vtable.)
832
934
- Waiting for the final step to lift the hard-limit.
833
+ Being rerolled separately.