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