What's cooking (2014/07 #02)
Junio C Hamano committed
Jul 14, 2014 at 13:58 UTC
8fcae4508721ffa83d2514b45ceb351ec8fb6fdd
1 file changed
+409
-423
whats-cooking.txt
+409
-423
@@ -1,225 +1,261 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jul 2014, #01; Tue, 8)
4
-X-master-at: 72c779457cd72928e36f2bc43c3ff7f3ae7b77c3
5
-X-next-at: 35b839c24c6ee47bec1710eabfa8653925462638
3
+Subject: What's cooking in git.git (Jul 2014, #02; Mon, 14)
4
+X-master-at: 66f467c3e6aa9c1e28eaf7b71cea5e452fc104e8
5
+X-next-at: a2efa2fd3a2243dea76a6988cbda3d2f4acf3381
6
7
-What's cooking in git.git (Jul 2014, #01; Tue, 8)
7
+What's cooking in git.git (Jul 2014, #02; Mon, 14)
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
+We would need to start slowing down to prepare for -rc0 preview at
15
+the end of next week and then feature freeze. Some topics that
16
+joined 'next' late may want to stay there for the remainder of this
17
+cycle.
18
+
19
You can find the changes described here in the integration branches
20
of the repositories listed at
21
22
http://git-blame.blogspot.com/p/git-public-repositories.html
23
19
---------------------------------------------------
20
-[Graduated to "master"]
21
-
22
-* bc/fix-rebase-merge-skip (2014-06-16) 1 commit
23
- (merged to 'next' on 2014-06-20 at 01f81f5)
24
- + rebase--merge: fix --skip with two conflicts in a row
25
-
26
- "git rebase --skip" did not work well when it stopped due to a
27
- conflict twice in a row.
28
-
29
-
30
-* dt/refs-check-refname-component-sse (2014-06-18) 1 commit
31
- (merged to 'next' on 2014-06-20 at d286027)
32
- + refs.c: SSE2 optimizations for check_refname_component
33
-
34
- Further micro-optimization of a leaf-function.
35
-
36
-
37
-* jk/commit-buffer-length (2014-06-13) 18 commits
38
- (merged to 'next' on 2014-06-16 at b2d2d7b)
39
- + reuse cached commit buffer when parsing signatures
40
- + commit: record buffer length in cache
41
- + commit: convert commit->buffer to a slab
42
- + commit-slab: provide a static initializer
43
- + use get_commit_buffer everywhere
44
- + convert logmsg_reencode to get_commit_buffer
45
- + use get_commit_buffer to avoid duplicate code
46
- + use get_cached_commit_buffer where appropriate
47
- + provide helpers to access the commit buffer
48
- + provide a helper to set the commit buffer
49
- + provide a helper to free commit buffer
50
- + sequencer: use logmsg_reencode in get_message
51
- + logmsg_reencode: return const buffer
52
- + do not create "struct commit" with xcalloc
53
- + commit: push commit_index update into alloc_commit_node
54
- + alloc: include any-object allocations in alloc_report
55
- + replace dangerous uses of strbuf_attach
56
- + commit_tree: take a pointer/len pair rather than a const strbuf
57
-
58
- Move "commit->buffer" out of the in-core commit object and keep
59
- track of their lengths. Use this to optimize the code paths to
60
- validate GPG signatures in commit objects.
61
-
62
-
63
-* ye/http-extract-charset (2014-06-17) 1 commit
64
- (merged to 'next' on 2014-06-20 at 9492bae)
65
- + http: fix charset detection of extract_content_type()
66
-
24
--------------------------------------------------
25
[New Topics]
26
70
-* cc/replace-edit (2014-06-25) 3 commits
71
- - replace: use argv_array in export_object
72
- - avoid double close of descriptors handed to run_command
73
- - replace: replace spaces with tabs in indentation
74
- (this branch is used by jk/replace-edit-raw.)
27
+* jk/skip-prefix (2014-07-10) 1 commit
28
+ (merged to 'next' on 2014-07-14 at 0fbd06e)
29
+ + tag: use skip_prefix instead of magic numbers
30
+ (this branch is used by jk/tag-sort.)
31
76
- Will merge to 'next'.
77
-
78
-
79
-* ep/submodule-code-cleanup (2014-06-30) 1 commit
80
- - submodule.c: use the ARRAY_SIZE macro
81
-
82
- Will merge to 'next'.
32
+ Will merge to 'master'.
33
34
+ One more to an already graduated topic.
35
85
-* jk/replace-edit-raw (2014-06-25) 1 commit
86
- - replace: add a --raw mode for --edit
87
- (this branch uses cc/replace-edit.)
36
89
- Will merge to 'next'.
37
+* rs/code-cleaning (2014-07-10) 5 commits
38
+ (merged to 'next' on 2014-07-14 at d5a89c8)
39
+ + fsck: simplify fsck_commit_buffer() by using commit_list_count()
40
+ + commit: use commit_list_append() instead of duplicating its code
41
+ + merge: simplify merge_trivial() by using commit_list_append()
42
+ + use strbuf_addch for adding single characters
43
+ + use strbuf_addbuf for adding strbufs
44
45
+ Will merge to 'master'.
46
92
-* jk/strip-suffix (2014-06-30) 9 commits
93
- - prepare_packed_git_one: refactor duplicate-pack check
94
- - verify-pack: use strbuf_strip_suffix
95
- - strbuf: implement strbuf_strip_suffix
96
- - index-pack: use strip_suffix to avoid magic numbers
97
- - use strip_suffix instead of ends_with in simple cases
98
- - replace has_extension with ends_with
99
- - implement ends_with via strip_suffix
100
- - add strip_suffix function
101
- - sha1_file: replace PATH_MAX buffer with strbuf in prepare_packed_git_one()
47
103
- Will merge to 'next'.
48
+* ah/fix-http-push (2014-07-13) 1 commit
49
+ (merged to 'next' on 2014-07-14 at 5d06516)
50
+ + http-push.c: make CURLOPT_IOCTLDATA a usable pointer
51
52
+ An ancient rewrite passed a wrong pointer to a curl library
53
+ function in a rarely used code path.
54
106
-* jk/tag-contains (2014-06-30) 8 commits
107
- - perf: add tests for tag --contains
108
- - tag: use commit_contains
109
- - commit: provide a fast multi-tip contains function
110
- - string-list: add pos to iterator callback
111
- - add functions for memory-efficient bitmaps
112
- - paint_down_to_common: use prio_queue
113
- - tag: factor out decision to stream tags
114
- - tag: allow --sort with -n
55
+ Will merge to 'master'.
56
116
- Expecting a reroll.
57
58
+* jc/reopen-lock-file (2014-07-14) 1 commit
59
+ - lockfile: allow reopening a closed but still locked file
60
+ (this branch uses nd/split-index.)
61
119
-* mg/fix-log-mergetag-color (2014-06-30) 1 commit
120
- - log: correctly identify mergetag signature verification status
62
+ Needed in the "commit -p" code path to update the cache tree in the
63
+ index.
64
122
- Will merge to 'next'.
65
66
+* jk/alloc-commit-id (2014-07-13) 8 commits
67
+ - diff-tree: avoid lookup_unknown_object
68
+ - object_as_type: set commit index
69
+ - alloc: factor out commit index
70
+ - add object_as_type helper for casting objects
71
+ - parse_object_buffer: do not set object type
72
+ - move setting of object->type to alloc_* functions
73
+ - alloc: write out allocator definitions
74
+ - alloc.c: remove the alloc_raw_commit_node() function
75
125
-* mk/merge-incomplete-files (2014-06-30) 2 commits
126
- - git-merge-file: do not add LF at EOF while applying unrelated change
127
- - t6023-merge-file.sh: fix and mark as broken invalid tests
76
+ Make sure all in-core commit objects are assigned a unique number
77
+ so that they can be annotated using the commit-slab API.
78
79
Will merge to 'next'.
80
81
132
-* rs/status-code-clean-up (2014-06-29) 2 commits
133
- (merged to 'next' on 2014-07-08 at db67965)
134
- + wt-status: simplify building of summary limit argument
135
- + wt-status: use argv_array for environment
136
-
137
- Will merge to 'master'.
138
-
139
-
140
-* tb/crlf-tests (2014-07-08) 2 commits
141
- (merged to 'next' on 2014-07-08 at 40764b7)
142
- + t0027: combinations of core.autocrlf, core.eol and text
143
- + t0025: rename the test files
82
+* jk/remote-curl-squelch-extra-errors (2014-07-10) 3 commits
83
+ (merged to 'next' on 2014-07-14 at a2efa2f)
84
+ + remote-curl: mark helper-protocol errors more clearly
85
+ + remote-curl: use error instead of fprintf(stderr)
86
+ + remote-curl: do not complain on EOF from parent git
87
88
Will merge to 'master'.
89
90
148
-* ak/profile-feedback-build (2014-07-08) 4 commits
149
- - Fix profile feedback with -jN and add profile-fast
150
- - Run the perf test suite for profile feedback too
151
- - Don't define away __attribute__ on gcc
152
- - Use BASIC_FLAGS for profile feedback
91
+* rs/ref-transaction-0 (2014-07-14) 19 commits
92
+ (merged to 'next' on 2014-07-14 at b21bcee)
93
+ + refs.c: change ref_transaction_update() to do error checking and return status
94
+ + refs.c: remove the onerr argument to ref_transaction_commit
95
+ + update-ref: use err argument to get error from ref_transaction_commit
96
+ + refs.c: make update_ref_write update a strbuf on failure
97
+ + refs.c: make ref_update_reject_duplicates take a strbuf argument for errors
98
+ + refs.c: log_ref_write should try to return meaningful errno
99
+ + refs.c: make resolve_ref_unsafe set errno to something meaningful on error
100
+ + refs.c: commit_packed_refs to return a meaningful errno on failure
101
+ + refs.c: make remove_empty_directories always set errno to something sane
102
+ + refs.c: verify_lock should set errno to something meaningful
103
+ + refs.c: make sure log_ref_setup returns a meaningful errno
104
+ + refs.c: add an err argument to repack_without_refs
105
+ + lockfile.c: make lock_file return a meaningful errno on failurei
106
+ + lockfile.c: add a new public function unable_to_lock_message
107
+ + refs.c: add a strbuf argument to ref_transaction_commit for error logging
108
+ + refs.c: allow passing NULL to ref_transaction_free
109
+ + refs.c: constify the sha arguments for ref_transaction_create|delete|update
110
+ + refs.c: ref_transaction_commit should not free the transaction
111
+ + refs.c: remove ref_transaction_rollback
112
+ (this branch is used by rs/ref-transaction.)
113
+
114
+ Early part of Ronnie's "ref transaction" topic.
115
+ Portability workaround may be needed on top ($gmane/252496).
116
154
- Will merge to 'next'.
117
+--------------------------------------------------
118
+[Graduated to "master"]
119
120
+* jk/skip-prefix (2014-06-20) 18 commits
121
+ (merged to 'next' on 2014-06-23 at cd387a6)
122
+ + http-push: refactor parsing of remote object names
123
+ + imap-send: use skip_prefix instead of using magic numbers
124
+ + use skip_prefix to avoid repeated calculations
125
+ + git: avoid magic number with skip_prefix
126
+ + fetch-pack: refactor parsing in get_ack
127
+ + fast-import: refactor parsing of spaces
128
+ + stat_opt: check extra strlen call
129
+ + daemon: use skip_prefix to avoid magic numbers
130
+ + fast-import: use skip_prefix for parsing input
131
+ + use skip_prefix to avoid repeating strings
132
+ + use skip_prefix to avoid magic numbers
133
+ + transport-helper: avoid reading past end-of-string
134
+ + fast-import: fix read of uninitialized argv memory
135
+ + apply: use skip_prefix instead of raw addition
136
+ + refactor skip_prefix to return a boolean
137
+ + avoid using skip_prefix as a boolean
138
+ + daemon: mark some strings as const
139
+ + parse_diff_color_slot: drop ofs parameter
140
157
-* cb/filter-branch-prune-empty-degenerate-merges (2014-07-01) 1 commit
158
- - filter-branch: eliminate duplicate mapped parents
141
160
- Will merge to 'next'.
142
+* kb/path-max-must-go (2014-07-13) 1 commit
143
+ (merged to 'next' on 2014-07-14 at b0b9834)
144
+ + cache.h: rename cache_def_free to cache_def_clear
145
146
163
-* cc/for-each-mergetag (2014-07-07) 1 commit
164
- - commit: add for_each_mergetag()
165
- (this branch is used by cc/replace-graft.)
147
+* dt/refs-check-refname-component-sse-fix (2014-07-08) 2 commits
148
+ (merged to 'next' on 2014-07-08 at 35b839c)
149
+ + refs: fix valgrind suppression file
150
+ + refs.c: handle REFNAME_REFSPEC_PATTERN at end of page
151
167
- Will merge to 'next'.
152
+ Fixes to a topic that is already in 'master'.
153
154
170
-* dt/cache-tree-repair (2014-07-08) 4 commits
171
- - cache-tree: write updated cache-tree after commit
172
- - cache-tree: subdirectory tests
173
- - test-dump-cache-tree: invalid trees are not errors
174
- - cache-tree: create/update cache-tree on checkout
155
+* jc/fix-clone-single-starting-at-a-tag (2014-06-23) 1 commit
156
+ (merged to 'next' on 2014-07-02 at cc0c4b1)
157
+ + builtin/clone.c: detect a clone starting at a tag correctly
158
176
- Reviews seen; waiting for a response.
159
+ "git clone -b brefs/tags/bar" would have mistakenly thought we were
160
+ following a single tag, even though it was a name of the branch,
161
+ because it incorrectly used strstr().
162
163
179
-* jl/test-lint-scripts (2014-07-07) 3 commits
180
- - DONTMERGE: missing sign-off
181
- - t/Makefile: always test all lint targets when running tests
182
- - t/Makefile: check helper scripts for non-portable shell commands too
164
+* jk/pretty-G-format-fixes (2014-06-25) 6 commits
165
+ (merged to 'next' on 2014-06-26 at 7138407)
166
+ + move "%G" format test from t7510 to t6006
167
+ (merged to 'next' on 2014-06-20 at f504bbc)
168
+ + pretty: avoid reading past end-of-string with "%G"
169
+ + t7510: check %G* pretty-format output
170
+ + t7510: test a commit signed by an unknown key
171
+ + t7510: use consistent &&-chains in loop
172
+ + t7510: stop referring to master in later tests
173
174
+ "%G" (nothing after G) is an invalid pretty format specifier, but
175
+ the parser did not notice it as garbage.
176
185
-* kb/hashmap-updates (2014-07-07) 4 commits
186
- - hashmap: add string interning API
187
- - hashmap: add simplified hashmap_get_from_hash() API
188
- - hashmap: improve struct hashmap member documentation
189
- - hashmap: factor out getting a hash code from a SHA1
177
191
- Reviews sent; waiting for a response.
178
+* jk/xstrfmt (2014-06-25) 11 commits
179
+ (merged to 'next' on 2014-06-25 at 5031d4e)
180
+ + setup_git_env(): introduce git_path_from_env() helper
181
+ (merged to 'next' on 2014-06-23 at 64f2558)
182
+ + unique_path: fix unlikely heap overflow
183
+ + walker_fetch: fix minor memory leak
184
+ + merge: use argv_array when spawning merge strategy
185
+ + sequencer: use argv_array_pushf
186
+ + setup_git_env: use git_pathdup instead of xmalloc + sprintf
187
+ + use xstrfmt to replace xmalloc + strcpy/strcat
188
+ + use xstrfmt to replace xmalloc + sprintf
189
+ + use xstrdup instead of xmalloc + strcpy
190
+ + use xstrfmt in favor of manual size calculations
191
+ + strbuf: add xstrfmt helper
192
193
194
-* kb/path-max-must-go (2014-07-07) 2 commits
195
- (merged to 'next' on 2014-07-08 at 4d41c18)
196
- + dir: remove PATH_MAX limitation
197
- + symlinks: remove PATH_MAX limitation
194
+* mg/verify-commit (2014-06-23) 5 commits
195
+ (merged to 'next' on 2014-07-02 at 6d77bcf)
196
+ + t7510: test verify-commit
197
+ + t7510: exit for loop with test result
198
+ + verify-commit: scriptable commit signature verification
199
+ + gpg-interface: provide access to the payload
200
+ + gpg-interface: provide clear helper for struct signature_check
201
199
- Will merge to 'master'.
202
+ Add 'verify-commit' to be used in a way similar to 'verify-tag' is
203
+ used. Further work on verifying the mergetags might be needed.
204
205
206
* rs/fix-alt-odb-path-comparison (2014-07-01) 1 commit
207
(merged to 'next' on 2014-07-08 at f9c69e5)
208
+ sha1_file: avoid overrunning alternate object base string
209
206
- Will merge to 'master'.
207
-
210
211
* rs/simplify-archive-tests (2014-07-07) 1 commit
212
(merged to 'next' on 2014-07-08 at c46cfac)
213
+ t5000, t5003: simplify commit
214
213
- Will merge to 'master'.
215
216
+* rs/status-code-clean-up (2014-06-29) 2 commits
217
+ (merged to 'next' on 2014-07-08 at db67965)
218
+ + wt-status: simplify building of summary limit argument
219
+ + wt-status: use argv_array for environment
220
216
-* zk/log-graph-showsig (2014-07-08) 1 commit
217
- - log: fix indentation for --graph --show-signature
221
219
- The "--show-signature" option did not pay much attention to
220
- "--graph".
222
+* sk/mingw-dirent (2014-06-09) 5 commits
223
+ (merged to 'next' on 2014-06-30 at ae9e2d6)
224
+ + Win32 dirent: improve dirent implementation
225
+ + Win32 dirent: clarify #include directives
226
+ + Win32 dirent: change FILENAME_MAX to MAX_PATH
227
+ + Win32 dirent: remove unused dirent.d_reclen member
228
+ + Win32 dirent: remove unused dirent.d_ino member
229
222
- Will merge to 'next'.
230
+
231
+* sk/mingw-main (2014-06-10) 2 commits
232
+ (merged to 'next' on 2014-06-30 at 447cb50)
233
+ + mingw: avoid const warning
234
+ + Win32: move main macro to a function
235
+ (this branch is used by sk/mingw-uni-console and sk/mingw-unicode-spawn-args.)
236
+
237
+
238
+* sk/mingw-uni-console (2014-06-16) 7 commits
239
+ (merged to 'next' on 2014-06-30 at f4fbc41)
240
+ + Win32: reliably detect console pipe handles
241
+ + Win32: fix broken pipe detection
242
+ + Win32: Thread-safe windows console output
243
+ + Win32: add Unicode conversion functions
244
+ + Win32: warn if the console font doesn't support Unicode
245
+ + Win32: detect console streams more reliably
246
+ + Win32: support Unicode console output
247
+ (this branch is used by sk/mingw-unicode-spawn-args; uses sk/mingw-main.)
248
+
249
+
250
+* sk/mingw-unicode-spawn-args (2014-06-16) 6 commits
251
+ (merged to 'next' on 2014-06-30 at c8f79d0)
252
+ + Win32: Unicode arguments (incoming)
253
+ + Win32: Unicode arguments (outgoing)
254
+ + MinGW: disable CRT command line globbing
255
+ + Win32: fix potential multi-threading issue
256
+ + Win32: simplify internal mingw_spawn* APIs
257
+ + Win32: let mingw_execve() return an int
258
+ (this branch uses sk/mingw-main and sk/mingw-uni-console.)
259
260
--------------------------------------------------
261
[Stalled]
@@ -282,35 +318,33 @@ of the repositories listed at
318
319
320
* mh/lockfile (2014-04-15) 25 commits
285
- - trim_last_path_elm(): replace last_path_elm()
286
- - resolve_symlink(): take a strbuf parameter
287
- - resolve_symlink(): use a strbuf for internal scratch space
288
- - change lock_file::filename into a strbuf
289
- - commit_lock_file(): use a strbuf to manage temporary space
290
- - try_merge_strategy(): use a statically-allocated lock_file object
291
- - try_merge_strategy(): remove redundant lock_file allocation
292
- - struct lock_file: declare some fields volatile
293
- - lockfile: avoid transitory invalid states
294
- - commit_lock_file(): die() if called for unlocked lockfile object
295
- - commit_lock_file(): inline temporary variable
296
- - remove_lock_file(): call rollback_lock_file()
297
- - lock_file(): exit early if lockfile cannot be opened
298
- - write_packed_entry_fn(): convert cb_data into a (const int *)
299
- - prepare_index(): declare return value to be (const char *)
300
- - delete_ref_loose(): don't muck around in the lock_file's filename
301
- - cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
302
- - lockfile.c: document the various states of lock_file objects
303
- - lock_file(): always add lock_file object to lock_file_list
304
- - hold_lock_file_for_append(): release lock on errors
305
- - lockfile: unlock file if lockfile permissions cannot be adjusted
306
- - rollback_lock_file(): set fd to -1
307
- - rollback_lock_file(): do not clear filename redundantly
308
- - api-lockfile: expand the documentation
309
- - unable_to_lock_die(): rename function from unable_to_lock_index_die()
310
-
311
- Refactor and fix corner-case bugs in the lockfile API, all looked
312
- sensible.
321
+ . trim_last_path_elm(): replace last_path_elm()
322
+ . resolve_symlink(): take a strbuf parameter
323
+ . resolve_symlink(): use a strbuf for internal scratch space
324
+ . change lock_file::filename into a strbuf
325
+ . commit_lock_file(): use a strbuf to manage temporary space
326
+ . try_merge_strategy(): use a statically-allocated lock_file object
327
+ . try_merge_strategy(): remove redundant lock_file allocation
328
+ . struct lock_file: declare some fields volatile
329
+ . lockfile: avoid transitory invalid states
330
+ . commit_lock_file(): die() if called for unlocked lockfile object
331
+ . commit_lock_file(): inline temporary variable
332
+ . remove_lock_file(): call rollback_lock_file()
333
+ . lock_file(): exit early if lockfile cannot be opened
334
+ . write_packed_entry_fn(): convert cb_data into a (const int *)
335
+ . prepare_index(): declare return value to be (const char *)
336
+ . delete_ref_loose(): don't muck around in the lock_file's filename
337
+ . cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
338
+ . lockfile.c: document the various states of lock_file objects
339
+ . lock_file(): always add lock_file object to lock_file_list
340
+ . hold_lock_file_for_append(): release lock on errors
341
+ . lockfile: unlock file if lockfile permissions cannot be adjusted
342
+ . rollback_lock_file(): set fd to -1
343
+ . rollback_lock_file(): do not clear filename redundantly
344
+ . api-lockfile: expand the documentation
345
+ . unable_to_lock_die(): rename function from unable_to_lock_index_die()
346
347
+ Ejected from 'pu' to unclutter.
348
Expecting a reroll.
349
350
@@ -384,38 +418,6 @@ of the repositories listed at
418
Will hold.
419
420
387
-* jk/branch-at-publish-rebased (2014-01-17) 5 commits
388
- . t1507 (rev-parse-upstream): fix typo in test title
389
- . implement @{publish} shorthand
390
- . branch_get: provide per-branch pushremote pointers
391
- . branch_get: return early on error
392
- . sha1_name: refactor upstream_mark
393
-
394
- Give an easier access to the tracking branches from "other" side in
395
- a triangular workflow by introducing B@{publish} that works in a
396
- similar way to how B@{upstream} does.
397
-
398
- Meant to be used as a basis for whatever Ram wants to build on.
399
-
400
- Ejected from 'pu' to unclutter.
401
-
402
-
403
-* fc/publish-vs-upstream (2014-04-21) 8 commits
404
- . sha1_name: add support for @{publish} marks
405
- . sha1_name: simplify track finding
406
- . sha1_name: cleanup interpret_branch_name()
407
- . branch: display publish branch
408
- . push: add --set-publish option
409
- . branch: add --set-publish-to option
410
- . Add concept of 'publish' branch
411
- . t5516 (fetch-push): fix test restoration
412
-
413
- Add branch@{publish}; it seems that this is somewhat different from
414
- Ram and Peff started working on. At least the tip needs to be
415
- rerolled not to squat on @{p} which @{push} and possibly @{pull}
416
- may want to share.
417
-
418
-
421
* rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
422
- merge: drop unused arg from abort_commit method signature
423
- merge: make prepare_to_commit responsible for write_merge_state
@@ -438,20 +440,6 @@ of the repositories listed at
440
This was primarily a RFH ($gmane/239580).
441
442
441
-* np/pack-v4 (2013-09-18) 90 commits
442
- . packv4-parse.c: add tree offset caching
443
- . t1050: replace one instance of show-index with verify-pack
444
- . index-pack, pack-objects: allow creating .idx v2 with .pack v4
445
- . unpack-objects: decode v4 trees
446
- . unpack-objects: allow to save processed bytes to a buffer
447
- - ...
448
-
449
- Nico and Duy advancing the eternal vaporware pack-v4. This is here
450
- primarily for wider distribution of the preview edition.
451
-
452
- Needs to be rebased, now the pack-bitmap series is in.
453
-
454
-
443
* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
444
- perf-lib: add test_perf_cleanup target
445
- perf-lib: split starting the test from the execution
@@ -477,134 +465,212 @@ of the repositories listed at
465
466
More or less abandoned. Will drop.
467
468
+--------------------------------------------------
469
+[Cooking]
470
481
-* nd/multiple-work-trees (2014-03-25) 28 commits
482
- . count-objects: report unused files in $GIT_DIR/repos/...
483
- . gc: support prune --repos
484
- . gc: style change -- no SP before closing bracket
485
- . prune: strategies for linked checkouts
486
- . checkout: detach if the branch is already checked out elsewhere
487
- . checkout: clean up half-prepared directories in --to mode
488
- . checkout: support checking out into a new working directory
489
- . use new wrapper write_file() for simple file writing
490
- . wrapper.c: wrapper to open a file, fprintf then close
491
- . setup.c: support multi-checkout repo setup
492
- . setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
493
- . setup.c: convert check_repository_format_gently to use strbuf
494
- . setup.c: detect $GIT_COMMON_DIR in is_git_directory()
495
- . setup.c: convert is_git_directory() to use strbuf
496
- . git-stash: avoid hardcoding $GIT_DIR/logs/....
497
- . *.sh: avoid hardcoding $GIT_DIR/hooks/...
498
- . git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
499
- . $GIT_COMMON_DIR: a new environment variable
500
- . commit: use SEQ_DIR instead of hardcoding "sequencer"
501
- . fast-import: use git_path() for accessing .git dir instead of get_git_dir()
502
- . reflog: avoid constructing .lock path with git_path
503
- . *.sh: respect $GIT_INDEX_FILE
504
- . git_path(): be aware of file relocation in $GIT_DIR
505
- . path.c: group git_path(), git_pathdup() and strbuf_git_path() together
506
- . path.c: rename vsnpath() to do_git_path()
507
- . git_snpath(): retire and replace with strbuf_git_path()
508
- . path.c: make get_pathname() call sites return const char *
509
- . path.c: make get_pathname() return strbuf instead of static buffer
471
+* nd/multiple-work-trees (2014-07-14) 31 commits
472
+ - checkout: don't require a work tree when checking out into a new one
473
+ - git_path(): keep "info/sparse-checkout" per work-tree
474
+ - count-objects: report unused files in $GIT_DIR/repos/...
475
+ - gc: support prune --repos
476
+ - gc: factor out gc.pruneexpire parsing code
477
+ - gc: style change -- no SP before closing parenthesis
478
+ - prune: strategies for linked checkouts
479
+ - checkout: detach if the branch is already checked out elsewhere
480
+ - checkout: clean up half-prepared directories in --to mode
481
+ - checkout: support checking out into a new working directory
482
+ - use new wrapper write_file() for simple file writing
483
+ - wrapper.c: wrapper to open a file, fprintf then close
484
+ - setup.c: support multi-checkout repo setup
485
+ - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
486
+ - setup.c: convert check_repository_format_gently to use strbuf
487
+ - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
488
+ - setup.c: convert is_git_directory() to use strbuf
489
+ - git-stash: avoid hardcoding $GIT_DIR/logs/....
490
+ - *.sh: avoid hardcoding $GIT_DIR/hooks/...
491
+ - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
492
+ - $GIT_COMMON_DIR: a new environment variable
493
+ - commit: use SEQ_DIR instead of hardcoding "sequencer"
494
+ - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
495
+ - reflog: avoid constructing .lock path with git_path
496
+ - *.sh: respect $GIT_INDEX_FILE
497
+ - git_path(): be aware of file relocation in $GIT_DIR
498
+ - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
499
+ - path.c: rename vsnpath() to do_git_path()
500
+ - git_snpath(): retire and replace with strbuf_git_path()
501
+ - path.c: make get_pathname() call sites return const char *
502
+ - path.c: make get_pathname() return strbuf instead of static buffer
503
504
A replacement for contrib/workdir/git-new-workdir that does not
505
rely on symbolic links and make sharing of objects and refs safer
506
by making the borrowee and borrowers aware of each other.
507
515
---------------------------------------------------
516
-[Cooking]
508
+ Rerolled.
509
518
-* cc/replace-graft (2014-07-07) 9 commits
519
- - replace: add test for --graft with a mergetag
520
- - replace: check mergetags when using --graft
521
- - replace: add test for --graft with signed commit
522
- - replace: remove signature when using --graft
523
- - contrib: add convert-grafts-to-replace-refs.sh
524
- - Documentation: replace: add --graft option
525
- - replace: add test for --graft
526
- - replace: add --graft option
527
- - replace: cleanup redirection style in tests
528
- (this branch uses cc/for-each-mergetag.)
510
530
- "git replace" learned a "--graft" option to rewrite parents of a
531
- commit.
511
+* cc/replace-edit (2014-06-25) 3 commits
512
+ (merged to 'next' on 2014-07-10 at 097cd5e)
513
+ + replace: use argv_array in export_object
514
+ + avoid double close of descriptors handed to run_command
515
+ + replace: replace spaces with tabs in indentation
516
+ (this branch is used by jk/replace-edit-raw.)
517
518
+ Teach "git replace" an "--edit" mode.
519
534
-* jc/fix-clone-single-starting-at-a-tag (2014-06-23) 1 commit
535
- (merged to 'next' on 2014-07-02 at cc0c4b1)
536
- + builtin/clone.c: detect a clone starting at a tag correctly
520
+ Will merge to 'master'.
521
+
522
+
523
+* jk/replace-edit-raw (2014-06-25) 1 commit
524
+ (merged to 'next' on 2014-07-10 at b934bb0)
525
+ + replace: add a --raw mode for --edit
526
+ (this branch uses cc/replace-edit.)
527
+
528
+ Teach "git replace --edit" mode a "--raw" option to allow
529
+ editing the bare-metal representation data of objects.
530
531
Will merge to 'master'.
532
533
541
-* mg/verify-commit (2014-06-23) 5 commits
542
- (merged to 'next' on 2014-07-02 at 6d77bcf)
543
- + t7510: test verify-commit
544
- + t7510: exit for loop with test result
545
- + verify-commit: scriptable commit signature verification
546
- + gpg-interface: provide access to the payload
547
- + gpg-interface: provide clear helper for struct signature_check
534
+* ep/submodule-code-cleanup (2014-06-30) 1 commit
535
+ (merged to 'next' on 2014-07-10 at d4de30a)
536
+ + submodule.c: use the ARRAY_SIZE macro
537
+
538
+ Will merge to 'master'.
539
549
- Add 'verify-commit' to be used in a way similar to 'verify-tag' is
550
- used. Further work on verifying the mergetags might be needed.
540
+
541
+* jk/strip-suffix (2014-06-30) 9 commits
542
+ (merged to 'next' on 2014-07-10 at e6cfa29)
543
+ + prepare_packed_git_one: refactor duplicate-pack check
544
+ + verify-pack: use strbuf_strip_suffix
545
+ + strbuf: implement strbuf_strip_suffix
546
+ + index-pack: use strip_suffix to avoid magic numbers
547
+ + use strip_suffix instead of ends_with in simple cases
548
+ + replace has_extension with ends_with
549
+ + implement ends_with via strip_suffix
550
+ + add strip_suffix function
551
+ + sha1_file: replace PATH_MAX buffer with strbuf in prepare_packed_git_one()
552
553
Will merge to 'master'.
554
555
555
-* dt/refs-check-refname-component-sse-fix (2014-07-08) 2 commits
556
- (merged to 'next' on 2014-07-08 at 35b839c)
557
- + refs: fix valgrind suppression file
558
- + refs.c: handle REFNAME_REFSPEC_PATTERN at end of page
556
+* jk/tag-contains (2014-06-30) 8 commits
557
+ - perf: add tests for tag --contains
558
+ - tag: use commit_contains
559
+ - commit: provide a fast multi-tip contains function
560
+ - string-list: add pos to iterator callback
561
+ - add functions for memory-efficient bitmaps
562
+ - paint_down_to_common: use prio_queue
563
+ - tag: factor out decision to stream tags
564
+ - tag: allow --sort with -n
565
560
- Fixes to a topic that is already in 'master'.
566
+ Expecting a reroll.
567
+
568
+
569
+* mg/fix-log-mergetag-color (2014-07-10) 1 commit
570
+ (merged to 'next' on 2014-07-14 at e90dba1)
571
+ + log: correctly identify mergetag signature verification status
572
573
Will merge to 'master'.
574
575
565
-* jk/skip-prefix (2014-06-20) 18 commits
566
- (merged to 'next' on 2014-06-23 at cd387a6)
567
- + http-push: refactor parsing of remote object names
568
- + imap-send: use skip_prefix instead of using magic numbers
569
- + use skip_prefix to avoid repeated calculations
570
- + git: avoid magic number with skip_prefix
571
- + fetch-pack: refactor parsing in get_ack
572
- + fast-import: refactor parsing of spaces
573
- + stat_opt: check extra strlen call
574
- + daemon: use skip_prefix to avoid magic numbers
575
- + fast-import: use skip_prefix for parsing input
576
- + use skip_prefix to avoid repeating strings
577
- + use skip_prefix to avoid magic numbers
578
- + transport-helper: avoid reading past end-of-string
579
- + fast-import: fix read of uninitialized argv memory
580
- + apply: use skip_prefix instead of raw addition
581
- + refactor skip_prefix to return a boolean
582
- + avoid using skip_prefix as a boolean
583
- + daemon: mark some strings as const
584
- + parse_diff_color_slot: drop ofs parameter
576
+* mk/merge-incomplete-files (2014-06-30) 2 commits
577
+ (merged to 'next' on 2014-07-10 at d1115f4)
578
+ + git-merge-file: do not add LF at EOF while applying unrelated change
579
+ + t6023-merge-file.sh: fix and mark as broken invalid tests
580
581
Will merge to 'master'.
582
583
589
-* jk/xstrfmt (2014-06-25) 11 commits
590
- (merged to 'next' on 2014-06-25 at 5031d4e)
591
- + setup_git_env(): introduce git_path_from_env() helper
592
- (merged to 'next' on 2014-06-23 at 64f2558)
593
- + unique_path: fix unlikely heap overflow
594
- + walker_fetch: fix minor memory leak
595
- + merge: use argv_array when spawning merge strategy
596
- + sequencer: use argv_array_pushf
597
- + setup_git_env: use git_pathdup instead of xmalloc + sprintf
598
- + use xstrfmt to replace xmalloc + strcpy/strcat
599
- + use xstrfmt to replace xmalloc + sprintf
600
- + use xstrdup instead of xmalloc + strcpy
601
- + use xstrfmt in favor of manual size calculations
602
- + strbuf: add xstrfmt helper
584
+* tb/crlf-tests (2014-07-08) 2 commits
585
+ (merged to 'next' on 2014-07-08 at 40764b7)
586
+ + t0027: combinations of core.autocrlf, core.eol and text
587
+ + t0025: rename the test files
588
+
589
+ Will merge to 'master'.
590
+
591
+
592
+* ak/profile-feedback-build (2014-07-08) 4 commits
593
+ (merged to 'next' on 2014-07-14 at c40e86e)
594
+ + Fix profile feedback with -jN and add profile-fast
595
+ + Run the perf test suite for profile feedback too
596
+ + Don't define away __attribute__ on gcc
597
+ + Use BASIC_FLAGS for profile feedback
598
+
599
+ Will merge to 'master'.
600
+
601
+
602
+* cb/filter-branch-prune-empty-degenerate-merges (2014-07-01) 1 commit
603
+ (merged to 'next' on 2014-07-10 at 860cfea)
604
+ + filter-branch: eliminate duplicate mapped parents
605
+
606
+ Will merge to 'master'.
607
+
608
+
609
+* cc/for-each-mergetag (2014-07-07) 1 commit
610
+ - commit: add for_each_mergetag()
611
+ (this branch is used by cc/replace-graft.)
612
+
613
+ Will merge to 'next'.
614
+
615
+
616
+* dt/cache-tree-repair (2014-07-14) 4 commits
617
+ - cache-tree: Write updated cache-tree after commit
618
+ - cache-tree: subdirectory tests
619
+ - test-dump-cache-tree: invalid trees are not errors
620
+ - cache-tree: create/update cache-tree on checkout
621
+
622
+ Add a few more places in "commit" and "checkout" that make sure
623
+ that the cache-tree is fully populated in the index.
624
+
625
+ Will merge to 'next'.
626
+
627
+
628
+* jl/test-lint-scripts (2014-07-10) 2 commits
629
+ (merged to 'next' on 2014-07-14 at c03721c)
630
+ + t/Makefile: always test all lint targets when running tests
631
+ + t/Makefile: check helper scripts for non-portable shell commands too
632
+
633
+ Will merge to 'master'.
634
+
635
+
636
+* kb/hashmap-updates (2014-07-07) 4 commits
637
+ - hashmap: add string interning API
638
+ - hashmap: add simplified hashmap_get_from_hash() API
639
+ - hashmap: improve struct hashmap member documentation
640
+ - hashmap: factor out getting a hash code from a SHA1
641
+
642
+ Expecting a reroll ($gmane/252973 and possibly $gmane/252976).
643
+
644
+
645
+
646
+* zk/log-graph-showsig (2014-07-09) 1 commit
647
+ (merged to 'next' on 2014-07-14 at 4429c2e)
648
+ + log: fix indentation for --graph --show-signature
649
+
650
+ The "--show-signature" option did not pay much attention to
651
+ "--graph".
652
653
Will merge to 'master'.
654
655
607
-* kb/perf-trace (2014-07-07) 17 commits
656
+* cc/replace-graft (2014-07-07) 9 commits
657
+ - replace: add test for --graft with a mergetag
658
+ - replace: check mergetags when using --graft
659
+ - replace: add test for --graft with signed commit
660
+ - replace: remove signature when using --graft
661
+ - contrib: add convert-grafts-to-replace-refs.sh
662
+ - Documentation: replace: add --graft option
663
+ - replace: add test for --graft
664
+ - replace: add --graft option
665
+ - replace: cleanup redirection style in tests
666
+ (this branch uses cc/for-each-mergetag.)
667
+
668
+ "git replace" learned a "--graft" option to rewrite parents of a
669
+ commit.
670
+
671
+
672
+* kb/perf-trace (2014-07-13) 17 commits
673
+ - api-trace.txt: add trace API documentation
674
- progress: simplify performance measurement by using getnanotime()
675
- wt-status: simplify performance measurement by using getnanotime()
676
- git: add performance tracing for git's main() function to debug scripts
@@ -617,7 +683,6 @@ of the repositories listed at
683
- trace: add infrastructure to augment trace output with additional info
684
- sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API
685
- Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables
620
- - trace.h: suppress some sparse warnings and errors
686
- trace: improve trace performance
687
- trace: remove redundant printf format attribute
688
- trace: consistently name the format parameter
@@ -633,32 +698,34 @@ of the repositories listed at
698
- implement submodule config cache for lookup of submodule names
699
700
636
-* jl/submodule-tests (2014-07-07) 14 commits
637
- - revert: add t3513 for submodule updates
638
- - stash: add t3906 for submodule updates
639
- - am: add t4255 for submodule updates
640
- - cherry-pick: add t3512 for submodule updates
641
- - pull: add t5572 for submodule updates
642
- - rebase: add t3426 for submodule updates
643
- - merge: add t7613 for submodule updates
644
- - bisect: add t6041 for submodule updates
645
- - reset: add t7112 for submodule updates
646
- - read-tree: add t1013 for submodule updates
647
- - apply: add t4137 for submodule updates
648
- - checkout: call the new submodule update test framework
649
- - submodules: add the lib-submodule-update.sh test library
650
- - test-lib: add test_dir_is_empty()
701
+* jl/submodule-tests (2014-07-14) 14 commits
702
+ (merged to 'next' on 2014-07-14 at 0c750bb)
703
+ + revert: add t3513 for submodule updates
704
+ + stash: add t3906 for submodule updates
705
+ + am: add t4255 for submodule updates
706
+ + cherry-pick: add t3512 for submodule updates
707
+ + pull: add t5572 for submodule updates
708
+ + rebase: add t3426 for submodule updates
709
+ + merge: add t7613 for submodule updates
710
+ + bisect: add t6041 for submodule updates
711
+ + reset: add t7112 for submodule updates
712
+ + read-tree: add t1013 for submodule updates
713
+ + apply: add t4137 for submodule updates
714
+ + checkout: call the new submodule update test framework
715
+ + submodules: add the lib-submodule-update.sh test library
716
+ + test-lib: add test_dir_is_empty()
717
652
- Will merge to 'next'.
718
+ Will merge to 'master'.
719
720
655
-* po/error-message-style (2014-06-16) 1 commit
656
- - doc: state coding guideline for error message punctuation
721
+* po/error-message-style (2014-07-10) 1 commit
722
+ (merged to 'next' on 2014-07-14 at ed17678)
723
+ + doc: give some guidelines for error messages
724
658
- Expecting a reroll.
725
+ Will merge to 'master'.
726
727
661
-* rs/ref-transaction (2014-06-20) 48 commits
728
+* rs/ref-transaction (2014-07-14) 29 commits
729
- refs.c: make write_ref_sha1 static
730
- fetch.c: change s_update_ref to use a ref transaction
731
- refs.c: propagate any errno==ENOTDIR from _commit back to the callers
@@ -688,43 +755,8 @@ of the repositories listed at
755
- refs.c: make ref_transaction_begin take an err argument
756
- refs.c: update ref_transaction_delete to check for error and return status
757
- refs.c: change ref_transaction_create to do error checking and return status
691
- - refs.c: change ref_transaction_update() to do error checking and return status
692
- - refs.c: remove the onerr argument to ref_transaction_commit
693
- - update-ref: use err argument to get error from ref_transaction_commit
694
- - refs.c: make update_ref_write update a strbuf on failure
695
- - refs.c: make ref_update_reject_duplicates take a strbuf argument for errors
696
- - refs.c: log_ref_write should try to return meaningful errno
697
- - refs.c: make resolve_ref_unsafe set errno to something meaningful on error
698
- - refs.c: commit_packed_refs to return a meaningful errno on failure
699
- - refs.c: make remove_empty_directories always set errno to something sane
700
- - refs.c: verify_lock should set errno to something meaningful
701
- - refs.c: make sure log_ref_setup returns a meaningful errno
702
- - refs.c: add an err argument to repack_without_refs
703
- - lockfile.c: make lock_file return a meaningful errno on failurei
704
- - lockfile.c: add a new public function unable_to_lock_message
705
- - refs.c: add a strbuf argument to ref_transaction_commit for error logging
706
- - refs.c: allow passing NULL to ref_transaction_free
707
- - refs.c: constify the sha arguments for ref_transaction_create|delete|update
708
- - refs.c: ref_transaction_commit should not free the transaction
709
- - refs.c: remove ref_transaction_rollback
710
-
711
- Portability workaround may be needed on top ($gmane/252496).
712
- Updates in response to review comments from Michael ($gmane/253033)
713
- may be needed for later parts, but the earlier parts look ready
714
- for 'next'.
715
-
716
-
717
-* jk/pretty-G-format-fixes (2014-06-25) 6 commits
718
- (merged to 'next' on 2014-06-26 at 7138407)
719
- + move "%G" format test from t7510 to t6006
720
- (merged to 'next' on 2014-06-20 at f504bbc)
721
- + pretty: avoid reading past end-of-string with "%G"
722
- + t7510: check %G* pretty-format output
723
- + t7510: test a commit signed by an unknown key
724
- + t7510: use consistent &&-chains in loop
725
- + t7510: stop referring to master in later tests
758
+ (this branch uses rs/ref-transaction-0.)
759
727
- Will merge to 'master'.
760
761
762
* nd/split-index (2014-06-13) 32 commits
@@ -761,6 +793,7 @@ of the repositories listed at
793
+ sequencer: do not update/refresh index if the lock cannot be held
794
+ ewah: delete unused ewah_read_mmap_native declaration
795
+ ewah: fix constness of ewah_read_mmap
796
+ (this branch is used by jc/reopen-lock-file.)
797
798
An experiment to use two files (the base file and incremental
799
changes relative to it) to represent the index to reduce I/O cost
@@ -778,53 +811,6 @@ of the repositories listed at
811
Will hold.
812
813
781
-* sk/mingw-unicode-spawn-args (2014-06-16) 6 commits
782
- (merged to 'next' on 2014-06-30 at c8f79d0)
783
- + Win32: Unicode arguments (incoming)
784
- + Win32: Unicode arguments (outgoing)
785
- + MinGW: disable CRT command line globbing
786
- + Win32: fix potential multi-threading issue
787
- + Win32: simplify internal mingw_spawn* APIs
788
- + Win32: let mingw_execve() return an int
789
- (this branch uses sk/mingw-main and sk/mingw-uni-console.)
790
-
791
- Will merge to 'master'.
792
-
793
-
794
-* sk/mingw-dirent (2014-06-09) 5 commits
795
- (merged to 'next' on 2014-06-30 at ae9e2d6)
796
- + Win32 dirent: improve dirent implementation
797
- + Win32 dirent: clarify #include directives
798
- + Win32 dirent: change FILENAME_MAX to MAX_PATH
799
- + Win32 dirent: remove unused dirent.d_reclen member
800
- + Win32 dirent: remove unused dirent.d_ino member
801
-
802
- Will merge to 'master'.
803
-
804
-
805
-* sk/mingw-main (2014-06-10) 2 commits
806
- (merged to 'next' on 2014-06-30 at 447cb50)
807
- + mingw: avoid const warning
808
- + Win32: move main macro to a function
809
- (this branch is used by sk/mingw-uni-console and sk/mingw-unicode-spawn-args.)
810
-
811
- Will merge to 'master'.
812
-
813
-
814
-* sk/mingw-uni-console (2014-06-16) 7 commits
815
- (merged to 'next' on 2014-06-30 at f4fbc41)
816
- + Win32: reliably detect console pipe handles
817
- + Win32: fix broken pipe detection
818
- + Win32: Thread-safe windows console output
819
- + Win32: add Unicode conversion functions
820
- + Win32: warn if the console font doesn't support Unicode
821
- + Win32: detect console streams more reliably
822
- + Win32: support Unicode console output
823
- (this branch is used by sk/mingw-unicode-spawn-args; uses sk/mingw-main.)
824
-
825
- Will merge to 'master'.
826
-
827
-
814
* mt/patch-id-stable (2014-06-10) 1 commit
815
- patch-id: change default to stable
816