What's cooking (2014/07 #03)

Junio C Hamano committed Jul 16, 2014 at 15:01 UTC 618111e92dd8e6aebd8ef2419e7f56166721bc38
1 file changed +322 -411
whats-cooking.txt
+322 -411
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jul 2014, #02; Mon, 14)
4 -X-master-at: 66f467c3e6aa9c1e28eaf7b71cea5e452fc104e8
5 -X-next-at: a2efa2fd3a2243dea76a6988cbda3d2f4acf3381
3 +Subject: What's cooking in git.git (Jul 2014, #03; Wed, 16)
4 +X-master-at: f2c9f21369931c2e4254e49d8f3b3fac5ba8a60b
5 +X-next-at: 90283d95492651270a8e9db89e85c40d47c28585
6
7 -What's cooking in git.git (Jul 2014, #02; Mon, 14)
7 +What's cooking in git.git (Jul 2014, #03; Wed, 16)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,9 +12,10 @@ Here are the topics that have been cooking. 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
15 +the end of this week and then feature freeze. Some topics that
16 joined 'next' late may want to stay there for the remainder of this
17 -cycle.
17 +cycle. Many of the accumulated fixes have been flushed to 'maint'
18 +and Git 2.0.2 has been tagged.
19
20 You can find the changes described here in the integration branches
21 of the repositories listed at
@@ -24,27 +25,98 @@ of the repositories listed at
25 --------------------------------------------------
26 [New Topics]
27
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.)
28 +* ek/alt-odb-entry-fix (2014-07-15) 1 commit
29 + - sha1_file: do not add own object directory as alternate
30
32 - Will merge to 'master'.
31 + Will merge to 'next'.
32
34 - One more to an already graduated topic.
33
34 +* jk/rebase-am-fork-point (2014-07-16) 2 commits
35 + - rebase: omit patch-identical commits with --fork-point
36 + - rebase--am: use --cherry-pick instead of --ignore-if-in-upstream
37
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
38 + Will merge to 'next'.
39 +
40 +
41 +* jk/stable-prio-queue (2014-07-15) 4 commits
42 + - t5539: update a flaky test
43 + - paint_down_to_common: use prio_queue
44 + - prio-queue: make output stable with respect to insertion
45 + - prio-queue: factor out compare and swap operations
46 +
47 +
48 +* jk/tag-sort (2014-07-13) 2 commits
49 + - tag: support configuring --sort via .gitconfig
50 + - tag: fix --sort tests to use cat<<-\EOF format
51 +
52 + v10 ($gmane/253695) needs to be picked up and replace these.
53 +
54 +
55 +* nd/path-max-must-go (2014-07-14) 3 commits
56 + (merged to 'next' on 2014-07-15 at ce68dde)
57 + + prep_exclude: remove the artificial PATH_MAX limit
58 + + dir.h: move struct exclude declaration to top level
59 + + dir.c: coding style fix
60
61 Will merge to 'master'.
62
63
64 +* sk/mingw-uni-fix (2014-07-15) 3 commits
65 + - tests: do not pass iso8859-1 encoded parameter
66 + - Win32: Unicode file name support (dirent)
67 + - Win32: Unicode file name support (except dirent)
68 +
69 + Will merge to 'next'.
70 +
71 +
72 +* ta/config-set (2014-07-15) 2 commits
73 + - test-config: add tests for the config_set API
74 + - add `config_set` API for caching config-like files
75 +
76 + Still being discussed.
77 +
78 +
79 +* kb/avoid-fchmod-for-now (2014-07-16) 1 commit
80 + - config: use chmod() instead of fchmod()
81 +
82 + Replaces the only two uses of fchmod() with chmod() because the
83 + former does not work on Windows port and because luckily we can.
84 +
85 +
86 +* rs/ref-transaction-1 (2014-07-16) 20 commits
87 + - refs.c: make delete_ref use a transaction
88 + - refs.c: make prune_ref use a transaction to delete the ref
89 + - refs.c: remove lock_ref_sha1
90 + - refs.c: remove the update_ref_write function
91 + - refs.c: remove the update_ref_lock function
92 + - refs.c: make lock_ref_sha1 static
93 + - walker.c: use ref transaction for ref updates
94 + - fast-import.c: use a ref transaction when dumping tags
95 + - receive-pack.c: use a reference transaction for updating the refs
96 + - refs.c: change update_ref to use a transaction
97 + - branch.c: use ref transaction for all ref updates
98 + - fast-import.c: change update_branch to use ref transactions
99 + - sequencer.c: use ref transactions for all ref updates
100 + - commit.c: use ref transactions for updates
101 + - replace.c: use the ref transaction functions for updates
102 + - tag.c: use ref transactions when doing updates
103 + - refs.c: add transaction.status and track OPEN/CLOSED/ERROR
104 + - refs.c: make ref_transaction_begin take an err argument
105 + - refs.c: update ref_transaction_delete to check for error and return status
106 + - refs.c: change ref_transaction_create to do error checking and return status
107 + (this branch is used by rs/ref-transaction; uses rs/ref-transaction-0.)
108 +
109 + The second batch of the transactional ref update series.
110 +
111 +
112 +* rs/unify-is-branch (2014-07-16) 1 commit
113 + - refs.c: add a public is_branch function
114 +
115 + Will merge to 'next'.
116 +
117 +--------------------------------------------------
118 +[Graduated to "master"]
119 +
120 * ah/fix-http-push (2014-07-13) 1 commit
121 (merged to 'next' on 2014-07-14 at 5d06516)
122 + http-push.c: make CURLOPT_IOCTLDATA a usable pointer
@@ -52,214 +124,167 @@ of the repositories listed at
124 An ancient rewrite passed a wrong pointer to a curl library
125 function in a rarely used code path.
126
55 - Will merge to 'master'.
127
128 +* cb/filter-branch-prune-empty-degenerate-merges (2014-07-01) 1 commit
129 + (merged to 'next' on 2014-07-10 at 860cfea)
130 + + filter-branch: eliminate duplicate mapped parents
131
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.)
132 + "filter-branch" left an empty single-parent commit that results when
133 + all parents of a merge commit gets mapped to the same commit, even
134 + under "--prune-empty".
135
62 - Needed in the "commit -p" code path to update the cache tree in the
63 - index.
136
137 +* cc/replace-edit (2014-06-25) 3 commits
138 + (merged to 'next' on 2014-07-10 at 097cd5e)
139 + + replace: use argv_array in export_object
140 + + avoid double close of descriptors handed to run_command
141 + + replace: replace spaces with tabs in indentation
142 + (this branch is used by jk/replace-edit-raw.)
143
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
144 + Teach "git replace" an "--edit" mode.
145
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.
146
79 - Will merge to 'next'.
147 +* ep/submodule-code-cleanup (2014-06-30) 1 commit
148 + (merged to 'next' on 2014-07-10 at d4de30a)
149 + + submodule.c: use the ARRAY_SIZE macro
150
151
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
152 +* jk/replace-edit-raw (2014-06-25) 1 commit
153 + (merged to 'next' on 2014-07-10 at b934bb0)
154 + + replace: add a --raw mode for --edit
155 + (this branch uses cc/replace-edit.)
156
88 - Will merge to 'master'.
157 + Teach "git replace --edit" mode a "--raw" option to allow
158 + editing the bare-metal representation data of objects.
159
160
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.)
161 +* jk/skip-prefix (2014-07-10) 1 commit
162 + (merged to 'next' on 2014-07-14 at 0fbd06e)
163 + + tag: use skip_prefix instead of magic numbers
164 + (this branch is used by jk/tag-sort.)
165
114 - Early part of Ronnie's "ref transaction" topic.
115 - Portability workaround may be needed on top ($gmane/252496).
166 + One more to an already graduated topic.
167 +
168 +
169 +* jk/strip-suffix (2014-06-30) 9 commits
170 + (merged to 'next' on 2014-07-10 at e6cfa29)
171 + + prepare_packed_git_one: refactor duplicate-pack check
172 + + verify-pack: use strbuf_strip_suffix
173 + + strbuf: implement strbuf_strip_suffix
174 + + index-pack: use strip_suffix to avoid magic numbers
175 + + use strip_suffix instead of ends_with in simple cases
176 + + replace has_extension with ends_with
177 + + implement ends_with via strip_suffix
178 + + add strip_suffix function
179 + + sha1_file: replace PATH_MAX buffer with strbuf in prepare_packed_git_one()
180 +
181 +
182 +* jl/test-lint-scripts (2014-07-10) 2 commits
183 + (merged to 'next' on 2014-07-14 at c03721c)
184 + + t/Makefile: always test all lint targets when running tests
185 + + t/Makefile: check helper scripts for non-portable shell commands too
186 +
187 +
188 +* mg/fix-log-mergetag-color (2014-07-10) 1 commit
189 + (merged to 'next' on 2014-07-14 at e90dba1)
190 + + log: correctly identify mergetag signature verification status
191 +
192 +
193 +* mk/merge-incomplete-files (2014-06-30) 2 commits
194 + (merged to 'next' on 2014-07-10 at d1115f4)
195 + + git-merge-file: do not add LF at EOF while applying unrelated change
196 + + t6023-merge-file.sh: fix and mark as broken invalid tests
197 +
198 + Merging changes into a file that ends in an incomplete line made the
199 + last line into a complete one, even when the other branch did not
200 + change anything around the end of file.
201 +
202 +
203 +* nd/split-index (2014-06-13) 32 commits
204 + (merged to 'next' on 2014-07-08 at 49325ef)
205 + + t1700: new tests for split-index mode
206 + + t2104: make sure split index mode is off for the version test
207 + + read-cache: force split index mode with GIT_TEST_SPLIT_INDEX
208 + + read-tree: note about dropping split-index mode or index version
209 + + read-tree: force split-index mode off on --index-output
210 + + rev-parse: add --shared-index-path to get shared index path
211 + + update-index --split-index: do not split if $GIT_DIR is read only
212 + + update-index: new options to enable/disable split index mode
213 + + split-index: strip pathname of on-disk replaced entries
214 + + split-index: do not invalidate cache-tree at read time
215 + + split-index: the reading part
216 + + split-index: the writing part
217 + + read-cache: mark updated entries for split index
218 + + read-cache: save deleted entries in split index
219 + + read-cache: mark new entries for split index
220 + + read-cache: split-index mode
221 + + read-cache: save index SHA-1 after reading
222 + + entry.c: update cache_changed if refresh_cache is set in checkout_entry()
223 + + cache-tree: mark istate->cache_changed on prime_cache_tree()
224 + + cache-tree: mark istate->cache_changed on cache tree update
225 + + cache-tree: mark istate->cache_changed on cache tree invalidation
226 + + unpack-trees: be specific what part of the index has changed
227 + + resolve-undo: be specific what part of the index has changed
228 + + update-index: be specific what part of the index has changed
229 + + read-cache: be specific what part of the index has changed
230 + + read-cache: be strict about "changed" in remove_marked_cache_entries()
231 + + read-cache: store in-memory flags in the first 12 bits of ce_flags
232 + + read-cache: relocate and unexport commit_locked_index()
233 + + read-cache: new API write_locked_index instead of write_index/write_cache
234 + + sequencer: do not update/refresh index if the lock cannot be held
235 + + ewah: delete unused ewah_read_mmap_native declaration
236 + + ewah: fix constness of ewah_read_mmap
237 + (this branch is used by jc/reopen-lock-file.)
238 +
239 + An experiment to use two files (the base file and incremental
240 + changes relative to it) to represent the index to reduce I/O cost
241 + of rewriting a large index when only small part of the working tree
242 + changes.
243
117 ---------------------------------------------------
118 -[Graduated to "master"]
244
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 -
141 -
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 -
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 -
152 - Fixes to a topic that is already in 'master'.
153 -
154 -
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 -
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 -
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 -
177 -
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 -* 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 -
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 -
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 -
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 -
221 -
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 -
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.)
245 +* po/error-message-style (2014-07-10) 1 commit
246 + (merged to 'next' on 2014-07-14 at ed17678)
247 + + doc: give some guidelines for error messages
248 +
249 +
250 +* rs/code-cleaning (2014-07-10) 5 commits
251 + (merged to 'next' on 2014-07-14 at d5a89c8)
252 + + fsck: simplify fsck_commit_buffer() by using commit_list_count()
253 + + commit: use commit_list_append() instead of duplicating its code
254 + + merge: simplify merge_trivial() by using commit_list_append()
255 + + use strbuf_addch for adding single characters
256 + + use strbuf_addbuf for adding strbufs
257 +
258 +
259 +* tb/crlf-tests (2014-07-08) 2 commits
260 + (merged to 'next' on 2014-07-08 at 40764b7)
261 + + t0027: combinations of core.autocrlf, core.eol and text
262 + + t0025: rename the test files
263
264
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 -
265 +* zk/log-graph-showsig (2014-07-09) 1 commit
266 + (merged to 'next' on 2014-07-14 at 4429c2e)
267 + + log: fix indentation for --graph --show-signature
268
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.)
269 + The "--show-signature" option did not pay much attention to
270 + "--graph".
271
272 --------------------------------------------------
273 [Stalled]
274
275 +* jk/tag-contains (2014-06-30) 8 commits
276 + . perf: add tests for tag --contains
277 + . tag: use commit_contains
278 + . commit: provide a fast multi-tip contains function
279 + . string-list: add pos to iterator callback
280 + . add functions for memory-efficient bitmaps
281 + . paint_down_to_common: use prio_queue
282 + . tag: factor out decision to stream tags
283 + . tag: allow --sort with -n
284 +
285 + Expecting a reroll.
286 +
287 +
288 * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
289 - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
290 - git-add--interactive: Preserve diff heading when splitting hunks
@@ -468,6 +493,66 @@ of the repositories listed at
493 --------------------------------------------------
494 [Cooking]
495
496 +* jc/reopen-lock-file (2014-07-14) 1 commit
497 + - lockfile: allow reopening a closed but still locked file
498 +
499 + Needed in the "commit -p" code path to update the cache tree in the
500 + index.
501 +
502 +
503 +* jk/alloc-commit-id (2014-07-13) 8 commits
504 + (merged to 'next' on 2014-07-16 at f14c01a)
505 + + diff-tree: avoid lookup_unknown_object
506 + + object_as_type: set commit index
507 + + alloc: factor out commit index
508 + + add object_as_type helper for casting objects
509 + + parse_object_buffer: do not set object type
510 + + move setting of object->type to alloc_* functions
511 + + alloc: write out allocator definitions
512 + + alloc.c: remove the alloc_raw_commit_node() function
513 +
514 + Make sure all in-core commit objects are assigned a unique number
515 + so that they can be annotated using the commit-slab API.
516 +
517 + Will merge to 'master'.
518 +
519 +
520 +* jk/remote-curl-squelch-extra-errors (2014-07-10) 3 commits
521 + (merged to 'next' on 2014-07-14 at a2efa2f)
522 + + remote-curl: mark helper-protocol errors more clearly
523 + + remote-curl: use error instead of fprintf(stderr)
524 + + remote-curl: do not complain on EOF from parent git
525 +
526 + Will merge to 'master'.
527 +
528 +
529 +* rs/ref-transaction-0 (2014-07-14) 19 commits
530 + (merged to 'next' on 2014-07-14 at b21bcee)
531 + + refs.c: change ref_transaction_update() to do error checking and return status
532 + + refs.c: remove the onerr argument to ref_transaction_commit
533 + + update-ref: use err argument to get error from ref_transaction_commit
534 + + refs.c: make update_ref_write update a strbuf on failure
535 + + refs.c: make ref_update_reject_duplicates take a strbuf argument for errors
536 + + refs.c: log_ref_write should try to return meaningful errno
537 + + refs.c: make resolve_ref_unsafe set errno to something meaningful on error
538 + + refs.c: commit_packed_refs to return a meaningful errno on failure
539 + + refs.c: make remove_empty_directories always set errno to something sane
540 + + refs.c: verify_lock should set errno to something meaningful
541 + + refs.c: make sure log_ref_setup returns a meaningful errno
542 + + refs.c: add an err argument to repack_without_refs
543 + + lockfile.c: make lock_file return a meaningful errno on failurei
544 + + lockfile.c: add a new public function unable_to_lock_message
545 + + refs.c: add a strbuf argument to ref_transaction_commit for error logging
546 + + refs.c: allow passing NULL to ref_transaction_free
547 + + refs.c: constify the sha arguments for ref_transaction_create|delete|update
548 + + refs.c: ref_transaction_commit should not free the transaction
549 + + refs.c: remove ref_transaction_rollback
550 + (this branch is used by rs/ref-transaction and rs/ref-transaction-1.)
551 +
552 + Early part of the "ref transaction" topic.
553 + Will merge to 'master'.
554 +
555 +
556 * nd/multiple-work-trees (2014-07-14) 31 commits
557 - checkout: don't require a work tree when checking out into a new one
558 - git_path(): keep "info/sparse-checkout" per work-tree
@@ -505,88 +590,7 @@ of the repositories listed at
590 rely on symbolic links and make sharing of objects and refs safer
591 by making the borrowee and borrowers aware of each other.
592
508 - Rerolled.
509 -
510 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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'.
593 + Will merge to 'next' and cook there for a while.
594
595
596 * ak/profile-feedback-build (2014-07-08) 4 commits
@@ -599,18 +603,12 @@ of the repositories listed at
603 Will merge to 'master'.
604
605
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 -
606 * cc/for-each-mergetag (2014-07-07) 1 commit
610 - - commit: add for_each_mergetag()
607 + (merged to 'next' on 2014-07-15 at c5dd3ee)
608 + + commit: add for_each_mergetag()
609 (this branch is used by cc/replace-graft.)
610
613 - Will merge to 'next'.
611 + Will merge to 'master'.
612
613
614 * dt/cache-tree-repair (2014-07-14) 4 commits
@@ -625,30 +623,12 @@ of the repositories listed at
623 Will merge to 'next'.
624
625
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 -
626 * 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".
627 + (merged to 'next' on 2014-07-15 at 6dd6611)
628 + + hashmap: add string interning API
629 + + hashmap: add simplified hashmap_get_from_hash() API
630 + + hashmap: improve struct hashmap member documentation
631 + + hashmap: factor out getting a hash code from a SHA1
632
633 Will merge to 'master'.
634
@@ -670,25 +650,26 @@ of the repositories listed at
650
651
652 * 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
677 - - trace: add trace_performance facility to debug performance issues
678 - - trace: add high resolution timer function to debug performance issues
679 - - trace: add 'file:line' to all trace output
680 - - trace: move code around, in preparation to file:line output
681 - - trace: add current timestamp to all trace output
682 - - trace: disable additional trace output for unit tests
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
686 - - trace: improve trace performance
687 - - trace: remove redundant printf format attribute
688 - - trace: consistently name the format parameter
689 - - trace: move trace declarations from cache.h to new trace.h
653 + (merged to 'next' on 2014-07-15 at 09ade08)
654 + + api-trace.txt: add trace API documentation
655 + + progress: simplify performance measurement by using getnanotime()
656 + + wt-status: simplify performance measurement by using getnanotime()
657 + + git: add performance tracing for git's main() function to debug scripts
658 + + trace: add trace_performance facility to debug performance issues
659 + + trace: add high resolution timer function to debug performance issues
660 + + trace: add 'file:line' to all trace output
661 + + trace: move code around, in preparation to file:line output
662 + + trace: add current timestamp to all trace output
663 + + trace: disable additional trace output for unit tests
664 + + trace: add infrastructure to augment trace output with additional info
665 + + sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API
666 + + Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables
667 + + trace: improve trace performance
668 + + trace: remove redundant printf format attribute
669 + + trace: consistently name the format parameter
670 + + trace: move trace declarations from cache.h to new trace.h
671
691 - Will merge to 'next'.
672 + Will merge to 'master'.
673
674
675 * hv/submodule-config (2014-06-30) 4 commits
@@ -697,6 +678,8 @@ of the repositories listed at
678 - extract functions for submodule config set and lookup
679 - implement submodule config cache for lookup of submodule names
680
681 + Will merge to 'next' and cook there for a while.
682 +
683
684 * jl/submodule-tests (2014-07-14) 14 commits
685 (merged to 'next' on 2014-07-14 at 0c750bb)
@@ -718,14 +701,7 @@ of the repositories listed at
701 Will merge to 'master'.
702
703
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 -
725 - Will merge to 'master'.
726 -
727 -
728 -* rs/ref-transaction (2014-07-14) 29 commits
704 +* rs/ref-transaction (2014-07-16) 9 commits
705 - refs.c: make write_ref_sha1 static
706 - fetch.c: change s_update_ref to use a ref transaction
707 - refs.c: propagate any errno==ENOTDIR from _commit back to the callers
@@ -735,72 +711,7 @@ of the repositories listed at
711 - refs.c: pass NULL as *flags to read_ref_full
712 - refs.c: pass the ref log message to _create/delete/update instead of _commit
713 - refs.c: add an err argument to delete_ref_loose
738 - - refs.c: make delete_ref use a transaction
739 - - refs.c: make prune_ref use a transaction to delete the ref
740 - - refs.c: remove lock_ref_sha1
741 - - refs.c: remove the update_ref_write function
742 - - refs.c: remove the update_ref_lock function
743 - - refs.c: make lock_ref_sha1 static
744 - - walker.c: use ref transaction for ref updates
745 - - fast-import.c: use a ref transaction when dumping tags
746 - - receive-pack.c: use a reference transaction for updating the refs
747 - - refs.c: change update_ref to use a transaction
748 - - branch.c: use ref transaction for all ref updates
749 - - fast-import.c: change update_branch to use ref transactions
750 - - sequencer.c: use ref transactions for all ref updates
751 - - commit.c: use ref transactions for updates
752 - - replace.c: use the ref transaction functions for updates
753 - - tag.c: use ref transactions when doing updates
754 - - refs.c: add transaction.status and track OPEN/CLOSED/ERROR
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
758 - (this branch uses rs/ref-transaction-0.)
759 -
760 -
761 -
762 -* nd/split-index (2014-06-13) 32 commits
763 - (merged to 'next' on 2014-07-08 at 49325ef)
764 - + t1700: new tests for split-index mode
765 - + t2104: make sure split index mode is off for the version test
766 - + read-cache: force split index mode with GIT_TEST_SPLIT_INDEX
767 - + read-tree: note about dropping split-index mode or index version
768 - + read-tree: force split-index mode off on --index-output
769 - + rev-parse: add --shared-index-path to get shared index path
770 - + update-index --split-index: do not split if $GIT_DIR is read only
771 - + update-index: new options to enable/disable split index mode
772 - + split-index: strip pathname of on-disk replaced entries
773 - + split-index: do not invalidate cache-tree at read time
774 - + split-index: the reading part
775 - + split-index: the writing part
776 - + read-cache: mark updated entries for split index
777 - + read-cache: save deleted entries in split index
778 - + read-cache: mark new entries for split index
779 - + read-cache: split-index mode
780 - + read-cache: save index SHA-1 after reading
781 - + entry.c: update cache_changed if refresh_cache is set in checkout_entry()
782 - + cache-tree: mark istate->cache_changed on prime_cache_tree()
783 - + cache-tree: mark istate->cache_changed on cache tree update
784 - + cache-tree: mark istate->cache_changed on cache tree invalidation
785 - + unpack-trees: be specific what part of the index has changed
786 - + resolve-undo: be specific what part of the index has changed
787 - + update-index: be specific what part of the index has changed
788 - + read-cache: be specific what part of the index has changed
789 - + read-cache: be strict about "changed" in remove_marked_cache_entries()
790 - + read-cache: store in-memory flags in the first 12 bits of ce_flags
791 - + read-cache: relocate and unexport commit_locked_index()
792 - + read-cache: new API write_locked_index instead of write_index/write_cache
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
800 - of rewriting a large index when only small part of the working tree
801 - changes.
802 -
803 - Will merge to 'master'.
714 + (this branch uses rs/ref-transaction-0 and rs/ref-transaction-1.)
715
716
717 * jc/test-lazy-prereq (2014-06-13) 1 commit