What's cooking (2014/09 #03)
Junio C Hamano committed
Sep 11, 2014 at 15:51 UTC
2761533a9b0df8dff2df6912094239cee3b72418
1 file changed
+327
-495
whats-cooking.txt
+327
-495
@@ -1,19 +1,19 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Sep 2014, #02; Tue, 9)
4
-X-master-at: 0c72b98f31bf6eabd75be565a08ffcf0d8e74b1f
5
-X-next-at: 90a3d47e489b9d2109b72bab5f08275f9af8a3ad
3
+Subject: What's cooking in git.git (Sep 2014, #03; Thu, 11)
4
+X-master-at: ce1d3a93a6405b8a0313491df3099919ed3d150f
5
+X-next-at: 9363127135f6ed0af0d141c3fc3ac63acc2d9010
6
7
-What's cooking in git.git (Sep 2014, #02; Tue, 9)
7
+What's cooking in git.git (Sep 2014, #03; Thu, 11)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
11
'-' are only in 'pu' (proposed updates) while commits prefixed with
12
'+' are in 'next'.
13
14
-The second batch of topics have graduated to 'master'. There are
15
-too many topics waiting to be in 'next' but without comments and
16
-reviews on the list, which is somewhat disturbing.
14
+The third batch of topics have graduated to 'master'. There are too
15
+many topics waiting to be in 'next' but without comments and reviews
16
+on the list, which is somewhat disturbing.
17
18
You can find the changes described here in the integration branches
19
of the repositories listed at
@@ -23,222 +23,349 @@ of the repositories listed at
23
--------------------------------------------------
24
[Graduated to "master"]
25
26
-* bc/imap-send-doc (2014-08-05) 1 commit
27
- (merged to 'next' on 2014-08-29 at 2ea514b)
28
- + imap-send doc: omit confusing "to use imap-send" modifier
29
-
30
-
31
-* jc/apply-ws-prefix (2014-08-07) 3 commits
32
- (merged to 'next' on 2014-08-29 at 67967d3)
33
- + apply: omit ws check for excluded paths
34
- + apply: hoist use_patch() helper for path exclusion up
35
- + apply: use the right attribute for paths in non-Git patches
26
+* br/http-init-fix (2014-08-21) 2 commits
27
+ (merged to 'next' on 2014-09-03 at 6d42f5e)
28
+ + http: style fixes for curl_multi_init error check
29
+ + http.c: die if curl_*_init fails
30
37
- Applying a patch not generated by Git in a subdirectory used to
38
- check the whitespace breakage using the attributes for incorrect
39
- paths. Also whitespace checks were performed even for paths
40
- excluded via "git apply --exclude=<path>" mechanism.
31
+ Code clean-up.
32
33
43
-* jc/config-mak-document-darwin-vs-macosx (2014-08-15) 1 commit
44
- (merged to 'next' on 2014-08-29 at 55e28af)
45
- + config.mak.uname: add hint on uname_R for MacOS X
46
- (this branch uses km/no-apple-common-crypto-on-darwin-8-and-below.)
34
+* br/imap-send-simplify-tunnel-child-process (2014-09-02) 3 commits
35
+ (merged to 'next' on 2014-09-04 at a182987)
36
+ + imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with()
37
+ + imap-send.c: imap_folder -> imap_server_conf.folder
38
+ + git-imap-send: simplify tunnel construction
39
40
+ Code clean-up.
41
49
-* jc/not-mingw-cygwin (2014-07-21) 2 commits
50
- (merged to 'next' on 2014-08-29 at 0d00bb7)
51
- + test prerequisites: enumerate with commas
52
- + test prerequisites: eradicate NOT_FOO
42
54
- We have been using NOT_{MINGW,CYGWIN} test prerequisites long
55
- before Peff invented support for negated prerequisites e.g. !MINGW
56
- and we still add more uses of the former. Convert them to the
57
- latter to avoid confusion.
43
+* dt/cache-tree-repair (2014-09-03) 5 commits
44
+ (merged to 'next' on 2014-09-03 at 1c8ff65)
45
+ + cache-tree: do not try to use an invalidated subtree info to build a tree
46
+ (merged to 'next' on 2014-08-26 at 6faccdb)
47
+ + cache-tree: Write updated cache-tree after commit
48
+ + cache-tree: subdirectory tests
49
+ + test-dump-cache-tree: invalid trees are not errors
50
+ + cache-tree: create/update cache-tree on checkout
51
52
+ Add a few more places in "commit" and "checkout" that make sure
53
+ that the cache-tree is fully populated in the index.
54
60
-* jk/command-line-config-empty-string (2014-08-05) 1 commit
61
- (merged to 'next' on 2014-08-29 at 74f04af)
62
- + config: teach "git -c" to recognize an empty string
55
64
- "git -c section.var command" and "git -c section.var= command"
65
- should pass the configuration differently (the former should be
66
- a boolean true, the latter should be an empty string).
56
+* et/spell-poll-infinite-with-minus-one-only (2014-08-22) 1 commit
57
+ (merged to 'next' on 2014-09-03 at 5be5957)
58
+ + upload-pack: keep poll(2)'s timeout to -1
59
60
+ We used to pass -1000 to poll(2), expecting it to also mean "no
61
+ timeout", which should be spelled as -1.
62
69
-* jk/prompt-stash-could-be-packed (2014-08-25) 1 commit
70
- (merged to 'next' on 2014-08-29 at 526e3bd)
71
- + git-prompt: do not look for refs/stash in $GIT_DIR
63
73
- The prompt script checked $GIT_DIR/ref/stash file to see if there
74
- is a stash, which was a no-no.
64
+* jk/contrib-subtree-make-all (2014-08-18) 1 commit
65
+ (merged to 'next' on 2014-09-03 at 919d889)
66
+ + subtree: make "all" default target of Makefile
67
68
77
-* jk/stash-list-p (2014-08-07) 1 commit
78
- (merged to 'next' on 2014-08-29 at db94527)
79
- + stash: default listing to working-tree diff
69
+* jk/fast-import-fixes (2014-08-25) 2 commits
70
+ (merged to 'next' on 2014-09-04 at 74838e5)
71
+ + fast-import: fix buffer overflow in dump_tags
72
+ + fast-import: clean up pack_data pointer in end_packfile
73
81
- Teach "git stash list -p" to show the difference between the base
82
- commit version and the working tree version, which is in line with
83
- what "git show" gives.
74
+ With sufficiently long refnames, fast-import could have overflown
75
+ an on-stack buffer.
76
77
86
-* km/no-apple-common-crypto-on-darwin-8-and-below (2014-08-15) 1 commit
87
- (merged to 'next' on 2014-08-29 at 8abb416)
88
- + config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
89
- (this branch is used by jc/config-mak-document-darwin-vs-macosx.)
78
+* jk/make-simplify-dependencies (2014-08-26) 3 commits
79
+ (merged to 'next' on 2014-09-03 at 820a600)
80
+ + Makefile: drop CHECK_HEADER_DEPENDENCIES code
81
+ + Makefile: use `find` to determine static header dependencies
82
+ + i18n: treat "make pot" as an explicitly-invoked target
83
91
- Build automation for older versions of MacOS X.
84
+ Admit that keeping LIB_H up-to-date, only for those that do not use
85
+ the automatically generated dependencies, is a losing battle, and
86
+ make it conservative by making everything depend on anything.
87
88
94
-* la/init-doc (2014-08-08) 7 commits
95
- (merged to 'next' on 2014-08-29 at 2cf846b)
96
- + Documentation: git-init: flesh out example
97
- + Documentation: git-init: template directory: reword and cross-reference
98
- + Documentation: git-init: reword parenthetical statements
99
- + Documentation: git-init: --separate-git-dir: clarify
100
- + Documentation: git-init: template directory: reword
101
- + Documentation: git-init: list items facelift
102
- + Documentation: git-init: typographical fixes
89
+* jk/name-decoration-alloc (2014-08-27) 3 commits
90
+ (merged to 'next' on 2014-09-04 at 05f0d29)
91
+ + log-tree: use FLEX_ARRAY in name_decoration
92
+ + log-tree: make name_decoration hash static
93
+ + log-tree: make add_name_decoration a public function
94
95
+ The API to allocate the structure to keep track of commit
96
+ decoration was cumbersome to use, inviting lazy code to
97
+ overallocate memory.
98
105
-* lf/bundle-exclusion (2014-08-07) 1 commit
106
- (merged to 'next' on 2014-08-29 at d84b102)
107
- + bundle: fix exclusion of annotated tags
99
109
- "git bundle create" with date-range specification were meant to
110
- exclude tags outside the range, but it didn't.
100
+* jk/prune-top-level-refs-after-packing (2014-08-25) 1 commit
101
+ (merged to 'next' on 2014-09-04 at bfe3873)
102
+ + pack-refs: prune top-level refs like "refs/foo"
103
104
+ After "pack-refs --prune" packed refs at the top-level, it failed
105
+ to prune them.
106
113
-* mm/log-branch-desc-plug-leak (2014-08-07) 1 commit
114
- (merged to 'next' on 2014-08-29 at 3580add)
115
- + builtin/log.c: fix minor memory leak
107
108
+* jn/unpack-trees-checkout-m-carry-deletion (2014-08-25) 3 commits
109
+ (merged to 'next' on 2014-09-04 at e15803a)
110
+ + checkout -m: attempt merge when deletion of path was staged
111
+ + unpack-trees: use 'cuddled' style for if-else cascade
112
+ + unpack-trees: simplify 'all other failures' case
113
118
-* nd/strbuf-utf8-replace (2014-08-11) 1 commit
119
- (merged to 'next' on 2014-08-29 at 5d1ddf4)
120
- + utf8.c: fix strbuf_utf8_replace() consuming data beyond input string
114
+ "git checkout -m" did not switch to another branch while carrying
115
+ the local changes forward when a path was deleted from the index.
116
117
123
-* rs/clean-menu-item-defn (2014-08-18) 1 commit
124
- (merged to 'next' on 2014-08-29 at 88c1a9d)
125
- + clean: use f(void) instead of f() to declare a pointer to a function without arguments
118
+* mm/discourage-commit-a-to-finish-conflict-resolution (2014-08-28) 1 commit
119
+ (merged to 'next' on 2014-09-03 at e3f872f)
120
+ + merge, pull: stop advising 'commit -a' in case of conflict
121
122
128
-* rs/inline-compat-path-macros (2014-08-18) 1 commit
129
- (merged to 'next' on 2014-08-29 at 5705ad5)
130
- + turn path macros into inline function
123
+* nd/fetch-pass-quiet-to-gc-child-process (2014-08-18) 2 commits
124
+ (merged to 'next' on 2014-09-04 at 028cd42)
125
+ + fetch: silence git-gc if --quiet is given
126
+ + fetch: convert argv_gc_auto to struct argv_array
127
128
+ Progress output from "git gc --auto" was visible in "git fetch -q".
129
133
-* rs/refresh-beyond-symlink (2014-08-10) 1 commit
134
- (merged to 'next' on 2014-08-29 at 90a4a8b)
135
- + read-cache: check for leading symlinks when refreshing index
130
137
- "git add x" where x that used to be a directory has become a
138
- symbolic link to a directory misbehaved.
131
+* nd/large-blobs (2014-08-18) 5 commits
132
+ (merged to 'next' on 2014-09-04 at 16d7c62)
133
+ + diff: shortcut for diff'ing two binary SHA-1 objects
134
+ + diff --stat: mark any file larger than core.bigfilethreshold binary
135
+ + diff.c: allow to pass more flags to diff_populate_filespec
136
+ + sha1_file.c: do not die failing to malloc in unpack_compressed_entry
137
+ + wrapper.c: introduce gentle xmallocz that does not die()
138
139
+ Teach a few codepaths to punt (instead of dying) when large blobs
140
+ that would not fit in core are involved in the operation.
141
141
-* sb/blame-msg-i18n (2014-08-12) 1 commit
142
- (merged to 'next' on 2014-08-29 at 5b33466)
143
- + builtin/blame.c: add translation to warning about failed revision walk
142
143
+* nd/mv-code-cleaning (2014-09-03) 8 commits
144
+ (merged to 'next' on 2014-09-03 at 4315447)
145
+ + mv: no SP between function name and the first opening parenthese
146
+ + mv: combine two if(s)
147
+ + mv: unindent one level for directory move code
148
+ + mv: move index search code out
149
+ + mv: remove an "if" that's always true
150
+ + mv: split submodule move preparation code out
151
+ + mv: flatten error handling code block
152
+ + mv: mark strings for translations
153
146
-* sb/mailsplit-dead-code-removal (2014-08-13) 1 commit
147
- (merged to 'next' on 2014-08-29 at 4f9ca4f)
148
- + mailsplit.c: remove dead code
154
+ Code clean-up.
155
156
151
-* sb/plug-leaks (2014-08-10) 2 commits
152
- (merged to 'next' on 2014-08-29 at e42f0b8)
153
- + clone.c: don't leak memory in cmd_clone
154
- + remote.c: don't leak the base branch name in format_tracking_info
157
+* rs/child-process-init (2014-08-20) 4 commits
158
+ (merged to 'next' on 2014-09-03 at c17c06c)
159
+ + run-command: inline prepare_run_command_v_opt()
160
+ + run-command: call run_command_v_opt_cd_env() instead of duplicating it
161
+ + run-command: introduce child_process_init()
162
+ + run-command: introduce CHILD_PROCESS_INIT
163
164
+ Code clean-up.
165
157
-* sb/prepare-revision-walk-error-check (2014-08-12) 1 commit
158
- (merged to 'next' on 2014-08-29 at fb82508)
159
- + prepare_revision_walk(): check for return value in all places
166
167
+* rs/list-optim (2014-08-25) 2 commits
168
+ (merged to 'next' on 2014-09-04 at eecaf99)
169
+ + walker: avoid quadratic list insertion in mark_complete
170
+ + sha1_name: avoid quadratic list insertion in handle_one_ref
171
162
-* so/rebase-doc (2014-08-12) 1 commit
163
- (merged to 'next' on 2014-08-29 at 77cfce1)
164
- + Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op
172
+ Fix a couple of "accumulate into a sorted list" to "accumulate and
173
+ then sort the list".
174
166
- May need further updates to the description to explain what makes
167
- various modes of operation to decide that the request can become a
168
- "no-op".
175
176
+* rs/ref-transaction-1 (2014-09-03) 22 commits
177
+ (merged to 'next' on 2014-09-03 at 68e20b8)
178
+ + update-ref --stdin: pass transaction around explicitly
179
+ + update-ref --stdin: narrow scope of err strbuf
180
+ + refs.c: make delete_ref use a transaction
181
+ + refs.c: make prune_ref use a transaction to delete the ref
182
+ + refs.c: remove lock_ref_sha1
183
+ + refs.c: remove the update_ref_write function
184
+ + refs.c: remove the update_ref_lock function
185
+ + refs.c: make lock_ref_sha1 static
186
+ + walker.c: use ref transaction for ref updates
187
+ + fast-import.c: use a ref transaction when dumping tags
188
+ + receive-pack.c: use a reference transaction for updating the refs
189
+ + refs.c: change update_ref to use a transaction
190
+ + branch.c: use ref transaction for all ref updates
191
+ + fast-import.c: change update_branch to use ref transactions
192
+ + sequencer.c: use ref transactions for all ref updates
193
+ + commit.c: use ref transactions for updates
194
+ + replace.c: use the ref transaction functions for updates
195
+ + tag.c: use ref transactions when doing updates
196
+ + refs.c: add transaction.status and track OPEN/CLOSED
197
+ + refs.c: make ref_transaction_begin take an err argument
198
+ + refs.c: update ref_transaction_delete to check for error and return status
199
+ + refs.c: change ref_transaction_create to do error checking and return status
200
+ (this branch is used by rs/ref-transaction, rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename.)
201
171
-* sp/pack-protocol-doc-on-shallow (2014-08-28) 1 commit
172
- (merged to 'next' on 2014-08-29 at b1ae451)
173
- + Document LF appearing in shallow command during send-pack/receive-pack
202
+ The second batch of the transactional ref update series.
203
204
176
-* tb/pretty-format-cd-date-format (2014-08-21) 1 commit
177
- (merged to 'next' on 2014-08-29 at ab8ccd4)
178
- + pretty: note that %cd respects the --date= option
205
+* ta/config-set-1 (2014-08-07) 8 commits
206
+ (merged to 'next' on 2014-09-03 at 184b2ef)
207
+ + add tests for `git_config_get_string_const()`
208
+ + add a test for semantic errors in config files
209
+ + rewrite git_config() to use the config-set API
210
+ + config: add `git_die_config()` to the config-set API
211
+ + change `git_config()` return value to void
212
+ + add line number and file name info to `config_set`
213
+ + config.c: fix accuracy of line number in errors
214
+ + config.c: mark error and warnings strings for translation
215
+ (this branch is used by ta/config-set-2.)
216
180
- Documentation update.
217
+ Use the new caching config-set API in git_config() calls.
218
219
183
-* tf/imap-send-create (2014-08-25) 2 commits
184
- (merged to 'next' on 2014-08-29 at 8390945)
185
- + imap-send: create target mailbox if it is missing
186
- + imap-send: clarify CRAM-MD5 vs LOGIN documentation
220
+* ta/config-set-2 (2014-08-13) 15 commits
221
+ (merged to 'next' on 2014-09-03 at f2eff02)
222
+ + builtin/apply.c: replace `git_config()` with `git_config_get_string_const()`
223
+ + merge-recursive.c: replace `git_config()` with `git_config_get_int()`
224
+ + ll-merge.c: refactor `read_merge_config()` to use `git_config_string()`
225
+ + fast-import.c: replace `git_config()` with `git_config_get_*()` family
226
+ + branch.c: replace `git_config()` with `git_config_get_string()
227
+ + alias.c: replace `git_config()` with `git_config_get_string()`
228
+ + imap-send.c: replace `git_config()` with `git_config_get_*()` family
229
+ + pager.c: replace `git_config()` with `git_config_get_value()`
230
+ + builtin/gc.c: replace `git_config()` with `git_config_get_*()` family
231
+ + rerere.c: replace `git_config()` with `git_config_get_*()` family
232
+ + fetchpack.c: replace `git_config()` with `git_config_get_*()` family
233
+ + archive.c: replace `git_config()` with `git_config_get_bool()` family
234
+ + read-cache.c: replace `git_config()` with `git_config_get_*()` family
235
+ + http-backend.c: replace `git_config()` with `git_config_get_bool()` family
236
+ + daemon.c: replace `git_config()` with `git_config_get_bool()` family
237
+ (this branch uses ta/config-set-1.)
238
239
+ Update git_config() users with callback functions for a very narrow
240
+ scope with calls to config-set API that lets us query a single
241
+ variable.
242
243
--------------------------------------------------
244
[New Topics]
245
192
-* as/calloc-takes-nmemb-then-size (2014-09-03) 1 commit
193
- - calloc() and xcalloc() takes nmemb and then size
246
+* jc/hash-object (2014-09-11) 3 commits
247
+ - hash-object: add --literally option
248
+ - hash-object: pass 'write_object' as a flag
249
+ - hash-object: reduce file-scope statics
250
+ (this branch is used by jc/hash-object-fsck-tag.)
251
195
- Code clean-up.
252
+ "hash-object" learned a new "--literally" option to hash any random
253
+ garbage into a loose object, to allow us to create a test data for
254
+ mechanisms to catch corrupt objects.
255
197
- Will merge to 'next'.
256
257
+* jc/hash-object-fsck-tag (2014-09-11) 2 commits
258
+ - t1450: make sure fsck detects a malformed tagger line
259
+ - Merge branch 'js/fsck-tag-validation' into HEAD
260
+ (this branch uses jc/hash-object and js/fsck-tag-validation.)
261
+
262
+ Using "hash-object --literally", test one of the new breakages
263
+ js/fsck-tag-validation topic teaches "fsck" to catch is caught.
264
200
-* tb/complete-diff-ignore-blank-lines (2014-09-03) 1 commit
201
- - completion: Add --ignore-blank-lines for diff
265
+
266
+* jk/fsck-exit-code-fix (2014-09-10) 1 commit
267
+ - fsck: exit with non-zero status upon error from fsck_obj()
268
+
269
+ "git fsck" failed to report that it found corrupt objects via its
270
+ exit status in some cases.
271
272
Will merge to 'next'.
273
274
206
-* jc/parseopt-verify-short-name (2014-09-04) 1 commit
207
- - parse-options: detect attempt to add a duplicate short option name
275
+* js/fsck-tag-validation (2014-09-11) 6 commits
276
+ - Make sure that index-pack --strict checks tag objects
277
+ - Add regression tests for stricter tag fsck'ing
278
+ - fsck: check tag objects' headers
279
+ - Make sure fsck_commit_buffer() does not run out of the buffer
280
+ - fsck_object(): allow passing object data separately from the object itself
281
+ - Refactor type_from_string() to allow continuing after detecting an error
282
+ (this branch is used by jc/hash-object-fsck-tag.)
283
209
- Add checks for a common programming mistake to assign the same
210
- short option name to two separate options to help developers.
284
+ Teach "git fsck" to inspect the contents of annotated tag objects.
285
286
Will merge to 'next'.
287
288
+--------------------------------------------------
289
+[Stalled]
290
215
-* rs/more-uses-of-skip-prefix (2014-09-02) 2 commits
216
- - pack-write: simplify index_pack_lockfile using skip_prefix() and xstrfmt()
217
- - connect: simplify check_ref() using skip_prefix() and starts_with()
291
+* rs/ref-transaction-multi (2014-09-03) 7 commits
292
+ - ### rs/ref-transaction-multi
293
+ - refs.c: make the *_packed_refs functions static
294
+ - refs.c: make repack_without_refs static
295
+ - remote.c: use a transaction for deleting refs
296
+ - refs.c: write updates to packed refs when a transaction has more than one ref
297
+ - refs.c: move reflog updates into its own function
298
+ - ### rs/ref-transaction-rename
299
+ (this branch uses rs/ref-transaction, rs/ref-transaction-reflog and rs/ref-transaction-rename.)
300
219
- Code clean-up.
301
+ Follow-up on rs/ref-transaction series to use the packed-ref to
302
+ achieve atomicity when multiple refs are involved.
303
221
- Will merge to 'next'.
304
+ It appears that rs/ref-transaction series is being rerolled, so
305
+ these will be rerolled as well.
306
307
224
-* kb/perf-trace (2014-09-08) 1 commit
225
- - trace: correct trace_strbuf() parameter type for !HAVE_VARIADIC_MACROS
308
+* rs/ref-transaction-rename (2014-09-03) 6 commits
309
+ - refs.c: rollback the lockfile before we die() in repack_without_refs
310
+ - refs.c: update rename_ref to use a transaction
311
+ - refs.c: use packed refs when deleting refs during a transaction
312
+ - refs.c: return error instead of dying when locking fails during transaction
313
+ - refs.c: allow passing raw git_committer_info as email to _update_reflog
314
+ - ### rs/ref-transaction-reflog
315
+ (this branch is used by rs/ref-transaction-multi; uses rs/ref-transaction and rs/ref-transaction-reflog.)
316
227
- Compilation fix for some compilers.
317
+ Follow-up on rs/ref-transaction series to make renaming a ref
318
+ transactional (i.e. "delete old and create new" should not leave
319
+ an in-between state behind when it fails).
320
229
- Will merge to 'next'.
321
+ It appears that rs/ref-transaction series is being rerolled, so
322
+ these will be rerolled as well.
323
324
232
-* rs/export-strbuf-addchars (2014-09-08) 2 commits
233
- - strbuf: use strbuf_addchars() for adding a char multiple times
234
- - strbuf: export strbuf_addchars()
325
+* rs/ref-transaction-reflog (2014-09-03) 16 commits
326
+ - refs.c: allow deleting refs with a broken sha1
327
+ - refs.c: remove lock_any_ref_for_update
328
+ - refs.c: make unlock_ref/close_ref/commit_ref static
329
+ - refs.c: rename log_ref_setup to create_reflog
330
+ - reflog.c: use a reflog transaction when writing during expire
331
+ - refs.c: allow multiple reflog updates during a single transaction
332
+ - refs.c: only write reflog update if msg is non-NULL
333
+ - refs.c: add a flag to allow reflog updates to truncate the log
334
+ - refs.c: add a transaction function to append a reflog entry
335
+ - lockfile.c: make hold_lock_file_for_append preserve meaningful errno
336
+ - refs.c: add a function to append a reflog entry to a fd
337
+ - refs.c: add a new update_type field to ref_update
338
+ - refs.c: rename the transaction functions
339
+ - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
340
+ - refs.c: make ref_transaction_create a wrapper to ref_transaction_update
341
+ - ### rs/ref-transaction
342
+ (this branch is used by rs/ref-transaction-multi and rs/ref-transaction-rename; uses rs/ref-transaction.)
343
236
- Code clean-up.
344
+ Cover updates to reflog with the same transaction mechanism as used
345
+ for reflog manipulations.
346
238
- Will merge to 'next'.
347
+ It appears that rs/ref-transaction series is being rerolled, so
348
+ these will be rerolled as well.
349
+
350
+
351
+* rs/ref-transaction (2014-09-03) 13 commits
352
+ - refs.c: fix handling of badly named refs
353
+ - refs.c: make write_ref_sha1 static
354
+ - fetch.c: change s_update_ref to use a ref transaction
355
+ - refs.c: propagate any errno==ENOTDIR from _commit back to the callers
356
+ - refs.c: pass a skip list to name_conflict_fn
357
+ - refs.c: call lock_ref_sha1_basic directly from commit
358
+ - refs.c: move the check for valid refname to lock_ref_sha1_basic
359
+ - refs.c: pass NULL as *flags to read_ref_full
360
+ - refs.c: pass the ref log message to _create/delete/update instead of _commit
361
+ - refs.c: add an err argument to delete_ref_loose
362
+ - wrapper.c: add a new function unlink_or_msg
363
+ - wrapper.c: simplify warn_if_unremovable
364
+ - ### rs/ref-transaction-1
365
+ (this branch is used by rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename.)
366
+
367
+ Rerolled and was asked to wait. Seems to break "git remote rm".
368
240
---------------------------------------------------
241
-[Stalled]
369
370
* hv/submodule-config (2014-06-30) 4 commits
371
- do not die on error of parsing fetchrecursesubmodules option
@@ -426,10 +553,59 @@ of the repositories listed at
553
--------------------------------------------------
554
[Cooking]
555
429
-* tr/remerge-diff (2014-09-08) 8 commits
430
- - log --remerge-diff: show what the conflict resolution changed
431
- - name-hash: allow dir hashing even when !ignore_case
432
- - merge-recursive: allow storing conflict hunks in index
556
+* as/calloc-takes-nmemb-then-size (2014-09-03) 1 commit
557
+ - calloc() and xcalloc() takes nmemb and then size
558
+
559
+ Code clean-up.
560
+
561
+ Will merge to 'next'.
562
+
563
+
564
+* tb/complete-diff-ignore-blank-lines (2014-09-03) 1 commit
565
+ - completion: Add --ignore-blank-lines for diff
566
+
567
+ Will merge to 'next'.
568
+
569
+
570
+* jc/parseopt-verify-short-name (2014-09-04) 1 commit
571
+ - parse-options: detect attempt to add a duplicate short option name
572
+
573
+ Add checks for a common programming mistake to assign the same
574
+ short option name to two separate options to help developers.
575
+
576
+ Will merge to 'next'.
577
+
578
+
579
+* rs/more-uses-of-skip-prefix (2014-09-02) 2 commits
580
+ - pack-write: simplify index_pack_lockfile using skip_prefix() and xstrfmt()
581
+ - connect: simplify check_ref() using skip_prefix() and starts_with()
582
+
583
+ Code clean-up.
584
+
585
+ Will merge to 'next'.
586
+
587
+
588
+* kb/perf-trace (2014-09-08) 1 commit
589
+ - trace: correct trace_strbuf() parameter type for !HAVE_VARIADIC_MACROS
590
+
591
+ Compilation fix for some compilers.
592
+
593
+ Will merge to 'next'.
594
+
595
+
596
+* rs/export-strbuf-addchars (2014-09-08) 2 commits
597
+ - strbuf: use strbuf_addchars() for adding a char multiple times
598
+ - strbuf: export strbuf_addchars()
599
+
600
+ Code clean-up.
601
+
602
+ Will merge to 'next'.
603
+
604
+
605
+* tr/remerge-diff (2014-09-08) 8 commits
606
+ - log --remerge-diff: show what the conflict resolution changed
607
+ - name-hash: allow dir hashing even when !ignore_case
608
+ - merge-recursive: allow storing conflict hunks in index
609
- merge_diff_mode: fold all merge diff variants into an enum
610
- combine-diff: do not pass revs->dense_combined_merges redundantly
611
- merge-recursive: -Xindex-only to leave worktree unchanged
@@ -444,8 +620,7 @@ of the repositories listed at
620
Review comments sent.
621
622
447
-
448
-* mh/lockfile (2014-09-08) 33 commits
623
+* mh/lockfile (2014-09-11) 33 commits
624
- lockfile.c: store absolute path
625
- Extract a function commit_lock_file_to()
626
- trim_last_path_elm(): replace last_path_elm()
@@ -480,7 +655,7 @@ of the repositories listed at
655
- api-lockfile: expand the documentation
656
- unable_to_lock_die(): rename function from unable_to_lock_index_die()
657
483
- Rerolled but not reviewed yet.
658
+ Rerolled and reviews starting.
659
660
661
* nd/multiple-work-trees (2014-09-03) 32 commits
@@ -521,6 +696,9 @@ of the repositories listed at
696
rely on symbolic links and make sharing of objects and refs safer
697
by making the borrowee and borrowers aware of each other.
698
699
+ Re-reroll posted but haven't had a chance to pick it up yet.
700
+ The series already received a few comments.
701
+
702
703
* cc/interpret-trailers (2014-05-28) 11 commits
704
- Documentation: add documentation for 'git interpret-trailers'
@@ -564,13 +742,6 @@ of the repositories listed at
742
Will merge to 'next'.
743
744
567
-* jk/contrib-subtree-make-all (2014-08-18) 1 commit
568
- (merged to 'next' on 2014-09-03 at 919d889)
569
- + subtree: make "all" default target of Makefile
570
-
571
- Will merge to 'master'.
572
-
573
-
745
* jk/fast-export-anonymize (2014-08-28) 2 commits
746
- docs/fast-export: explain --anonymize more completely
747
- teach fast-export an --anonymize option
@@ -635,13 +806,6 @@ of the repositories listed at
806
Will merge to 'next'.
807
808
638
-* mm/discourage-commit-a-to-finish-conflict-resolution (2014-08-28) 1 commit
639
- (merged to 'next' on 2014-09-03 at e3f872f)
640
- + merge, pull: stop advising 'commit -a' in case of conflict
641
-
642
- Will merge to 'master'.
643
-
644
-
809
* ah/grammofix (2014-09-02) 1 commit
810
- grammofix in user-facing messages
811
@@ -705,147 +869,6 @@ of the repositories listed at
869
We may want to undo the "a^" bit along the lines of $gmane/255445
870
871
708
-* et/spell-poll-infinite-with-minus-one-only (2014-08-22) 1 commit
709
- (merged to 'next' on 2014-09-03 at 5be5957)
710
- + upload-pack: keep poll(2)'s timeout to -1
711
-
712
- We used to pass -1000 to poll(2), expecting it to also mean "no
713
- timeout", which should be spelled as -1.
714
-
715
- Will merge to 'master'.
716
-
717
-
718
-* jk/make-simplify-dependencies (2014-08-26) 3 commits
719
- (merged to 'next' on 2014-09-03 at 820a600)
720
- + Makefile: drop CHECK_HEADER_DEPENDENCIES code
721
- + Makefile: use `find` to determine static header dependencies
722
- + i18n: treat "make pot" as an explicitly-invoked target
723
-
724
- Admit that keeping LIB_H up-to-date, only for those that do not use
725
- the automatically generated dependencies, is a losing battle, and
726
- make it conservative by making everything depend on anything.
727
-
728
- Will merge to 'master'.
729
-
730
-
731
-* jk/prune-top-level-refs-after-packing (2014-08-25) 1 commit
732
- (merged to 'next' on 2014-09-04 at bfe3873)
733
- + pack-refs: prune top-level refs like "refs/foo"
734
-
735
- After "pack-refs --prune" packed refs at the top-level, it failed
736
- to prune them.
737
-
738
- Will merge to 'master'.
739
-
740
-
741
-* jk/fast-import-fixes (2014-08-25) 2 commits
742
- (merged to 'next' on 2014-09-04 at 74838e5)
743
- + fast-import: fix buffer overflow in dump_tags
744
- + fast-import: clean up pack_data pointer in end_packfile
745
-
746
- With sufficiently long refnames, fast-import could have overflown
747
- an on-stack buffer.
748
-
749
- Will merge to 'master'.
750
-
751
-
752
-* nd/fetch-pass-quiet-to-gc-child-process (2014-08-18) 2 commits
753
- (merged to 'next' on 2014-09-04 at 028cd42)
754
- + fetch: silence git-gc if --quiet is given
755
- + fetch: convert argv_gc_auto to struct argv_array
756
-
757
- Progress output from "git gc --auto" was visible in "git fetch -q".
758
-
759
- Will merge to 'master'.
760
-
761
-
762
-* rs/list-optim (2014-08-25) 2 commits
763
- (merged to 'next' on 2014-09-04 at eecaf99)
764
- + walker: avoid quadratic list insertion in mark_complete
765
- + sha1_name: avoid quadratic list insertion in handle_one_ref
766
-
767
- Fix a couple of "accumulate into a sorted list" to "accumulate and
768
- then sort the list".
769
-
770
- Will merge to 'master'.
771
-
772
-
773
-* jk/name-decoration-alloc (2014-08-27) 3 commits
774
- (merged to 'next' on 2014-09-04 at 05f0d29)
775
- + log-tree: use FLEX_ARRAY in name_decoration
776
- + log-tree: make name_decoration hash static
777
- + log-tree: make add_name_decoration a public function
778
-
779
- The API to allocate the structure to keep track of commit
780
- decoration was cumbersome to use, inviting lazy code to
781
- overallocate memory.
782
-
783
- Will merge to 'master'.
784
-
785
-
786
-* br/http-init-fix (2014-08-21) 2 commits
787
- (merged to 'next' on 2014-09-03 at 6d42f5e)
788
- + http: style fixes for curl_multi_init error check
789
- + http.c: die if curl_*_init fails
790
-
791
- Code clean-up.
792
-
793
- Will merge to 'master'.
794
-
795
-
796
-* br/imap-send-simplify-tunnel-child-process (2014-09-02) 3 commits
797
- (merged to 'next' on 2014-09-04 at a182987)
798
- + imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with()
799
- + imap-send.c: imap_folder -> imap_server_conf.folder
800
- + git-imap-send: simplify tunnel construction
801
-
802
- Code clean-up.
803
-
804
- Will merge to 'master'.
805
-
806
-
807
-* jn/unpack-trees-checkout-m-carry-deletion (2014-08-25) 3 commits
808
- (merged to 'next' on 2014-09-04 at e15803a)
809
- + checkout -m: attempt merge when deletion of path was staged
810
- + unpack-trees: use 'cuddled' style for if-else cascade
811
- + unpack-trees: simplify 'all other failures' case
812
-
813
- "git checkout -m" did not switch to another branch while carrying
814
- the local changes forward when a path was deleted from the index.
815
-
816
- Will merge to 'master'.
817
-
818
-
819
-* nd/large-blobs (2014-08-18) 5 commits
820
- (merged to 'next' on 2014-09-04 at 16d7c62)
821
- + diff: shortcut for diff'ing two binary SHA-1 objects
822
- + diff --stat: mark any file larger than core.bigfilethreshold binary
823
- + diff.c: allow to pass more flags to diff_populate_filespec
824
- + sha1_file.c: do not die failing to malloc in unpack_compressed_entry
825
- + wrapper.c: introduce gentle xmallocz that does not die()
826
-
827
- Teach a few codepaths to punt (instead of dying) when large blobs
828
- that would not fit in core are involved in the operation.
829
-
830
- Will merge to 'master'.
831
-
832
-
833
-* nd/mv-code-cleaning (2014-09-03) 8 commits
834
- (merged to 'next' on 2014-09-03 at 4315447)
835
- + mv: no SP between function name and the first opening parenthese
836
- + mv: combine two if(s)
837
- + mv: unindent one level for directory move code
838
- + mv: move index search code out
839
- + mv: remove an "if" that's always true
840
- + mv: split submodule move preparation code out
841
- + mv: flatten error handling code block
842
- + mv: mark strings for translations
843
-
844
- Code clean-up.
845
-
846
- Will merge to 'master'.
847
-
848
-
872
* sp/stream-clean-filter (2014-08-28) 6 commits
873
- convert: stream from fd to required clean filter to reduce used address space
874
- copy_fd(): do not close the input file descriptor
@@ -886,189 +909,9 @@ of the repositories listed at
909
tips of branches at a public repository really point the commits
910
the pusher wanted to, without having to "trust" the server.
911
889
- Hopefully a final reroll. Comments & reviews?
890
-
891
-
892
-* rs/child-process-init (2014-08-20) 4 commits
893
- (merged to 'next' on 2014-09-03 at c17c06c)
894
- + run-command: inline prepare_run_command_v_opt()
895
- + run-command: call run_command_v_opt_cd_env() instead of duplicating it
896
- + run-command: introduce child_process_init()
897
- + run-command: introduce CHILD_PROCESS_INIT
898
-
899
- Code clean-up.
900
-
901
- Will merge to 'master'.
902
-
903
-
904
-* ta/config-set-1 (2014-08-07) 8 commits
905
- (merged to 'next' on 2014-09-03 at 184b2ef)
906
- + add tests for `git_config_get_string_const()`
907
- + add a test for semantic errors in config files
908
- + rewrite git_config() to use the config-set API
909
- + config: add `git_die_config()` to the config-set API
910
- + change `git_config()` return value to void
911
- + add line number and file name info to `config_set`
912
- + config.c: fix accuracy of line number in errors
913
- + config.c: mark error and warnings strings for translation
914
- (this branch is used by ta/config-set-2.)
915
-
916
- Use the new caching config-set API in git_config() calls.
917
-
918
- Will merge to 'master'.
919
-
920
-
921
-* ta/config-set-2 (2014-08-13) 15 commits
922
- (merged to 'next' on 2014-09-03 at f2eff02)
923
- + builtin/apply.c: replace `git_config()` with `git_config_get_string_const()`
924
- + merge-recursive.c: replace `git_config()` with `git_config_get_int()`
925
- + ll-merge.c: refactor `read_merge_config()` to use `git_config_string()`
926
- + fast-import.c: replace `git_config()` with `git_config_get_*()` family
927
- + branch.c: replace `git_config()` with `git_config_get_string()
928
- + alias.c: replace `git_config()` with `git_config_get_string()`
929
- + imap-send.c: replace `git_config()` with `git_config_get_*()` family
930
- + pager.c: replace `git_config()` with `git_config_get_value()`
931
- + builtin/gc.c: replace `git_config()` with `git_config_get_*()` family
932
- + rerere.c: replace `git_config()` with `git_config_get_*()` family
933
- + fetchpack.c: replace `git_config()` with `git_config_get_*()` family
934
- + archive.c: replace `git_config()` with `git_config_get_bool()` family
935
- + read-cache.c: replace `git_config()` with `git_config_get_*()` family
936
- + http-backend.c: replace `git_config()` with `git_config_get_bool()` family
937
- + daemon.c: replace `git_config()` with `git_config_get_bool()` family
938
- (this branch uses ta/config-set-1.)
939
-
940
- Update git_config() users with callback functions for a very narrow
941
- scope with calls to config-set API that lets us query a single
942
- variable.
943
-
944
- Will merge to 'master'.
945
-
946
-
947
-* rs/ref-transaction-multi (2014-09-03) 7 commits
948
- - ### rs/ref-transaction-multi
949
- - refs.c: make the *_packed_refs functions static
950
- - refs.c: make repack_without_refs static
951
- - remote.c: use a transaction for deleting refs
952
- - refs.c: write updates to packed refs when a transaction has more than one ref
953
- - refs.c: move reflog updates into its own function
954
- - ### rs/ref-transaction-rename
955
- (this branch uses rs/ref-transaction, rs/ref-transaction-1, rs/ref-transaction-reflog and rs/ref-transaction-rename.)
956
-
957
- Follow-up on rs/ref-transaction series to use the packed-ref to
958
- achieve atomicity when multiple refs are involved.
959
-
912
Comments & reviews?
913
914
963
-* rs/ref-transaction-rename (2014-09-03) 6 commits
964
- - refs.c: rollback the lockfile before we die() in repack_without_refs
965
- - refs.c: update rename_ref to use a transaction
966
- - refs.c: use packed refs when deleting refs during a transaction
967
- - refs.c: return error instead of dying when locking fails during transaction
968
- - refs.c: allow passing raw git_committer_info as email to _update_reflog
969
- - ### rs/ref-transaction-reflog
970
- (this branch is used by rs/ref-transaction-multi; uses rs/ref-transaction, rs/ref-transaction-1 and rs/ref-transaction-reflog.)
971
-
972
- Follow-up on rs/ref-transaction series to make renaming a ref
973
- transactional (i.e. "delete old and create new" should not leave
974
- an in-between state behind when it fails).
975
-
976
- Comments & reviews?
977
-
978
-
979
-* rs/ref-transaction-reflog (2014-09-03) 16 commits
980
- - refs.c: allow deleting refs with a broken sha1
981
- - refs.c: remove lock_any_ref_for_update
982
- - refs.c: make unlock_ref/close_ref/commit_ref static
983
- - refs.c: rename log_ref_setup to create_reflog
984
- - reflog.c: use a reflog transaction when writing during expire
985
- - refs.c: allow multiple reflog updates during a single transaction
986
- - refs.c: only write reflog update if msg is non-NULL
987
- - refs.c: add a flag to allow reflog updates to truncate the log
988
- - refs.c: add a transaction function to append a reflog entry
989
- - lockfile.c: make hold_lock_file_for_append preserve meaningful errno
990
- - refs.c: add a function to append a reflog entry to a fd
991
- - refs.c: add a new update_type field to ref_update
992
- - refs.c: rename the transaction functions
993
- - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
994
- - refs.c: make ref_transaction_create a wrapper to ref_transaction_update
995
- - ### rs/ref-transaction
996
- (this branch is used by rs/ref-transaction-multi and rs/ref-transaction-rename; uses rs/ref-transaction and rs/ref-transaction-1.)
997
-
998
- Cover updates to reflog with the same transaction mechanism as used
999
- for reflog manipulations.
1000
-
1001
- Comments & reviews?
1002
- Otherwise will merge to 'next'.
1003
-
1004
-
1005
-
1006
-* rs/ref-transaction (2014-09-03) 13 commits
1007
- - refs.c: fix handling of badly named refs
1008
- - refs.c: make write_ref_sha1 static
1009
- - fetch.c: change s_update_ref to use a ref transaction
1010
- - refs.c: propagate any errno==ENOTDIR from _commit back to the callers
1011
- - refs.c: pass a skip list to name_conflict_fn
1012
- - refs.c: call lock_ref_sha1_basic directly from commit
1013
- - refs.c: move the check for valid refname to lock_ref_sha1_basic
1014
- - refs.c: pass NULL as *flags to read_ref_full
1015
- - refs.c: pass the ref log message to _create/delete/update instead of _commit
1016
- - refs.c: add an err argument to delete_ref_loose
1017
- - wrapper.c: add a new function unlink_or_msg
1018
- - wrapper.c: simplify warn_if_unremovable
1019
- - ### rs/ref-transaction-1
1020
- (this branch is used by rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename; uses rs/ref-transaction-1.)
1021
-
1022
- Comments & reviews?
1023
- Otherwise will merge to 'next'.
1024
-
1025
-
1026
-* rs/ref-transaction-1 (2014-09-03) 22 commits
1027
- (merged to 'next' on 2014-09-03 at 68e20b8)
1028
- + update-ref --stdin: pass transaction around explicitly
1029
- + update-ref --stdin: narrow scope of err strbuf
1030
- + refs.c: make delete_ref use a transaction
1031
- + refs.c: make prune_ref use a transaction to delete the ref
1032
- + refs.c: remove lock_ref_sha1
1033
- + refs.c: remove the update_ref_write function
1034
- + refs.c: remove the update_ref_lock function
1035
- + refs.c: make lock_ref_sha1 static
1036
- + walker.c: use ref transaction for ref updates
1037
- + fast-import.c: use a ref transaction when dumping tags
1038
- + receive-pack.c: use a reference transaction for updating the refs
1039
- + refs.c: change update_ref to use a transaction
1040
- + branch.c: use ref transaction for all ref updates
1041
- + fast-import.c: change update_branch to use ref transactions
1042
- + sequencer.c: use ref transactions for all ref updates
1043
- + commit.c: use ref transactions for updates
1044
- + replace.c: use the ref transaction functions for updates
1045
- + tag.c: use ref transactions when doing updates
1046
- + refs.c: add transaction.status and track OPEN/CLOSED
1047
- + refs.c: make ref_transaction_begin take an err argument
1048
- + refs.c: update ref_transaction_delete to check for error and return status
1049
- + refs.c: change ref_transaction_create to do error checking and return status
1050
- (this branch is used by rs/ref-transaction, rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename.)
1051
-
1052
- The second batch of the transactional ref update series.
1053
-
1054
- Will merge to 'master'.
1055
-
1056
-
1057
-* dt/cache-tree-repair (2014-09-03) 5 commits
1058
- (merged to 'next' on 2014-09-03 at 1c8ff65)
1059
- + cache-tree: do not try to use an invalidated subtree info to build a tree
1060
- (merged to 'next' on 2014-08-26 at 6faccdb)
1061
- + cache-tree: Write updated cache-tree after commit
1062
- + cache-tree: subdirectory tests
1063
- + test-dump-cache-tree: invalid trees are not errors
1064
- + cache-tree: create/update cache-tree on checkout
1065
-
1066
- Add a few more places in "commit" and "checkout" that make sure
1067
- that the cache-tree is fully populated in the index.
1068
-
1069
- Will merge to 'master'.
1070
-
1071
-
915
* jc/test-lazy-prereq (2014-06-13) 1 commit
916
- tests: drop GIT_*_TIMING_TESTS environment variable support
917
@@ -1088,14 +931,3 @@ of the repositories listed at
931
932
Nobody seems to be jumping up & down requesting this last step.
933
Perhaps will drop.
1091
-
1092
-
1093
---------------------------------------------------
1094
-[Discarded]
1095
-
1096
-* tr/merge-recursive-index-only (2014-02-05) 3 commits
1097
- - merge-recursive: -Xindex-only to leave worktree unchanged
1098
- - merge-recursive: internal flag to avoid touching the worktree
1099
- - merge-recursive: remove dead conditional in update_stages()
1100
-
1101
- Now part of tr/remerge-diff.