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