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