What's cooking (2014/07 #04)

Junio C Hamano committed Jul 22, 2014 at 14:43 UTC 30c857d32eb71ebeabf02afb0834486160e5c967
1 file changed +343 -365
whats-cooking.txt
+343 -365
@@ -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, #03; Wed, 16)
4 -X-master-at: f2c9f21369931c2e4254e49d8f3b3fac5ba8a60b
5 -X-next-at: 90283d95492651270a8e9db89e85c40d47c28585
3 +Subject: What's cooking in git.git (Jul 2014, #04; Tue, 22)
4 +X-master-at: 247b4d5f3807dc3c2230bb4bf497f84a1fc59e49
5 +X-next-at: 4e82b8a515ec47d61c8bae6e6c474815e9e9b827
6
7 -What's cooking in git.git (Jul 2014, #03; Wed, 16)
7 +What's cooking in git.git (Jul 2014, #04; Tue, 22)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -23,33 +23,110 @@ of the repositories listed at
23 http://git-blame.blogspot.com/p/git-public-repositories.html
24
25 --------------------------------------------------
26 -[New Topics]
26 +[Graduated to "master"]
27 +
28 +* ak/profile-feedback-build (2014-07-08) 4 commits
29 + (merged to 'next' on 2014-07-14 at c40e86e)
30 + + Fix profile feedback with -jN and add profile-fast
31 + + Run the perf test suite for profile feedback too
32 + + Don't define away __attribute__ on gcc
33 + + Use BASIC_FLAGS for profile feedback
34 +
35 + The support for the profile-feedback build, which has been left
36 + bit-rotten for quite a while, has been updated.
37 +
38 +
39 +* cc/for-each-mergetag (2014-07-07) 1 commit
40 + (merged to 'next' on 2014-07-15 at c5dd3ee)
41 + + commit: add for_each_mergetag()
42 + (this branch is used by cc/replace-graft.)
43 +
44
45 * ek/alt-odb-entry-fix (2014-07-15) 1 commit
29 - - sha1_file: do not add own object directory as alternate
46 + (merged to 'next' on 2014-07-17 at a5f43e2)
47 + + sha1_file: do not add own object directory as alternate
48 +
49 +
50 +* jk/alloc-commit-id (2014-07-13) 8 commits
51 + (merged to 'next' on 2014-07-16 at f14c01a)
52 + + diff-tree: avoid lookup_unknown_object
53 + + object_as_type: set commit index
54 + + alloc: factor out commit index
55 + + add object_as_type helper for casting objects
56 + + parse_object_buffer: do not set object type
57 + + move setting of object->type to alloc_* functions
58 + + alloc: write out allocator definitions
59 + + alloc.c: remove the alloc_raw_commit_node() function
60
31 - Will merge to 'next'.
61 + Make sure all in-core commit objects are assigned a unique number
62 + so that they can be annotated using the commit-slab API.
63
64
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
65 +* jk/remote-curl-squelch-extra-errors (2014-07-10) 3 commits
66 + (merged to 'next' on 2014-07-14 at a2efa2f)
67 + + remote-curl: mark helper-protocol errors more clearly
68 + + remote-curl: use error instead of fprintf(stderr)
69 + + remote-curl: do not complain on EOF from parent git
70
38 - Will merge to 'next'.
71 + Show HTTP transfer errors from remote-curl helper more clearly to
72 + help avoid user confusion.
73
74
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
75 +* jl/submodule-tests (2014-07-14) 14 commits
76 + (merged to 'next' on 2014-07-14 at 0c750bb)
77 + + revert: add t3513 for submodule updates
78 + + stash: add t3906 for submodule updates
79 + + am: add t4255 for submodule updates
80 + + cherry-pick: add t3512 for submodule updates
81 + + pull: add t5572 for submodule updates
82 + + rebase: add t3426 for submodule updates
83 + + merge: add t7613 for submodule updates
84 + + bisect: add t6041 for submodule updates
85 + + reset: add t7112 for submodule updates
86 + + read-tree: add t1013 for submodule updates
87 + + apply: add t4137 for submodule updates
88 + + checkout: call the new submodule update test framework
89 + + submodules: add the lib-submodule-update.sh test library
90 + + test-lib: add test_dir_is_empty()
91 +
92 +
93 +* kb/avoid-fchmod-for-now (2014-07-16) 1 commit
94 + (merged to 'next' on 2014-07-17 at fc26c4b)
95 + + config: use chmod() instead of fchmod()
96
97 + Replace the only two uses of fchmod() with chmod() because the
98 + former does not work on Windows port and because luckily we can.
99
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
100
52 - v10 ($gmane/253695) needs to be picked up and replace these.
101 +* kb/hashmap-updates (2014-07-07) 4 commits
102 + (merged to 'next' on 2014-07-15 at 6dd6611)
103 + + hashmap: add string interning API
104 + + hashmap: add simplified hashmap_get_from_hash() API
105 + + hashmap: improve struct hashmap member documentation
106 + + hashmap: factor out getting a hash code from a SHA1
107 +
108 +
109 +* kb/perf-trace (2014-07-13) 17 commits
110 + (merged to 'next' on 2014-07-15 at 09ade08)
111 + + api-trace.txt: add trace API documentation
112 + + progress: simplify performance measurement by using getnanotime()
113 + + wt-status: simplify performance measurement by using getnanotime()
114 + + git: add performance tracing for git's main() function to debug scripts
115 + + trace: add trace_performance facility to debug performance issues
116 + + trace: add high resolution timer function to debug performance issues
117 + + trace: add 'file:line' to all trace output
118 + + trace: move code around, in preparation to file:line output
119 + + trace: add current timestamp to all trace output
120 + + trace: disable additional trace output for unit tests
121 + + trace: add infrastructure to augment trace output with additional info
122 + + sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API
123 + + Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables
124 + + trace: improve trace performance
125 + + trace: remove redundant printf format attribute
126 + + trace: consistently name the format parameter
127 + + trace: move trace declarations from cache.h to new trace.h
128 +
129 + Show timestamps in GIT_TRACE output.
130
131
132 * nd/path-max-must-go (2014-07-14) 3 commits
@@ -58,216 +135,168 @@ of the repositories listed at
135 + dir.h: move struct exclude declaration to top level
136 + dir.c: coding style fix
137
61 - Will merge to 'master'.
138 + Lift arbitrary PATH_MAX limit in the code to enumerate paths in the
139 + working tree.
140
141
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)
142 +* rs/code-cleaning (2014-07-18) 7 commits
143 + (merged to 'next' on 2014-07-21 at 7312ddc)
144 + + remote-testsvn: use internal argv_array of struct child_process in cmd_import()
145 + + bundle: use internal argv_array of struct child_process in create_bundle()
146 + + fast-import: use hashcmp() for SHA1 hash comparison
147 + + transport: simplify fetch_objs_via_rsync() using argv_array
148 + + run-command: use internal argv_array of struct child_process in run_hook_ve()
149 + + use commit_list_count() to count the members of commit_lists
150 + + strbuf: use strbuf_addstr() for adding C strings
151 +
152
69 - Will merge to 'next'.
153 +* rs/ref-transaction-0 (2014-07-14) 19 commits
154 + (merged to 'next' on 2014-07-14 at b21bcee)
155 + + refs.c: change ref_transaction_update() to do error checking and return status
156 + + refs.c: remove the onerr argument to ref_transaction_commit
157 + + update-ref: use err argument to get error from ref_transaction_commit
158 + + refs.c: make update_ref_write update a strbuf on failure
159 + + refs.c: make ref_update_reject_duplicates take a strbuf argument for errors
160 + + refs.c: log_ref_write should try to return meaningful errno
161 + + refs.c: make resolve_ref_unsafe set errno to something meaningful on error
162 + + refs.c: commit_packed_refs to return a meaningful errno on failure
163 + + refs.c: make remove_empty_directories always set errno to something sane
164 + + refs.c: verify_lock should set errno to something meaningful
165 + + refs.c: make sure log_ref_setup returns a meaningful errno
166 + + refs.c: add an err argument to repack_without_refs
167 + + lockfile.c: make lock_file return a meaningful errno on failurei
168 + + lockfile.c: add a new public function unable_to_lock_message
169 + + refs.c: add a strbuf argument to ref_transaction_commit for error logging
170 + + refs.c: allow passing NULL to ref_transaction_free
171 + + refs.c: constify the sha arguments for ref_transaction_create|delete|update
172 + + refs.c: ref_transaction_commit should not free the transaction
173 + + refs.c: remove ref_transaction_rollback
174 + (this branch is used by rs/ref-transaction and rs/ref-transaction-1.)
175
176 + Early part of the "ref transaction" topic.
177
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
178 +
179 +* rs/unify-is-branch (2014-07-16) 1 commit
180 + (merged to 'next' on 2014-07-17 at 55f530b)
181 + + refs.c: add a public is_branch function
182 +
183 +
184 +* sk/mingw-uni-fix (2014-07-15) 2 commits
185 + (merged to 'next' on 2014-07-17 at ffef7a1)
186 + + Win32: Unicode file name support (dirent)
187 + + Win32: Unicode file name support (except dirent)
188 + (this branch is used by sk/mingw-uni-fix-more.)
189 +
190 +--------------------------------------------------
191 +[New Topics]
192 +
193 +* mb/local-clone-after-applying-insteadof (2014-07-17) 1 commit
194 + (merged to 'next' on 2014-07-21 at ebe07c2)
195 + + use local cloning if insteadOf makes a local URL
196 +
197 + Apply the "if cloning from a local disk, physically copy repository
198 + using hardlinks, unless otherwise told not to with --no-local"
199 + optimization when url.*.insteadOf mechanism rewrites a "git clone
200 + $URL" that refers to a repository over the network to a clone from
201 + a local disk.
202 +
203 + Will merge to 'master'.
204 +
205 +
206 +* nd/path-max-is-better-than-hardcoded-magic-1024 (2014-07-17) 1 commit
207 + - abspath.c: use PATH_MAX in real_path_internal()
208
209 Still being discussed.
210
211
79 -* kb/avoid-fchmod-for-now (2014-07-16) 1 commit
80 - - config: use chmod() instead of fchmod()
212 +* sk/mingw-uni-fix-more (2014-07-21) 14 commits
213 + - Win32: enable color output in Windows cmd.exe
214 + - Win32: patch Windows environment on startup
215 + - Win32: keep the environment sorted
216 + - Win32: use low-level memory allocation during initialization
217 + - Win32: reduce environment array reallocations
218 + - Win32: don't copy the environment twice when spawning child processes
219 + - Win32: factor out environment block creation
220 + - Win32: unify environment function names
221 + - Win32: unify environment case-sensitivity
222 + - Win32: fix environment memory leaks
223 + - Win32: Unicode environment (incoming)
224 + - Win32: Unicode environment (outgoing)
225 + - Revert "Windows: teach getenv to do a case-sensitive search"
226 + - tests: do not pass iso8859-1 encoded parameter
227
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.
228 + Most of these are battle-tested in msysgit and are needed to
229 + complete what has been merged to 'master' already.
230
231 + A fix has been squashed into "Unicode environ (outgoing)"; is this
232 + now ready to go?
233
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.)
234
109 - The second batch of the transactional ref update series.
235 +* sk/mingw-tests-workaround (2014-07-21) 6 commits
236 + - t800[12]: work around MSys limitation
237 + - t9902: mingw-specific fix for gitfile link files
238 + - t4210: skip command-line encoding tests on mingw
239 + - MinGW: disable legacy encoding tests
240 + - t0110/MinGW: skip tests that pass arbitrary bytes on the command line
241 + - MinGW: Skip test redirecting to fd 4
242 + (this branch is used by jc/not-mingw-cygwin.)
243
244 + Make tests pass on msysgit by mostly disabling ones that are
245 + infeasible on that platform.
246
112 -* rs/unify-is-branch (2014-07-16) 1 commit
113 - - refs.c: add a public is_branch function
247 + The t0110 one has been replaced; is this now ready to go?
248
115 - Will merge to 'next'.
249
117 ---------------------------------------------------
118 -[Graduated to "master"]
250 +* ta/string-list-init (2014-07-21) 2 commits
251 + (merged to 'next' on 2014-07-21 at 63e8891)
252 + + replace memset with string-list initializers
253 + + string-list: add string_list initializer helper function
254 + (this branch is tangled with ta/config-set.)
255
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
256 + Will merge to 'master'.
257
124 - An ancient rewrite passed a wrong pointer to a curl library
125 - function in a rarely used code path.
258
259 +* cb/mergetool-difftool (2014-07-21) 2 commits
260 + - difftool: don't assume that default sh is sane
261 + - mergetool: don't require a work tree for --tool-help
262
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 -
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 -
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 -
144 - Teach "git replace" an "--edit" mode.
145 -
146 -
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 -
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 -
157 - Teach "git replace --edit" mode a "--raw" option to allow
158 - editing the bare-metal representation data of objects.
159 -
160 -
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 -
166 - One more to an already graduated topic.
263
264 +* rs/fix-unlink-unix-socket (2014-07-21) 1 commit
265 + (merged to 'next' on 2014-07-22 at fad8c29)
266 + + unix-socket: remove stale socket before calling chdir()
267
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()
268 + The unix-domain socket used by the sample credential cache daemon
269 + tried to unlink an existing stale one at a wrong path, if the path
270 + to the socket was given as an overlong path that does not fit in
271 + sun_path member of the sockaddr_un structure.
272
273 + Will merge to 'master'.
274
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
275
276 +* rs/strbuf-getcwd (2014-07-21) 4 commits
277 + - use xgetcwd() get the current directory or die
278 + - wrapper: add xgetcwd()
279 + - use strbuf_getcwd() to get the current working directory without fixed-sized buffers
280 + - strbuf: add strbuf_getcwd()
281
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
282 + Still being discussed.
283
284
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
285 +* jc/not-mingw-cygwin (2014-07-21) 2 commits
286 + - test prerequisites: enumerate with commas
287 + - test prerequisites: eradicate NOT_FOO
288 + (this branch uses sk/mingw-tests-workaround.)
289
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.
290 + We have been using NOT_{MINGW,CYGWIN} test prerequisites long
291 + before Peff invented support for negated prerequisites e.g. !MINGW
292 + and we still add more uses of the former. Convert them to the
293 + latter to avoid confusion.
294
295
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 -
244 -
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 -
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 -
269 - The "--show-signature" option did not pay much attention to
270 - "--graph".
296 +* jk/more-push-completion (2014-07-22) 3 commits
297 + - completion: complete `git push --force-with-lease=`
298 + - completion: add some missing options to `git push`
299 + - completion: complete "unstuck" `git push --recurse-submodules`
300
301 --------------------------------------------------
302 [Stalled]
@@ -493,215 +522,162 @@ of the repositories listed at
522 --------------------------------------------------
523 [Cooking]
524
496 -* jc/reopen-lock-file (2014-07-14) 1 commit
497 - - lockfile: allow reopening a closed but still locked file
525 +* jk/rebase-am-fork-point (2014-07-16) 2 commits
526 + (merged to 'next' on 2014-07-22 at 7648293)
527 + + rebase: omit patch-identical commits with --fork-point
528 + + rebase--am: use --cherry-pick instead of --ignore-if-in-upstream
529
499 - Needed in the "commit -p" code path to update the cache tree in the
500 - index.
530 + "git rebase --fork-point" did not filter out patch-identical
531 + commits correctly.
532
533 + Will merge to 'master'.
534
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
535
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.
536 +* jk/stable-prio-queue (2014-07-15) 4 commits
537 + (merged to 'next' on 2014-07-22 at 46e9bc3)
538 + + t5539: update a flaky test
539 + + paint_down_to_common: use prio_queue
540 + + prio-queue: make output stable with respect to insertion
541 + + prio-queue: factor out compare and swap operations
542
543 Will merge to 'master'.
544
545
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
546 +* jk/tag-sort (2014-07-17) 2 commits
547 + (merged to 'next' on 2014-07-21 at bc34738)
548 + + tag: support configuring --sort via .gitconfig
549 + + tag: fix --sort tests to use cat<<-\EOF format
550
551 Will merge to 'master'.
552
553
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.)
554 +* ta/config-set (2014-07-21) 3 commits
555 + - test-config: add tests for the config_set API
556 + - add `config_set` API for caching config-like files
557 + + string-list: add string_list initializer helper function
558 + (this branch is tangled with ta/string-list-init.)
559
552 - Early part of the "ref transaction" topic.
553 - Will merge to 'master'.
560 + Almost there.
561
562
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
559 - - count-objects: report unused files in $GIT_DIR/repos/...
560 - - gc: support prune --repos
561 - - gc: factor out gc.pruneexpire parsing code
562 - - gc: style change -- no SP before closing parenthesis
563 - - prune: strategies for linked checkouts
564 - - checkout: detach if the branch is already checked out elsewhere
565 - - checkout: clean up half-prepared directories in --to mode
566 - - checkout: support checking out into a new working directory
567 - - use new wrapper write_file() for simple file writing
568 - - wrapper.c: wrapper to open a file, fprintf then close
569 - - setup.c: support multi-checkout repo setup
570 - - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
571 - - setup.c: convert check_repository_format_gently to use strbuf
572 - - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
573 - - setup.c: convert is_git_directory() to use strbuf
574 - - git-stash: avoid hardcoding $GIT_DIR/logs/....
575 - - *.sh: avoid hardcoding $GIT_DIR/hooks/...
576 - - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
577 - - $GIT_COMMON_DIR: a new environment variable
578 - - commit: use SEQ_DIR instead of hardcoding "sequencer"
579 - - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
580 - - reflog: avoid constructing .lock path with git_path
581 - - *.sh: respect $GIT_INDEX_FILE
582 - - git_path(): be aware of file relocation in $GIT_DIR
583 - - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
584 - - path.c: rename vsnpath() to do_git_path()
585 - - git_snpath(): retire and replace with strbuf_git_path()
586 - - path.c: make get_pathname() call sites return const char *
587 - - path.c: make get_pathname() return strbuf instead of static buffer
563 +* rs/ref-transaction-1 (2014-07-16) 20 commits
564 + - refs.c: make delete_ref use a transaction
565 + - refs.c: make prune_ref use a transaction to delete the ref
566 + - refs.c: remove lock_ref_sha1
567 + - refs.c: remove the update_ref_write function
568 + - refs.c: remove the update_ref_lock function
569 + - refs.c: make lock_ref_sha1 static
570 + - walker.c: use ref transaction for ref updates
571 + - fast-import.c: use a ref transaction when dumping tags
572 + - receive-pack.c: use a reference transaction for updating the refs
573 + - refs.c: change update_ref to use a transaction
574 + - branch.c: use ref transaction for all ref updates
575 + - fast-import.c: change update_branch to use ref transactions
576 + - sequencer.c: use ref transactions for all ref updates
577 + - commit.c: use ref transactions for updates
578 + - replace.c: use the ref transaction functions for updates
579 + - tag.c: use ref transactions when doing updates
580 + - refs.c: add transaction.status and track OPEN/CLOSED/ERROR
581 + - refs.c: make ref_transaction_begin take an err argument
582 + - refs.c: update ref_transaction_delete to check for error and return status
583 + - refs.c: change ref_transaction_create to do error checking and return status
584 + (this branch is used by rs/ref-transaction.)
585
589 - A replacement for contrib/workdir/git-new-workdir that does not
590 - rely on symbolic links and make sharing of objects and refs safer
591 - by making the borrowee and borrowers aware of each other.
586 + The second batch of the transactional ref update series.
587
593 - Will merge to 'next' and cook there for a while.
588
589 +* jc/reopen-lock-file (2014-07-14) 1 commit
590 + (merged to 'next' on 2014-07-21 at 8277dc9)
591 + + lockfile: allow reopening a closed but still locked file
592
596 -* ak/profile-feedback-build (2014-07-08) 4 commits
597 - (merged to 'next' on 2014-07-14 at c40e86e)
598 - + Fix profile feedback with -jN and add profile-fast
599 - + Run the perf test suite for profile feedback too
600 - + Don't define away __attribute__ on gcc
601 - + Use BASIC_FLAGS for profile feedback
593 + Needed in the "commit -p" code path to update the cache tree in the
594 + index.
595
603 - Will merge to 'master'.
596
597 +* nd/multiple-work-trees (2014-07-17) 31 commits
598 + (merged to 'next' on 2014-07-17 at a29d310)
599 + + checkout: don't require a work tree when checking out into a new one
600 + + git_path(): keep "info/sparse-checkout" per work-tree
601 + + count-objects: report unused files in $GIT_DIR/repos/...
602 + + gc: support prune --repos
603 + + gc: factor out gc.pruneexpire parsing code
604 + + gc: style change -- no SP before closing parenthesis
605 + + prune: strategies for linked checkouts
606 + + checkout: detach if the branch is already checked out elsewhere
607 + + checkout: clean up half-prepared directories in --to mode
608 + + checkout: support checking out into a new working directory
609 + + use new wrapper write_file() for simple file writing
610 + + wrapper.c: wrapper to open a file, fprintf then close
611 + + setup.c: support multi-checkout repo setup
612 + + setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
613 + + setup.c: convert check_repository_format_gently to use strbuf
614 + + setup.c: detect $GIT_COMMON_DIR in is_git_directory()
615 + + setup.c: convert is_git_directory() to use strbuf
616 + + git-stash: avoid hardcoding $GIT_DIR/logs/....
617 + + *.sh: avoid hardcoding $GIT_DIR/hooks/...
618 + + git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
619 + + $GIT_COMMON_DIR: a new environment variable
620 + + commit: use SEQ_DIR instead of hardcoding "sequencer"
621 + + fast-import: use git_path() for accessing .git dir instead of get_git_dir()
622 + + reflog: avoid constructing .lock path with git_path
623 + + *.sh: respect $GIT_INDEX_FILE
624 + + git_path(): be aware of file relocation in $GIT_DIR
625 + + path.c: group git_path(), git_pathdup() and strbuf_git_path() together
626 + + path.c: rename vsnpath() to do_git_path()
627 + + git_snpath(): retire and replace with strbuf_git_path()
628 + + path.c: make get_pathname() call sites return const char *
629 + + path.c: make get_pathname() return strbuf instead of static buffer
630
606 -* cc/for-each-mergetag (2014-07-07) 1 commit
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.)
631 + A replacement for contrib/workdir/git-new-workdir that does not
632 + rely on symbolic links and make sharing of objects and refs safer
633 + by making the borrowee and borrowers aware of each other.
634
611 - Will merge to 'master'.
635 + Will cook in 'next'.
636
637
638 * dt/cache-tree-repair (2014-07-14) 4 commits
615 - - cache-tree: Write updated cache-tree after commit
616 - - cache-tree: subdirectory tests
617 - - test-dump-cache-tree: invalid trees are not errors
618 - - cache-tree: create/update cache-tree on checkout
639 + (merged to 'next' on 2014-07-21 at e83db34)
640 + + cache-tree: Write updated cache-tree after commit
641 + + cache-tree: subdirectory tests
642 + + test-dump-cache-tree: invalid trees are not errors
643 + + cache-tree: create/update cache-tree on checkout
644
645 Add a few more places in "commit" and "checkout" that make sure
646 that the cache-tree is fully populated in the index.
647
623 - Will merge to 'next'.
648 + Will cook in 'next'.
649
650
626 -* kb/hashmap-updates (2014-07-07) 4 commits
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 -
635 -
636 -* cc/replace-graft (2014-07-07) 9 commits
637 - - replace: add test for --graft with a mergetag
638 - - replace: check mergetags when using --graft
639 - - replace: add test for --graft with signed commit
640 - - replace: remove signature when using --graft
641 - - contrib: add convert-grafts-to-replace-refs.sh
642 - - Documentation: replace: add --graft option
643 - - replace: add test for --graft
644 - - replace: add --graft option
645 - - replace: cleanup redirection style in tests
646 - (this branch uses cc/for-each-mergetag.)
651 +* cc/replace-graft (2014-07-21) 9 commits
652 + (merged to 'next' on 2014-07-22 at 9b14090)
653 + + replace: add test for --graft with a mergetag
654 + + replace: check mergetags when using --graft
655 + + replace: add test for --graft with signed commit
656 + + replace: remove signature when using --graft
657 + + contrib: add convert-grafts-to-replace-refs.sh
658 + + Documentation: replace: add --graft option
659 + + replace: add test for --graft
660 + + replace: add --graft option
661 + + replace: cleanup redirection style in tests
662
663 "git replace" learned a "--graft" option to rewrite parents of a
664 commit.
665
651 -
652 -* kb/perf-trace (2014-07-13) 17 commits
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 -
666 Will merge to 'master'.
667
668
669 * hv/submodule-config (2014-06-30) 4 commits
676 - - do not die on error of parsing fetchrecursesubmodules option
677 - - use new config API for worktree configurations of submodules
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 -
670 + (merged to 'next' on 2014-07-17 at 5e0ce45)
671 + + do not die on error of parsing fetchrecursesubmodules option
672 + + use new config API for worktree configurations of submodules
673 + + extract functions for submodule config set and lookup
674 + + implement submodule config cache for lookup of submodule names
675
684 -* jl/submodule-tests (2014-07-14) 14 commits
685 - (merged to 'next' on 2014-07-14 at 0c750bb)
686 - + revert: add t3513 for submodule updates
687 - + stash: add t3906 for submodule updates
688 - + am: add t4255 for submodule updates
689 - + cherry-pick: add t3512 for submodule updates
690 - + pull: add t5572 for submodule updates
691 - + rebase: add t3426 for submodule updates
692 - + merge: add t7613 for submodule updates
693 - + bisect: add t6041 for submodule updates
694 - + reset: add t7112 for submodule updates
695 - + read-tree: add t1013 for submodule updates
696 - + apply: add t4137 for submodule updates
697 - + checkout: call the new submodule update test framework
698 - + submodules: add the lib-submodule-update.sh test library
699 - + test-lib: add test_dir_is_empty()
700 -
701 - Will merge to 'master'.
676 + Will cook in 'next'.
677
678
704 -* rs/ref-transaction (2014-07-16) 9 commits
679 +* rs/ref-transaction (2014-07-17) 12 commits
680 + - refs.c: fix handling of badly named refs
681 - refs.c: make write_ref_sha1 static
682 - fetch.c: change s_update_ref to use a ref transaction
683 - refs.c: propagate any errno==ENOTDIR from _commit back to the callers
@@ -711,7 +687,9 @@ of the repositories listed at
687 - refs.c: pass NULL as *flags to read_ref_full
688 - refs.c: pass the ref log message to _create/delete/update instead of _commit
689 - refs.c: add an err argument to delete_ref_loose
714 - (this branch uses rs/ref-transaction-0 and rs/ref-transaction-1.)
690 + - wrapper.c: add a new function unlink_or_msg
691 + - wrapper.c: simplify warn_if_unremovable
692 + (this branch uses rs/ref-transaction-1.)
693
694
695 * jc/test-lazy-prereq (2014-06-13) 1 commit