What's cooking (2016/10 #03)
Junio C Hamano committed
Oct 11, 2016 at 14:02 UTC
1d5745d8b3fa1306358c8358338ea64a0da82577
1 file changed
+529
-458
whats-cooking.txt
+529
-458
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Oct 2016, #02; Thu, 6)
4
-X-master-at: a23ca1b8dc42ffd4de2ef30d67ce1e21ded29886
5
-X-next-at: d4ef1078455682bd5fab0e8b62e2351d25268477
3
+Subject: What's cooking in git.git (Oct 2016, #03; Tue, 11)
4
+X-master-at: 8a36cd87b7c85a651ab388d403629865ffa3ba0d
5
+X-next-at: 28fc3e53f99219d01faa8a76452eac5ca9d631c2
6
7
-What's cooking in git.git (Oct 2016, #02; Thu, 6)
7
+What's cooking in git.git (Oct 2016, #03; Tue, 11)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,11 +12,11 @@ Here are the topics that have been cooking. Commits prefixed with
12
'+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-With fixes since 2.10 accumulated on the 'master' front, the first
16
-maintenance release 2.10.1 has been tagged. The auto-abbreviation
17
-by Linus and Peff is now in 'next'. The tip of 'master' has quite a
18
-many topics merged since the last report. Pat is back and hopefully
19
-be more active as the git-gui maintainer. Life is good ;-)
15
+A handful of topics have been merged to 'master' and the upcoming
16
+release started to take shape. Quite a few topics that no longer
17
+merge cleanly to 'pu' and have been excluded from 'pu' for some time
18
+have finally been moved to the Discarded section (many of them are
19
+expected to be updated and return).
20
21
You can find the changes described here in the integration branches
22
of the repositories listed at
@@ -26,169 +26,257 @@ of the repositories listed at
26
--------------------------------------------------
27
[Graduated to "master"]
28
29
-* jc/blame-abbrev (2016-09-28) 1 commit
30
- (merged to 'next' on 2016-10-03 at 8ec86ff1e1)
31
- + blame: use DEFAULT_ABBREV macro
32
-
33
- Almost everybody uses DEFAULT_ABBREV to refer to the default
34
- setting for the abbreviation, but "git blame" peeked into
35
- underlying variable bypassing the macro for no good reason.
36
-
29
+* ak/curl-imap-send-explicit-scheme (2016-08-17) 1 commit
30
+ (merged to 'next' on 2016-09-22 at 4449584c26)
31
+ + imap-send: Tell cURL to use imap:// or imaps://
32
38
-* jk/ambiguous-short-object-names (2016-09-27) 11 commits
39
- (merged to 'next' on 2016-09-28 at 1b85295323)
40
- + get_short_sha1: make default disambiguation configurable
41
- + get_short_sha1: list ambiguous objects on error
42
- + for_each_abbrev: drop duplicate objects
43
- + sha1_array: let callbacks interrupt iteration
44
- + get_short_sha1: mark ambiguity error for translation
45
- + get_short_sha1: NUL-terminate hex prefix
46
- + get_short_sha1: refactor init of disambiguation code
47
- + get_short_sha1: parse tags when looking for treeish
48
- + get_sha1: propagate flags to child functions
49
- + get_sha1: avoid repeating ourselves via ONLY_TO_DIE
50
- + get_sha1: detect buggy calls with multiple disambiguators
51
- (this branch is used by jk/abbrev-auto and lt/abbrev-auto.)
33
+ When we started cURL to talk to imap server when a new enough
34
+ version of cURL library is available, we forgot to explicitly add
35
+ imap(s):// before the destination. To some folks, that didn't work
36
+ and the library tried to make HTTP(s) requests instead.
37
53
- When given an abbreviated object name that is not (or more
54
- realistically, "no longer") unique, we gave a fatal error
55
- "ambiguous argument". This error is now accompanied by hints that
56
- lists the objects that begins with the given prefix. During the
57
- course of development of this new feature, numerous minor bugs were
58
- uncovered and corrected, the most notable one of which is that we
59
- gave "short SHA1 xxxx is ambiguous." twice without good reason.
38
39
+* cp/completion-negative-refs (2016-08-24) 1 commit
40
+ (merged to 'next' on 2016-09-22 at abd1585aa6)
41
+ + completion: support excluding refs
42
62
-* jk/graph-padding-fix (2016-09-29) 1 commit
63
- (merged to 'next' on 2016-10-03 at 3f526e0f38)
64
- + graph: fix extra spaces in graph_padding_line
43
+ The command-line completion script (in contrib/) learned to
44
+ complete "git cmd ^mas<HT>" to complete the negative end of
45
+ reference to "git cmd ^master".
46
66
- The "graph" API used in "git log --graph" miscounted the number of
67
- output columns consumed so far when drawing a padding line, which
68
- has been fixed; this did not affect any existing code as nobody
69
- tried to write anything after the padding on such a line, though.
47
48
+* dp/autoconf-curl-ssl (2016-06-28) 1 commit
49
+ (merged to 'next' on 2016-09-22 at 9c5aeeced9)
50
+ + ./configure.ac: detect SSL in libcurl using curl-config
51
72
-* ps/http-gssapi-cred-delegation (2016-09-29) 1 commit
73
- (merged to 'next' on 2016-10-03 at 310fbe8f24)
74
- + http: control GSSAPI credential delegation
52
+ The ./configure script generated from configure.ac was taught how
53
+ to detect support of SSL by libcurl better.
54
76
- In recent versions of cURL, GSSAPI credential delegation is
77
- disabled by default due to CVE-2011-2192; introduce a configuration
78
- to selectively allow enabling this.
55
56
+* jc/blame-reverse (2016-06-14) 2 commits
57
+ (merged to 'next' on 2016-09-22 at d1a8e9ce99)
58
+ + blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
59
+ + blame: improve diagnosis for "--reverse NEW"
60
81
-* rs/c-auto-resets-attributes (2016-09-29) 1 commit
82
- (merged to 'next' on 2016-10-03 at 6a0b946a79)
83
- + pretty: avoid adding reset for %C(auto) if output is empty
61
+ It is a common mistake to say "git blame --reverse OLD path",
62
+ expecting that the command line is dwimmed as if asking how lines
63
+ in path in an old revision OLD have survived up to the current
64
+ commit.
65
85
- When "%C(auto)" appears at the very beginning of the pretty format
86
- string, it did not need to issue the reset sequence, but it did.
87
- This is a small optimization to already graduated topic.
66
67
+* jk/pack-objects-optim-mru (2016-08-11) 4 commits
68
+ (merged to 'next' on 2016-09-21 at 97b919bdbd)
69
+ + pack-objects: use mru list when iterating over packs
70
+ + pack-objects: break delta cycles before delta-search phase
71
+ + sha1_file: make packed_object_info public
72
+ + provide an initializer for "struct object_info"
73
90
-* rs/cocci (2016-10-03) 4 commits
91
- (merged to 'next' on 2016-10-03 at 758cc6de9c)
92
- + coccicheck: make transformation for strbuf_addf(sb, "...") more precise
93
- (merged to 'next' on 2016-09-28 at 26462645f9)
94
- + use strbuf_add_unique_abbrev() for adding short hashes, part 2
95
- + use strbuf_addstr() instead of strbuf_addf() with "%s", part 2
96
- + gitignore: ignore output files of coccicheck make target
74
+ Originally merged to 'next' on 2016-08-11
75
98
- Code clean-up with help from coccinelle tool continues.
76
+ "git pack-objects" in a repository with many packfiles used to
77
+ spend a lot of time looking for/at objects in them; the accesses to
78
+ the packfiles are now optimized by checking the most-recently-used
79
+ packfile first.
80
81
101
-* sg/ref-filter-parse-optim (2016-10-03) 1 commit
102
- (merged to 'next' on 2016-10-03 at 9af6bb63e9)
103
- + ref-filter: strip format option after a field name only once while parsing
82
+* nd/shallow-deepen (2016-06-13) 27 commits
83
+ (merged to 'next' on 2016-09-22 at f0cf3e3385)
84
+ + fetch, upload-pack: --deepen=N extends shallow boundary by N commits
85
+ + upload-pack: add get_reachable_list()
86
+ + upload-pack: split check_unreachable() in two, prep for get_reachable_list()
87
+ + t5500, t5539: tests for shallow depth excluding a ref
88
+ + clone: define shallow clone boundary with --shallow-exclude
89
+ + fetch: define shallow boundary with --shallow-exclude
90
+ + upload-pack: support define shallow boundary by excluding revisions
91
+ + refs: add expand_ref()
92
+ + t5500, t5539: tests for shallow depth since a specific date
93
+ + clone: define shallow clone boundary based on time with --shallow-since
94
+ + fetch: define shallow boundary with --shallow-since
95
+ + upload-pack: add deepen-since to cut shallow repos based on time
96
+ + shallow.c: implement a generic shallow boundary finder based on rev-list
97
+ + fetch-pack: use a separate flag for fetch in deepening mode
98
+ + fetch-pack.c: mark strings for translating
99
+ + fetch-pack: use a common function for verbose printing
100
+ + fetch-pack: use skip_prefix() instead of starts_with()
101
+ + upload-pack: move rev-list code out of check_non_tip()
102
+ + upload-pack: make check_non_tip() clean things up on error
103
+ + upload-pack: tighten number parsing at "deepen" lines
104
+ + upload-pack: use skip_prefix() instead of starts_with()
105
+ + upload-pack: move "unshallow" sending code out of deepen()
106
+ + upload-pack: remove unused variable "backup"
107
+ + upload-pack: move "shallow" sending code out of deepen()
108
+ + upload-pack: move shallow deepen code out of receive_needs()
109
+ + transport-helper.c: refactor set_helper_option()
110
+ + remote-curl.c: convert fetch_git() to use argv_array
111
105
- The code that parses the format parameter of for-each-ref command
106
- has seen a micro-optimization.
112
+ The existing "git fetch --depth=<n>" option was hard to use
113
+ correctly when making the history of an existing shallow clone
114
+ deeper. A new option, "--deepen=<n>", has been added to make this
115
+ easier to use. "git clone" also learned "--shallow-since=<date>"
116
+ and "--shallow-exclude=<tag>" options to make it easier to specify
117
+ "I am interested only in the recent N months worth of history" and
118
+ "Give me only the history since that version".
119
120
109
-* vn/revision-shorthand-for-side-branch-log (2016-09-27) 1 commit
110
- (merged to 'next' on 2016-09-28 at c1237b24f6)
111
- + revision: new rev^-n shorthand for rev^n..rev
121
+* rs/qsort (2016-10-03) 6 commits
122
+ (merged to 'next' on 2016-10-06 at 32a5bd3c88)
123
+ + show-branch: use QSORT
124
+ + use QSORT, part 2
125
+ + coccicheck: use --all-includes by default
126
+ + remove unnecessary check before QSORT
127
+ + use QSORT
128
+ + add QSORT
129
113
- "git log rev^..rev" is an often-used revision range specification
114
- to show what was done on a side branch merged at rev. This has
115
- gained a short-hand "rev^-1". In general "rev^-$n" is the same as
116
- "^rev^$n rev", i.e. what has happened on other branches while the
117
- history leading to nth parent was looking the other way.
130
+ We call "qsort(array, nelem, sizeof(array[0]), fn)", and most of
131
+ the time third parameter is redundant. A new QSORT() macro lets us
132
+ omit it.
133
134
--------------------------------------------------
135
[New Topics]
136
122
-* jc/ws-error-highlight (2016-10-04) 4 commits
123
- - diff: introduce diff.wsErrorHighlight option
124
- - diff.c: move ws-error-highlight parsing helpers up
125
- - diff.c: refactor parse_ws_error_highlight()
126
- - t4015: split out the "setup" part of ws-error-highlight test
137
+* ab/gitweb-abbrev-links (2016-10-06) 3 commits
138
+ - gitweb: link to "git describe"'d commits in log messages
139
+ - gitweb: link to 7-char+ SHA-1s, not only 8-char+
140
+ - gitweb: fix a typo in a comment
141
128
- "git diff/log --ws-error-highlight=<kind>" lacked the corresponding
129
- configuration variable to set it by default.
142
+ In addition to purely abbreviated commit object names, "gitweb"
143
+ learned to turn "git describe" output (e.g. v2.9.3-599-g2376d31787)
144
+ into clickable links in its output.
145
131
- Undecided.
146
+ Waiting for review.
147
148
134
-* jk/abbrev-auto (2016-10-03) 1 commit
135
- - find_unique_abbrev: move logic out of get_short_sha1()
136
- (this branch uses lt/abbrev-auto.)
149
+* da/mergetool-diff-order (2016-10-11) 4 commits
150
+ (merged to 'next' on 2016-10-11 at 3d1b98c16d)
151
+ + mergetool: honor -O<orderfile>
152
+ + mergetool: honor diff.orderFile
153
+ + mergetool: move main program flow into a main() function
154
+ + mergetool: add copyright
155
138
- Updates the way approximate count of total objects is computed
139
- while attempting to come up with a unique abbreviated object name,
140
- which in turn needs to estimate how many hexdigits are necessary to
141
- ensure uniqueness.
156
+ "git mergetool" learned to honor "-O<orderfile>" to control the
157
+ order of paths to present to the end user.
158
143
- Undecided.
159
+ Will merge to 'master'.
160
161
146
-* jk/clone-copy-alternates-fix (2016-10-05) 1 commit
147
- - clone: detect errors in normalize_path_copy
162
+* jk/ref-symlink-loop (2016-10-10) 2 commits
163
+ (merged to 'next' on 2016-10-11 at ac5c35f87f)
164
+ + files_read_raw_ref: prevent infinite retry loops in general
165
+ + files_read_raw_ref: avoid infinite loop on broken symlinks
166
149
- "git clone" of a local repository can be done at the filesystem
150
- level, but the codepath did not check errors while copying and
151
- adjusting the file that lists alternate object stores.
167
+ A stray symbolic link in $GIT_DIR/refs/ directory could make name
168
+ resolution loop forever, which has been corrected.
169
153
- Will merge to 'next'.
170
+ Will merge to 'master'.
171
172
156
-* nd/commit-p-doc (2016-10-05) 1 commit
157
- - git-commit.txt: clarify --patch mode with pathspec
173
+* js/prepare-sequencer (2016-10-10) 26 commits
174
+ - SQUASH: nobody uses this function yet
175
+ - sequencer: mark all error messages for translation
176
+ - sequencer: start error messages consistently with lower case
177
+ - sequencer: quote filenames in error messages
178
+ - sequencer: mark action_name() for translation
179
+ - sequencer: remove overzealous assumption in rebase -i mode
180
+ - sequencer: refactor write_message()
181
+ - sequencer: left-trim lines read from the script
182
+ - sequencer: do not try to commit when there were merge conflicts
183
+ - sequencer: support cleaning up commit messages
184
+ - sequencer: support amending commits
185
+ - sequencer: allow editing the commit message on a case-by-case basis
186
+ - sequencer: introduce a helper to read files written by scripts
187
+ - sequencer: prepare for rebase -i's commit functionality
188
+ - sequencer: remember the onelines when parsing the todo file
189
+ - sequencer: refactor the code to obtain a short commit name
190
+ - sequencer: get rid of the subcommand field
191
+ - sequencer: avoid completely different messages for different actions
192
+ - sequencer: strip CR from the todo script
193
+ - sequencer: completely revamp the "todo" script parsing
194
+ - sequencer: future-proof read_populate_todo()
195
+ - sequencer: eventually release memory allocated for the option values
196
+ - sequencer: future-proof remove_sequencer_state()
197
+ - sequencer: avoid unnecessary indirection
198
+ - sequencer: use memoized sequencer directory path
199
+ - sequencer: use static initializers for replay_opts
200
+
201
+ Update of the sequencer codebase to make it reusable to reimplement
202
+ "rebase -i" continues.
203
+
204
+ Waiting for review.
205
+
206
+
207
+* js/regexec-buf (2016-10-10) 1 commit
208
+ (merged to 'next' on 2016-10-11 at 466a26548c)
209
+ + configure.ac: improve description of NO_REGEX test
210
159
- Documentation for "git commit" was updated to clarify that "commit
160
- -p <paths>" adds to the current contents of the index to come up
161
- with what to commit.
211
+ Will merge to 'master'.
212
163
- Will merge to 'next'.
213
165
---------------------------------------------------
166
-[Stalled]
214
+* rs/cocci (2016-10-10) 2 commits
215
+ (merged to 'next' on 2016-10-11 at bbd6a88402)
216
+ + use strbuf_add_unique_abbrev() for adding short hashes, part 3
217
+ + remove unnecessary NULL check before free(3)
218
168
-* jc/bundle (2016-03-03) 6 commits
169
- - index-pack: --clone-bundle option
170
- - Merge branch 'jc/index-pack' into jc/bundle
171
- - bundle v3: the beginning
172
- - bundle: keep a copy of bundle file name in the in-core bundle header
173
- - bundle: plug resource leak
174
- - bundle doc: 'verify' is not about verifying the bundle
219
+ Code cleanup.
220
176
- The beginning of "split bundle", which could be one of the
177
- ingredients to allow "git clone" traffic off of the core server
178
- network to CDN.
221
+ Will merge to 'master'.
222
180
- While I think it would make it easier for people to experiment and
181
- build on if the topic is merged to 'next', I am at the same time a
182
- bit reluctant to merge an unproven new topic that introduces a new
183
- file format, which we may end up having to support til the end of
184
- time. It is likely that to support a "prime clone from CDN", it
185
- would need a lot more than just "these are the heads and the pack
186
- data is over there", so this may not be sufficient.
223
188
- Will discard.
224
+* sb/submodule-ignore-trailing-slash (2016-10-10) 2 commits
225
+ (merged to 'next' on 2016-10-11 at e37425ed17)
226
+ + submodule: ignore trailing slash in relative url
227
+ + submodule: ignore trailing slash on superproject URL
228
229
+ A minor regression fix for "git submodule".
230
191
-* jc/attr (2016-05-25) 18 commits
231
+ Will merge to 'master'.
232
+
233
+
234
+* st/verify-tag (2016-10-10) 7 commits
235
+ - t/t7004-tag: Add --format specifier tests
236
+ - t/t7030-verify-tag: Add --format specifier tests
237
+ - builtin/tag: add --format argument for tag -v
238
+ - builtin/verify-tag: add --format to verify-tag
239
+ - tag: add format specifier to gpg_verify_tag
240
+ - ref-filter: add function to print single ref_array_item
241
+ - gpg-interface, tag: add GPG_VERIFY_QUIET flag
242
+
243
+ "git tag" and "git verify-tag" learned to put GPG verification
244
+ status in their "--format=<placeholders>" output format.
245
+
246
+ Is this ready for 'next'?
247
+
248
+
249
+* js/reset-usage (2016-10-11) 1 commit
250
+ (merged to 'next' on 2016-10-11 at 61ad4a7c0e)
251
+ + reset: fix usage
252
+
253
+ Will merge to 'master'.
254
+
255
+
256
+* mm/credential-libsecret (2016-10-11) 1 commit
257
+ - contrib: add credential helper for libsecret
258
+
259
+ Will merge to 'next'.
260
+
261
+
262
+* rs/pretty-format-color-doc-fix (2016-10-11) 1 commit
263
+ (merged to 'next' on 2016-10-11 at f0ae64bcbd)
264
+ + pretty: fix document link for color specification
265
+
266
+ Will merge to 'master'.
267
+
268
+
269
+* sb/attr (2016-10-11) 28 commits
270
+ - attr: convert to new threadsafe API
271
+ - attr: make git_check_attr_counted static
272
+ - attr: make git_attr_counted static
273
+ - attr.c: outline the future plans by heavily commenting
274
+ - attr.c: always pass check[] to collect_some_attrs()
275
+ - attr.c: introduce empty_attr_check_elems()
276
+ - attr.c: correct ugly hack for git_all_attrs()
277
+ - attr.c: rename a local variable check
278
+ - attr.c: pass struct git_attr_check down the callchain
279
+ - attr.c: add push_stack() helper
280
- attr: support quoting pathname patterns in C style
281
- attr: expose validity check for attribute names
282
- attr: add counted string version of git_attr()
@@ -207,68 +295,44 @@ of the repositories listed at
295
- attr.c: update a stale comment on "struct match_attr"
296
- attr.c: use strchrnul() to scan for one line
297
- commit.c: use strchrnul() to scan for one line
210
- (this branch is used by jc/attr-more, sb/pathspec-label and sb/submodule-default-paths.)
298
299
The attributes API has been updated so that it can later be
300
optimized using the knowledge of which attributes are queried.
301
215
- I wanted to polish this topic further to make the attribute
216
- subsystem thread-ready, but because other topics depend on this
217
- topic and they do not (yet) need it to be thread-ready.
218
-
219
- As the authors of topics that depend on this seem not in a hurry,
220
- let's discard this and dependent topics and restart them some other
221
- day.
302
223
- Will discard.
303
+* sb/submodule-config-doc-drop-path (2016-10-11) 1 commit
304
+ (merged to 'next' on 2016-10-11 at 28fc3e53f9)
305
+ + documentation: improve submodule.<name>.{url, path} description
306
307
+ The "submodule.<name>.path" stored in .gitmodules is never copied
308
+ to .git/config and such a key in .git/config has no meaning, but
309
+ the documentation described it and submodule.<name>.url next to
310
+ each other as if both belong to .git/config. This has been fixed.
311
226
-* jc/attr-more (2016-06-09) 8 commits
227
- - attr.c: outline the future plans by heavily commenting
228
- - attr.c: always pass check[] to collect_some_attrs()
229
- - attr.c: introduce empty_attr_check_elems()
230
- - attr.c: correct ugly hack for git_all_attrs()
231
- - attr.c: rename a local variable check
232
- - fixup! d5ad6c13
233
- - attr.c: pass struct git_attr_check down the callchain
234
- - attr.c: add push_stack() helper
235
- (this branch uses jc/attr; is tangled with sb/pathspec-label and sb/submodule-default-paths.)
236
-
237
- The beginning of long and tortuous journey to clean-up attribute
238
- subsystem implementation.
239
-
240
- Needs to be redone.
241
- Will discard.
242
-
243
-
244
-* sb/submodule-default-paths (2016-06-20) 5 commits
245
- - completion: clone can recurse into submodules
246
- - clone: add --init-submodule=<pathspec> switch
247
- - submodule update: add `--init-default-path` switch
248
- - Merge branch 'sb/pathspec-label' into sb/submodule-default-paths
249
- - Merge branch 'jc/attr' into sb/submodule-default-paths
250
- (this branch uses jc/attr and sb/pathspec-label; is tangled with jc/attr-more.)
251
-
252
- Allow specifying the set of submodules the user is interested in on
253
- the command line of "git clone" that clones the superproject.
312
+ Will merge to 'master'.
313
255
- Will discard.
314
+--------------------------------------------------
315
+[Stalled]
316
317
+* jc/bundle (2016-03-03) 6 commits
318
+ - index-pack: --clone-bundle option
319
+ - Merge branch 'jc/index-pack' into jc/bundle
320
+ - bundle v3: the beginning
321
+ - bundle: keep a copy of bundle file name in the in-core bundle header
322
+ - bundle: plug resource leak
323
+ - bundle doc: 'verify' is not about verifying the bundle
324
258
-* sb/pathspec-label (2016-06-03) 6 commits
259
- - pathspec: disable preload-index when attribute pathspec magic is in use
260
- - pathspec: allow escaped query values
261
- - pathspec: allow querying for attributes
262
- - pathspec: move prefix check out of the inner loop
263
- - pathspec: move long magic parsing out of prefix_pathspec
264
- - Documentation: fix a typo
265
- (this branch is used by sb/submodule-default-paths; uses jc/attr; is tangled with jc/attr-more.)
325
+ The beginning of "split bundle", which could be one of the
326
+ ingredients to allow "git clone" traffic off of the core server
327
+ network to CDN.
328
267
- The pathspec mechanism learned ":(attr:X)$pattern" pathspec magic
268
- to limit paths that match $pattern further by attribute settings.
269
- The preload-index mechanism is disabled when the new pathspec magic
270
- is in use (at least for now), because the attribute subsystem is
271
- not thread-ready.
329
+ While I think it would make it easier for people to experiment and
330
+ build on if the topic is merged to 'next', I am at the same time a
331
+ bit reluctant to merge an unproven new topic that introduces a new
332
+ file format, which we may end up having to support til the end of
333
+ time. It is likely that to support a "prime clone from CDN", it
334
+ would need a lot more than just "these are the heads and the pack
335
+ data is over there", so this may not be sufficient.
336
337
Will discard.
338
@@ -292,42 +356,6 @@ of the repositories listed at
356
this.
357
358
295
-* pb/bisect (2016-08-23) 27 commits
296
- . bisect--helper: remove the dequote in bisect_start()
297
- . bisect--helper: retire `--bisect-auto-next` subcommand
298
- . bisect--helper: retire `--bisect-autostart` subcommand
299
- . bisect--helper: retire `--check-and-set-terms` subcommand
300
- . bisect--helper: retire `--bisect-write` subcommand
301
- . bisect--helper: `bisect_replay` shell function in C
302
- . bisect--helper: `bisect_log` shell function in C
303
- . bisect--helper: retire `--write-terms` subcommand
304
- . bisect--helper: retire `--check-expected-revs` subcommand
305
- . bisect--helper: `bisect_state` & `bisect_head` shell function in C
306
- . bisect--helper: `bisect_autostart` shell function in C
307
- . bisect--helper: retire `--next-all` subcommand
308
- . bisect--helper: retire `--bisect-clean-state` subcommand
309
- . bisect--helper: `bisect_next` and `bisect_auto_next` shell function in C
310
- . bisect--helper: `bisect_start` shell function partially in C
311
- . bisect--helper: `get_terms` & `bisect_terms` shell function in C
312
- . bisect--helper: `bisect_next_check` & bisect_voc shell function in C
313
- . bisect--helper: `check_and_set_terms` shell function in C
314
- . bisect--helper: `bisect_write` shell function in C
315
- . bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C
316
- . bisect--helper: `bisect_reset` shell function in C
317
- . wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
318
- . t6030: explicitly test for bisection cleanup
319
- . bisect--helper: `bisect_clean_state` shell function in C
320
- . bisect--helper: `write_terms` shell function in C
321
- . bisect: rewrite `check_term_format` shell function in C
322
- . bisect--helper: use OPT_CMDMODE instead of OPT_BOOL
323
-
324
- GSoC "bisect" topic.
325
-
326
- I'd prefer to see early part solidified so that reviews can focus
327
- on the later part that is still in flux. We are almost there but
328
- not quite yet.
329
-
330
-
359
* kn/ref-filter-branch-list (2016-05-17) 17 commits
360
- branch: implement '--format' option
361
- branch: use ref-filter printing APIs
@@ -354,70 +382,6 @@ of the repositories listed at
382
Needs review.
383
384
357
-* sb/bisect (2016-04-15) 22 commits
358
- . SQUASH???
359
- . bisect: get back halfway shortcut
360
- . bisect: compute best bisection in compute_relevant_weights()
361
- . bisect: use a bottom-up traversal to find relevant weights
362
- . bisect: prepare for different algorithms based on find_all
363
- . bisect: rename count_distance() to compute_weight()
364
- . bisect: make total number of commits global
365
- . bisect: introduce distance_direction()
366
- . bisect: extract get_distance() function from code duplication
367
- . bisect: use commit instead of commit list as arguments when appropriate
368
- . bisect: replace clear_distance() by unique markers
369
- . bisect: use struct node_data array instead of int array
370
- . bisect: get rid of recursion in count_distance()
371
- . bisect: make algorithm behavior independent of DEBUG_BISECT
372
- . bisect: make bisect compile if DEBUG_BISECT is set
373
- . bisect: plug the biggest memory leak
374
- . bisect: add test for the bisect algorithm
375
- . t6030: generalize test to not rely on current implementation
376
- . t: use test_cmp_rev() where appropriate
377
- . t/test-lib-functions.sh: generalize test_cmp_rev
378
- . bisect: allow 'bisect run' if no good commit is known
379
- . bisect: write about `bisect next` in documentation
380
-
381
- The internal algorithm used in "git bisect" to find the next commit
382
- to check has been optimized greatly.
383
-
384
- Was expecting a reroll, but now pb/bisect topic starts removinging
385
- more and more parts from git-bisect.sh, this needs to see a fresh
386
- reroll.
387
-
388
- Will discard.
389
- cf. <1460294354-7031-1-git-send-email-s-beyer@gmx.net>
390
-
391
-
392
-* sg/completion-updates (2016-02-28) 21 commits
393
- . completion: cache the path to the repository
394
- . completion: extract repository discovery from __gitdir()
395
- . completion: don't guard git executions with __gitdir()
396
- . completion: consolidate silencing errors from git commands
397
- . completion: don't use __gitdir() for git commands
398
- . completion: respect 'git -C <path>'
399
- . completion: fix completion after 'git -C <path>'
400
- . completion: don't offer commands when 'git --opt' needs an argument
401
- . rev-parse: add '--absolute-git-dir' option
402
- . completion: list short refs from a remote given as a URL
403
- . completion: don't list 'HEAD' when trying refs completion outside of a repo
404
- . completion: list refs from remote when remote's name matches a directory
405
- . completion: respect 'git --git-dir=<path>' when listing remote refs
406
- . completion: fix most spots not respecting 'git --git-dir=<path>'
407
- . completion: ensure that the repository path given on the command line exists
408
- . completion tests: add tests for the __git_refs() helper function
409
- . completion tests: check __gitdir()'s output in the error cases
410
- . completion tests: consolidate getting path of current working directory
411
- . completion tests: make the $cur variable local to the test helper functions
412
- . completion tests: don't add test cruft to the test repository
413
- . completion: improve __git_refs()'s in-code documentation
414
-
415
- Has been waiting for a reroll for too long.
416
- cf. <1456754714-25237-1-git-send-email-szeder@ira.uka.de>
417
-
418
- Will discard.
419
-
420
-
385
* ec/annotate-deleted (2015-11-20) 1 commit
386
- annotate: skip checking working tree if a revision is provided
387
@@ -463,6 +427,52 @@ of the repositories listed at
427
--------------------------------------------------
428
[Cooking]
429
430
+* jc/ws-error-highlight (2016-10-04) 4 commits
431
+ - diff: introduce diff.wsErrorHighlight option
432
+ - diff.c: move ws-error-highlight parsing helpers up
433
+ - diff.c: refactor parse_ws_error_highlight()
434
+ - t4015: split out the "setup" part of ws-error-highlight test
435
+
436
+ "git diff/log --ws-error-highlight=<kind>" lacked the corresponding
437
+ configuration variable to set it by default.
438
+
439
+ Will merge to 'next'.
440
+
441
+
442
+* jk/abbrev-auto (2016-10-03) 1 commit
443
+ - find_unique_abbrev: move logic out of get_short_sha1()
444
+ (this branch uses lt/abbrev-auto.)
445
+
446
+ Updates the way approximate count of total objects is computed
447
+ while attempting to come up with a unique abbreviated object name,
448
+ which in turn needs to estimate how many hexdigits are necessary to
449
+ ensure uniqueness.
450
+
451
+ Undecided.
452
+
453
+
454
+* jk/clone-copy-alternates-fix (2016-10-05) 1 commit
455
+ (merged to 'next' on 2016-10-10 at 8154134c8c)
456
+ + clone: detect errors in normalize_path_copy
457
+
458
+ "git clone" of a local repository can be done at the filesystem
459
+ level, but the codepath did not check errors while copying and
460
+ adjusting the file that lists alternate object stores.
461
+
462
+ Will merge to 'master'.
463
+
464
+
465
+* nd/commit-p-doc (2016-10-05) 1 commit
466
+ (merged to 'next' on 2016-10-10 at 5a9996dd7b)
467
+ + git-commit.txt: clarify --patch mode with pathspec
468
+
469
+ Documentation for "git commit" was updated to clarify that "commit
470
+ -p <paths>" adds to the current contents of the index to come up
471
+ with what to commit.
472
+
473
+ Will merge to 'master'.
474
+
475
+
476
* nd/ita-empty-commit (2016-09-28) 3 commits
477
- commit: don't be fooled by ita entries when creating initial commit
478
- diff-lib.c: enable --shift-ita in index_differs_from()
@@ -494,7 +504,8 @@ of the repositories listed at
504
505
506
* dt/http-empty-auth (2016-10-04) 1 commit
497
- - http: http.emptyauth should allow empty (not just NULL) usernames
507
+ (merged to 'next' on 2016-10-10 at 10b7b0a6a5)
508
+ + http: http.emptyauth should allow empty (not just NULL) usernames
509
510
http.emptyauth configuration is a way to allow an empty username to
511
pass when attempting to authenticate using mechanisms like
@@ -502,92 +513,88 @@ of the repositories listed at
513
(i.e. no username, no password) to CURLOPT_USERPWD, but did not do
514
the same when the username is explicitly set to an empty string.
515
505
- Will merge to 'next'.
516
+ Will merge to 'master'.
517
518
519
* jc/diff-unique-abbrev-comments (2016-09-30) 1 commit
520
- diff_unique_abbrev(): document its assumption and limitation
521
522
+ A bit more comments in a tricky code.
523
512
-* jk/quarantine-received-objects (2016-10-05) 5 commits
513
- - tmp-objdir: do not migrate files starting with '.'
514
- - tmp-objdir: put quarantine information in the environment
515
- - receive-pack: quarantine objects until pre-receive accepts
516
- - tmp-objdir: introduce API for temporary object directories
517
- - check_connected: accept an env argument
518
- (this branch uses jk/alt-odb-cleanup.)
519
-
520
- In order for the receiving end of "git push" to inspect the
521
- received history and decide to reject the push, the objects sent
522
- from the sending end need to be made available to the hook and
523
- the mechanism for the connectivity check, and this was done
524
- traditionally by storing the objects in the receiving repository
525
- and letting "git gc" to expire it. Instead, store the newly
526
- received objects in a temporary area, and make them available by
527
- reusing the alternate object store mechanism to them only while we
528
- decide if we accept the check, and once we decide, either migrate
529
- them to the repository or purge them immediately.
530
-
531
- Will merge to 'next' after whipping jk/alt-odb-cleanup into shape.
524
+ Will merge to 'next'.
525
526
534
-* rs/qsort (2016-10-03) 6 commits
535
- (merged to 'next' on 2016-10-06 at 32a5bd3c88)
536
- + show-branch: use QSORT
537
- + use QSORT, part 2
538
- + coccicheck: use --all-includes by default
539
- + remove unnecessary check before QSORT
540
- + use QSORT
541
- + add QSORT
527
+* jk/quarantine-received-objects (2016-10-10) 5 commits
528
+ (merged to 'next' on 2016-10-10 at 0fd3e3b2ef)
529
+ + tmp-objdir: do not migrate files starting with '.'
530
+ + tmp-objdir: put quarantine information in the environment
531
+ + receive-pack: quarantine objects until pre-receive accepts
532
+ + tmp-objdir: introduce API for temporary object directories
533
+ + check_connected: accept an env argument
534
+ (this branch uses jk/alt-odb-cleanup.)
535
543
- We call "qsort(array, nelem, sizeof(array[0]), fn)", and most of
544
- the time third parameter is redundant. A new QSORT() macro lets us
545
- omit it.
536
+ In order for the receiving end of "git push" to inspect the
537
+ received history and decide to reject the push, the objects sent
538
+ from the sending end need to be made available to the hook and
539
+ the mechanism for the connectivity check, and this was done
540
+ traditionally by storing the objects in the receiving repository
541
+ and letting "git gc" to expire it. Instead, store the newly
542
+ received objects in a temporary area, and make them available by
543
+ reusing the alternate object store mechanism to them only while we
544
+ decide if we accept the check, and once we decide, either migrate
545
+ them to the repository or purge them immediately.
546
547
Will merge to 'master'.
548
549
550
-* jk/alt-odb-cleanup (2016-10-05) 19 commits
551
- - alternates: use fspathcmp to detect duplicates
552
- - sha1_file: always allow relative paths to alternates
553
- - count-objects: report alternates via verbose mode
554
- - fill_sha1_file: write into a strbuf
555
- - alternates: store scratch buffer as strbuf
556
- - fill_sha1_file: write "boring" characters
557
- - alternates: use a separate scratch space
558
- - alternates: encapsulate alt->base munging
559
- - alternates: provide helper for allocating alternate
560
- - alternates: provide helper for adding to alternates list
561
- - link_alt_odb_entry: refactor string handling
562
- - link_alt_odb_entry: handle normalize_path errors
563
- - fixup! t5613: clarify "too deep" recursion tests
564
- - t5613: clarify "too deep" recursion tests
565
- - t5613: do not chdir in main process
566
- - t5613: whitespace/style cleanups
567
- - t5613: use test_must_fail
568
- - t5613: drop test_valid_repo function
569
- - t5613: drop reachable_via function
550
+* jk/alt-odb-cleanup (2016-10-10) 18 commits
551
+ (merged to 'next' on 2016-10-10 at d2ed6b6d21)
552
+ + alternates: use fspathcmp to detect duplicates
553
+ + sha1_file: always allow relative paths to alternates
554
+ + count-objects: report alternates via verbose mode
555
+ + fill_sha1_file: write into a strbuf
556
+ + alternates: store scratch buffer as strbuf
557
+ + fill_sha1_file: write "boring" characters
558
+ + alternates: use a separate scratch space
559
+ + alternates: encapsulate alt->base munging
560
+ + alternates: provide helper for allocating alternate
561
+ + alternates: provide helper for adding to alternates list
562
+ + link_alt_odb_entry: refactor string handling
563
+ + link_alt_odb_entry: handle normalize_path errors
564
+ + t5613: clarify "too deep" recursion tests
565
+ + t5613: do not chdir in main process
566
+ + t5613: whitespace/style cleanups
567
+ + t5613: use test_must_fail
568
+ + t5613: drop test_valid_repo function
569
+ + t5613: drop reachable_via function
570
(this branch is used by jk/quarantine-received-objects.)
571
572
- Will merge to 'next' after squashing the fixup! in.
572
+ Codepaths involved in interacting alternate object store have
573
+ been cleaned up.
574
+
575
+ Will merge to 'master'.
576
577
575
-* va/i18n-perl-scripts (2016-09-25) 11 commits
578
+* va/i18n-perl-scripts (2016-10-10) 14 commits
579
- i18n: difftool: mark warnings for translation
580
- i18n: send-email: mark string with interpolation for translation
581
- i18n: send-email: mark warnings and errors for translation
582
- i18n: send-email: mark strings for translation
583
+ - i18n: add--interactive: mark status words for translation
584
+ - i18n: add--interactive: remove %patch_modes entries
585
- i18n: add--interactive: mark edit_hunk_manually message for translation
586
- i18n: add--interactive: i18n of help_patch_cmd
582
- - i18n: add--interactive: mark message for translation
587
+ - i18n: add--interactive: mark patch prompt for translation
588
- i18n: add--interactive: mark plural strings
589
+ - i18n: clean.c: match string with git-add--interactive.perl
590
- i18n: add--interactive: mark strings with interpolation for translation
585
- - i18n: add--interactive: mark simple here documents for translation
591
+ - i18n: add--interactive: mark simple here-documents for translation
592
- i18n: add--interactive: mark strings for translation
593
594
Porcelain scripts written in Perl are getting internationalized.
595
590
- Waiting for comments.
596
+ Waiting for review.
597
+ cf. <20161010125449.7929-1-vascomalmeida@sapo.pt>
598
599
600
* jc/latin-1 (2016-09-26) 2 commits
@@ -614,23 +621,10 @@ of the repositories listed at
621
Waiting for a response to ping/squash.
622
623
617
-* jc/blame-reverse (2016-06-14) 2 commits
618
- (merged to 'next' on 2016-09-22 at d1a8e9ce99)
619
- + blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
620
- + blame: improve diagnosis for "--reverse NEW"
621
-
622
- It is a common mistake to say "git blame --reverse OLD path",
623
- expecting that the command line is dwimmed as if asking how lines
624
- in path in an old revision OLD have survived up to the current
625
- commit.
626
-
627
- Will merge to 'master'.
628
-
629
-
630
-* js/libify-require-clean-work-tree (2016-10-05) 6 commits
624
+* js/libify-require-clean-work-tree (2016-10-07) 6 commits
625
- wt-status: begin error messages with lower-case
626
- wt-status: teach has_{unstaged,uncommitted}_changes() about submodules
633
- - wt-status: export also the has_un{staged,committed}_changed()
627
+ - wt-status: export also the has_un{staged,committed}_changes() functions
628
- wt-status: make the require_clean_work_tree() function reusable
629
- pull: make code more similar to the shell script again
630
- pull: drop confusing prefix parameter of die_on_unclean_work_tree()
@@ -642,7 +636,7 @@ of the repositories listed at
636
Will merge to 'next'.
637
638
645
-* bw/ls-files-recurse-submodules (2016-10-03) 4 commits
639
+* bw/ls-files-recurse-submodules (2016-10-10) 4 commits
640
- ls-files: add pathspec matching for submodules
641
- ls-files: pass through safe options for --recurse-submodules
642
- ls-files: optionally recurse into submodules
@@ -655,10 +649,10 @@ of the repositories listed at
649
side of a pipe that is read with xargs to work on all working tree
650
files from the top-level superproject.
651
658
- Looking good. Is this ready for 'next'?
652
+ Will merge to 'next'.
653
654
661
-* ls/filter-process (2016-10-04) 14 commits
655
+* ls/filter-process (2016-10-10) 14 commits
656
- contrib/long-running-filter: add long running filter example
657
- convert: add filter.<driver>.process option
658
- convert: prepare filter.<driver>.process option
@@ -669,7 +663,7 @@ of the repositories listed at
663
- pkt-line: add packet_write_fmt_gently()
664
- pkt-line: extract set_packet_header()
665
- pkt-line: rename packet_write() to packet_write_fmt()
672
- - run-command: add wait_on_exit
666
+ - run-command: add clean_on_exit_handler
667
- run-command: move check_pipe() from write_or_die to run_command
668
- convert: modernize tests
669
- convert: quote filter names in error messages
@@ -682,7 +676,8 @@ of the repositories listed at
676
paths, reducing the process creation overhead.
677
678
685
-* hv/submodule-not-yet-pushed-fix (2016-09-14) 2 commits
679
+* hv/submodule-not-yet-pushed-fix (2016-10-10) 3 commits
680
+ - batch check whether submodule needs pushing into one call
681
- serialize collection of refs that contain submodule changes
682
- serialize collection of changed submodules
683
@@ -692,10 +687,8 @@ of the repositories listed at
687
project that does not have any submodule but have a reasonable
688
number of refs.
689
695
- The last two in the original series seem to break a few tests when
696
- queued to 'pu', and dropped for now.
697
-
698
- Waiting for a reroll.
690
+ Waiting for review.
691
+ cf. <cover.1475851621.git.hvoigt@hvoigt.net>
692
693
694
* sg/fix-versioncmp-with-common-suffix (2016-09-08) 5 commits
@@ -714,18 +707,7 @@ of the repositories listed at
707
cf. <20160908223727.Horde.jVOOJ278ssZ3qkyjkmyqZD-@webmail.informatik.kit.edu>
708
709
717
-* cp/completion-negative-refs (2016-08-24) 1 commit
718
- (merged to 'next' on 2016-09-22 at abd1585aa6)
719
- + completion: support excluding refs
720
-
721
- The command-line completion script (in contrib/) learned to
722
- complete "git cmd ^mas<HT>" to complete the negative end of
723
- reference to "git cmd ^master".
724
-
725
- Will merge to 'master'.
726
-
727
-
728
-* sb/push-make-submodule-check-the-default (2016-10-06) 2 commits
710
+* sb/push-make-submodule-check-the-default (2016-10-10) 2 commits
711
- push: change submodule default to check when submodules exist
712
- submodule add: extend force flag to add existing repos
713
@@ -735,45 +717,6 @@ of the repositories listed at
717
Will hold to wait for hv/submodule-not-yet-pushed-fix
718
719
738
-* ak/curl-imap-send-explicit-scheme (2016-08-17) 1 commit
739
- (merged to 'next' on 2016-09-22 at 4449584c26)
740
- + imap-send: Tell cURL to use imap:// or imaps://
741
-
742
- When we started cURL to talk to imap server when a new enough
743
- version of cURL library is available, we forgot to explicitly add
744
- imap(s):// before the destination. To some folks, that didn't work
745
- and the library tried to make HTTP(s) requests instead.
746
-
747
- Will merge to 'master'.
748
-
749
-
750
-* jk/pack-objects-optim-mru (2016-08-11) 4 commits
751
- (merged to 'next' on 2016-09-21 at 97b919bdbd)
752
- + pack-objects: use mru list when iterating over packs
753
- + pack-objects: break delta cycles before delta-search phase
754
- + sha1_file: make packed_object_info public
755
- + provide an initializer for "struct object_info"
756
-
757
- Originally merged to 'next' on 2016-08-11
758
-
759
- "git pack-objects" in a repository with many packfiles used to
760
- spend a lot of time looking for/at objects in them; the accesses to
761
- the packfiles are now optimized by checking the most-recently-used
762
- packfile first.
763
-
764
- Will merge to 'master'.
765
-
766
-
767
-* dp/autoconf-curl-ssl (2016-06-28) 1 commit
768
- (merged to 'next' on 2016-09-22 at 9c5aeeced9)
769
- + ./configure.ac: detect SSL in libcurl using curl-config
770
-
771
- The ./configure script generated from configure.ac was taught how
772
- to detect support of SSL by libcurl better.
773
-
774
- Will merge to 'master'.
775
-
776
-
720
* jc/pull-rebase-ff (2016-07-28) 1 commit
721
- pull: fast-forward "pull --rebase=true"
722
@@ -804,49 +747,9 @@ of the repositories listed at
747
Will hold to see if people scream.
748
749
807
-* nd/shallow-deepen (2016-06-13) 27 commits
808
- (merged to 'next' on 2016-09-22 at f0cf3e3385)
809
- + fetch, upload-pack: --deepen=N extends shallow boundary by N commits
810
- + upload-pack: add get_reachable_list()
811
- + upload-pack: split check_unreachable() in two, prep for get_reachable_list()
812
- + t5500, t5539: tests for shallow depth excluding a ref
813
- + clone: define shallow clone boundary with --shallow-exclude
814
- + fetch: define shallow boundary with --shallow-exclude
815
- + upload-pack: support define shallow boundary by excluding revisions
816
- + refs: add expand_ref()
817
- + t5500, t5539: tests for shallow depth since a specific date
818
- + clone: define shallow clone boundary based on time with --shallow-since
819
- + fetch: define shallow boundary with --shallow-since
820
- + upload-pack: add deepen-since to cut shallow repos based on time
821
- + shallow.c: implement a generic shallow boundary finder based on rev-list
822
- + fetch-pack: use a separate flag for fetch in deepening mode
823
- + fetch-pack.c: mark strings for translating
824
- + fetch-pack: use a common function for verbose printing
825
- + fetch-pack: use skip_prefix() instead of starts_with()
826
- + upload-pack: move rev-list code out of check_non_tip()
827
- + upload-pack: make check_non_tip() clean things up on error
828
- + upload-pack: tighten number parsing at "deepen" lines
829
- + upload-pack: use skip_prefix() instead of starts_with()
830
- + upload-pack: move "unshallow" sending code out of deepen()
831
- + upload-pack: remove unused variable "backup"
832
- + upload-pack: move "shallow" sending code out of deepen()
833
- + upload-pack: move shallow deepen code out of receive_needs()
834
- + transport-helper.c: refactor set_helper_option()
835
- + remote-curl.c: convert fetch_git() to use argv_array
836
-
837
- The existing "git fetch --depth=<n>" option was hard to use
838
- correctly when making the history of an existing shallow clone
839
- deeper. A new option, "--deepen=<n>", has been added to make this
840
- easier to use. "git clone" also learned "--shallow-since=<date>"
841
- and "--shallow-exclude=<tag>" options to make it easier to specify
842
- "I am interested only in the recent N months worth of history" and
843
- "Give me only the history since that version".
844
-
845
- Will merge to 'master'.
846
-
847
-
750
* jc/merge-drop-old-syntax (2015-04-29) 1 commit
849
- - merge: drop 'git merge <message> HEAD <commit>' syntax
751
+ (merged to 'next' on 2016-10-11 at 8928c8b9b3)
752
+ + merge: drop 'git merge <message> HEAD <commit>' syntax
753
754
Stop supporting "git merge <message> HEAD <commit>" syntax that has
755
been deprecated since October 2007, and issues a deprecation
@@ -856,13 +759,181 @@ of the repositories listed at
759
which needs to be fixed before this final step can proceed.
760
cf. <5671DB28.8020901@kdbg.org>
761
859
- Will merge to 'next'.
762
+ Will merge to 'master'.
763
764
--------------------------------------------------
765
[Discarded]
766
864
-* jn/fix-connect-unexpected-hangup-diag (2016-09-08) 1 commit
865
- . connect: tighten check for unexpected early hang up
767
+* jc/attr (2016-05-25) 18 commits
768
+ . attr: support quoting pathname patterns in C style
769
+ . attr: expose validity check for attribute names
770
+ . attr: add counted string version of git_attr()
771
+ . attr: add counted string version of git_check_attr()
772
+ . attr: retire git_check_attrs() API
773
+ . attr: convert git_check_attrs() callers to use the new API
774
+ . attr: convert git_all_attrs() to use "struct git_attr_check"
775
+ . attr: (re)introduce git_check_attr() and struct git_attr_check
776
+ . attr: rename function and struct related to checking attributes
777
+ . attr.c: plug small leak in parse_attr_line()
778
+ . attr.c: tighten constness around "git_attr" structure
779
+ . attr.c: simplify macroexpand_one()
780
+ . attr.c: mark where #if DEBUG ends more clearly
781
+ . attr.c: complete a sentence in a comment
782
+ . attr.c: explain the lack of attr-name syntax check in parse_attr()
783
+ . attr.c: update a stale comment on "struct match_attr"
784
+ . attr.c: use strchrnul() to scan for one line
785
+ . commit.c: use strchrnul() to scan for one line
786
+ (this branch is used by jc/attr-more, sb/pathspec-label and sb/submodule-default-paths.)
787
+
788
+ The attributes API has been updated so that it can later be
789
+ optimized using the knowledge of which attributes are queried.
790
+
791
+ I wanted to polish this topic further to make the attribute
792
+ subsystem thread-ready, but because other topics depend on this
793
+ topic and they do not (yet) need it to be thread-ready.
794
+
795
+ As the authors of topics that depend on this seem not in a hurry,
796
+ let's discard this and dependent topics and restart them some other
797
+ day.
798
+
799
+
800
+* jc/attr-more (2016-06-09) 8 commits
801
+ . attr.c: outline the future plans by heavily commenting
802
+ . attr.c: always pass check[] to collect_some_attrs()
803
+ . attr.c: introduce empty_attr_check_elems()
804
+ . attr.c: correct ugly hack for git_all_attrs()
805
+ . attr.c: rename a local variable check
806
+ . fixup! d5ad6c13
807
+ . attr.c: pass struct git_attr_check down the callchain
808
+ . attr.c: add push_stack() helper
809
+ (this branch uses jc/attr; is tangled with sb/pathspec-label and sb/submodule-default-paths.)
810
+
811
+ The beginning of long and tortuous journey to clean-up attribute
812
+ subsystem implementation.
813
+
814
+ Needs to be redone.
815
+
816
+
817
+* sb/submodule-default-paths (2016-06-20) 5 commits
818
+ . completion: clone can recurse into submodules
819
+ . clone: add --init-submodule=<pathspec> switch
820
+ . submodule update: add `--init-default-path` switch
821
+ . Merge branch 'sb/pathspec-label' into sb/submodule-default-paths
822
+ . Merge branch 'jc/attr' into sb/submodule-default-paths
823
+ (this branch uses jc/attr and sb/pathspec-label; is tangled with jc/attr-more.)
824
+
825
+ Allow specifying the set of submodules the user is interested in on
826
+ the command line of "git clone" that clones the superproject.
827
+
828
+
829
+* sb/pathspec-label (2016-06-03) 6 commits
830
+ . pathspec: disable preload-index when attribute pathspec magic is in use
831
+ . pathspec: allow escaped query values
832
+ . pathspec: allow querying for attributes
833
+ . pathspec: move prefix check out of the inner loop
834
+ . pathspec: move long magic parsing out of prefix_pathspec
835
+ . Documentation: fix a typo
836
+ (this branch is used by sb/submodule-default-paths; uses jc/attr; is tangled with jc/attr-more.)
837
+
838
+ The pathspec mechanism learned ":(attr:X)$pattern" pathspec magic
839
+ to limit paths that match $pattern further by attribute settings.
840
+ The preload-index mechanism is disabled when the new pathspec magic
841
+ is in use (at least for now), because the attribute subsystem is
842
+ not thread-ready.
843
+
844
+
845
+* sb/bisect (2016-04-15) 22 commits
846
+ . SQUASH???
847
+ . bisect: get back halfway shortcut
848
+ . bisect: compute best bisection in compute_relevant_weights()
849
+ . bisect: use a bottom-up traversal to find relevant weights
850
+ . bisect: prepare for different algorithms based on find_all
851
+ . bisect: rename count_distance() to compute_weight()
852
+ . bisect: make total number of commits global
853
+ . bisect: introduce distance_direction()
854
+ . bisect: extract get_distance() function from code duplication
855
+ . bisect: use commit instead of commit list as arguments when appropriate
856
+ . bisect: replace clear_distance() by unique markers
857
+ . bisect: use struct node_data array instead of int array
858
+ . bisect: get rid of recursion in count_distance()
859
+ . bisect: make algorithm behavior independent of DEBUG_BISECT
860
+ . bisect: make bisect compile if DEBUG_BISECT is set
861
+ . bisect: plug the biggest memory leak
862
+ . bisect: add test for the bisect algorithm
863
+ . t6030: generalize test to not rely on current implementation
864
+ . t: use test_cmp_rev() where appropriate
865
+ . t/test-lib-functions.sh: generalize test_cmp_rev
866
+ . bisect: allow 'bisect run' if no good commit is known
867
+ . bisect: write about `bisect next` in documentation
868
+
869
+ The internal algorithm used in "git bisect" to find the next commit
870
+ to check has been optimized greatly.
871
+
872
+ Was expecting a reroll, but now pb/bisect topic starts removinging
873
+ more and more parts from git-bisect.sh, this needs to see a fresh
874
+ reroll.
875
+
876
+ cf. <1460294354-7031-1-git-send-email-s-beyer@gmx.net>
877
+
878
+
879
+* sg/completion-updates (2016-02-28) 21 commits
880
+ . completion: cache the path to the repository
881
+ . completion: extract repository discovery from __gitdir()
882
+ . completion: don't guard git executions with __gitdir()
883
+ . completion: consolidate silencing errors from git commands
884
+ . completion: don't use __gitdir() for git commands
885
+ . completion: respect 'git -C <path>'
886
+ . completion: fix completion after 'git -C <path>'
887
+ . completion: don't offer commands when 'git --opt' needs an argument
888
+ . rev-parse: add '--absolute-git-dir' option
889
+ . completion: list short refs from a remote given as a URL
890
+ . completion: don't list 'HEAD' when trying refs completion outside of a repo
891
+ . completion: list refs from remote when remote's name matches a directory
892
+ . completion: respect 'git --git-dir=<path>' when listing remote refs
893
+ . completion: fix most spots not respecting 'git --git-dir=<path>'
894
+ . completion: ensure that the repository path given on the command line exists
895
+ . completion tests: add tests for the __git_refs() helper function
896
+ . completion tests: check __gitdir()'s output in the error cases
897
+ . completion tests: consolidate getting path of current working directory
898
+ . completion tests: make the $cur variable local to the test helper functions
899
+ . completion tests: don't add test cruft to the test repository
900
+ . completion: improve __git_refs()'s in-code documentation
901
+
902
+ Has been waiting for a reroll for too long.
903
+ cf. <1456754714-25237-1-git-send-email-szeder@ira.uka.de>
904
+
905
+
906
+* pb/bisect (2016-08-23) 27 commits
907
+ . bisect--helper: remove the dequote in bisect_start()
908
+ . bisect--helper: retire `--bisect-auto-next` subcommand
909
+ . bisect--helper: retire `--bisect-autostart` subcommand
910
+ . bisect--helper: retire `--check-and-set-terms` subcommand
911
+ . bisect--helper: retire `--bisect-write` subcommand
912
+ . bisect--helper: `bisect_replay` shell function in C
913
+ . bisect--helper: `bisect_log` shell function in C
914
+ . bisect--helper: retire `--write-terms` subcommand
915
+ . bisect--helper: retire `--check-expected-revs` subcommand
916
+ . bisect--helper: `bisect_state` & `bisect_head` shell function in C
917
+ . bisect--helper: `bisect_autostart` shell function in C
918
+ . bisect--helper: retire `--next-all` subcommand
919
+ . bisect--helper: retire `--bisect-clean-state` subcommand
920
+ . bisect--helper: `bisect_next` and `bisect_auto_next` shell function in C
921
+ . bisect--helper: `bisect_start` shell function partially in C
922
+ . bisect--helper: `get_terms` & `bisect_terms` shell function in C
923
+ . bisect--helper: `bisect_next_check` & bisect_voc shell function in C
924
+ . bisect--helper: `check_and_set_terms` shell function in C
925
+ . bisect--helper: `bisect_write` shell function in C
926
+ . bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C
927
+ . bisect--helper: `bisect_reset` shell function in C
928
+ . wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
929
+ . t6030: explicitly test for bisection cleanup
930
+ . bisect--helper: `bisect_clean_state` shell function in C
931
+ . bisect--helper: `write_terms` shell function in C
932
+ . bisect: rewrite `check_term_format` shell function in C
933
+ . bisect--helper: use OPT_CMDMODE instead of OPT_BOOL
934
+
935
+ GSoC "bisect" topic.
936
867
- Now part of jt/accept-capability-advertisement-when-fetching-from-void
868
- topic.
937
+ I'd prefer to see early part solidified so that reviews can focus
938
+ on the later part that is still in flux. We are almost there but
939
+ not quite yet.