What's cooking (2016/07 #07)
Junio C Hamano committed
Jul 25, 2016 at 15:48 UTC
e9320ad0f15a98d57d2ef90e18accb234b7bd92d
1 file changed
+335
-577
whats-cooking.txt
+335
-577
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jul 2016, #06; Tue, 19)
4
-X-master-at: 08bb3500a2a718c3c78b0547c68601cafa7a8fd9
5
-X-next-at: 66765a41ed474ba5c6702f65e187cd9aa6236993
3
+Subject: What's cooking in git.git (Jul 2016, #07; Mon, 25)
4
+X-master-at: 8c6d1f9807c67532e7fb545a944b064faff0f70b
5
+X-next-at: 73e62d03eaf435459000ac11b091e54ac5fc5b85
6
7
-What's cooking in git.git (Jul 2016, #06; Tue, 19)
7
+What's cooking in git.git (Jul 2016, #07; Mon, 25)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -18,7 +18,7 @@ of the repositories listed at
18
http://git-blame.blogspot.com/p/git-public-repositories.html
19
20
--------------------------------------------------
21
-[New Topics]
21
+[Graduated to "master"]
22
23
* ew/autoconf-pthread (2016-07-18) 1 commit
24
(merged to 'next' on 2016-07-19 at 146e249)
@@ -29,20 +29,6 @@ of the repositories listed at
29
recent FreeBSD has some functions in libc but not others, and we
30
mistakenly thought linking with libc is enough when it is not.
31
32
- Will merge to 'master'.
33
-
34
-
35
-* ew/daemon-socket-keepalive (2016-07-18) 1 commit
36
- (merged to 'next' on 2016-07-19 at 0140849)
37
- + daemon: ignore ENOTSOCK from setsockopt
38
-
39
- Recent update to "git daemon" tries to enable the socket-level
40
- KEEPALIVE, but when it is spawned via inetd, the standard input
41
- file descriptor may not necessarily be connected to a socket.
42
- Suppress an ENOTSOCK error from setsockopt().
43
-
44
- Will merge to 'master'.
45
-
32
33
* jc/doc-diff-filter-exclude (2016-07-14) 1 commit
34
(merged to 'next' on 2016-07-19 at 0c8aa92)
@@ -50,18 +36,27 @@ of the repositories listed at
36
37
Belated doc update for a feature added in v1.8.5.
38
53
- Will merge to 'master'.
39
40
+* jc/renormalize-merge-kill-safer-crlf (2016-07-12) 2 commits
41
+ (merged to 'next' on 2016-07-13 at c243dd6)
42
+ + merge: avoid "safer crlf" during recording of merge results
43
+ + convert: unify the "auto" handling of CRLF
44
+ (this branch is tangled with tb/convert-peek-in-index.)
45
+
46
+ "git merge" with renormalization did not work well with
47
+ merge-recursive, due to "safer crlf" conversion kicking in when it
48
+ shouldn't.
49
56
-* jk/push-scrub-url (2016-07-14) 1 commit
50
+
51
+* jk/push-scrub-url (2016-07-20) 2 commits
52
+ (merged to 'next' on 2016-07-20 at 22bb7ed)
53
+ + t5541: fix url scrubbing test when GPG is not set
54
(merged to 'next' on 2016-07-19 at 6ada3f1)
55
+ push: anonymize URL in status output
56
57
"git fetch http://user:pass@host/repo..." scrubbed the userinfo
58
part, but "git push" didn't.
59
63
- Will merge to 'master'.
64
-
60
61
* js/fsck-name-object (2016-07-18) 4 commits
62
(merged to 'next' on 2016-07-19 at 6f39d2f)
@@ -76,7 +71,21 @@ of the repositories listed at
71
The command learned the "--name-objects" option to show the path to
72
the containing object from existing refs (e.g. "HEAD~24^2:file.txt").
73
79
- Will merge to 'master'.
74
+
75
+* js/ignore-space-at-eol (2016-07-11) 2 commits
76
+ (merged to 'next' on 2016-07-13 at 429dd83)
77
+ + diff: fix a double off-by-one with --ignore-space-at-eol
78
+ + diff: demonstrate a bug with --patience and --ignore-space-at-eol
79
+
80
+ An age old bug that caused "git diff --ignore-space-at-eol"
81
+ misbehave has been fixed.
82
+
83
+
84
+* ls/travis-enable-httpd-tests (2016-07-12) 1 commit
85
+ (merged to 'next' on 2016-07-13 at 06fa12e)
86
+ + travis-ci: enable web server tests t55xx on Linux
87
+
88
+ Allow http daemon tests in Travis CI tests.
89
90
91
* mh/blame-worktree (2016-07-18) 2 commits
@@ -90,416 +99,304 @@ of the repositories listed at
99
created by renaming an existing file (but the change has not been
100
committed), this restriction was unnecessarily tight.
101
93
- Will merge to 'master'.
102
103
+* mh/ref-iterators (2016-06-20) 13 commits
104
+ (merged to 'next' on 2016-07-13 at a5b4e62)
105
+ + for_each_reflog(): reimplement using iterators
106
+ + dir_iterator: new API for iterating over a directory tree
107
+ + for_each_reflog(): don't abort for bad references
108
+ + do_for_each_ref(): reimplement using reference iteration
109
+ + refs: introduce an iterator interface
110
+ + ref_resolves_to_object(): new function
111
+ + entry_resolves_to_object(): rename function from ref_resolves_to_object()
112
+ + get_ref_cache(): only create an instance if there is a submodule
113
+ + remote rm: handle symbolic refs correctly
114
+ + delete_refs(): add a flags argument
115
+ + refs: use name "prefix" consistently
116
+ + do_for_each_ref(): move docstring to the header file
117
+ + refs: remove unnecessary "extern" keywords
118
+ (this branch is used by mh/ref-store; uses mh/split-under-lock; is tangled with mh/update-ref-errors.)
119
96
-* jt/fetch-large-handshake-window-on-http (2016-07-19) 1 commit
97
- - fetch-pack: grow stateless RPC windows exponentially
120
+ The API to iterate over all the refs (i.e. for_each_ref(), etc.)
121
+ has been revamped.
122
99
- "git fetch" exchanges batched have/ack messages between the sender
100
- and the receiver, initially doubling every time and then falling
101
- back to use the maximum window size. The "smart http" transport,
102
- being an half-duplex protocol, outgrows the preset limit too
103
- quickly and becomes inefficient when interacting with a large
104
- repository. The internal mechanism learned to grow the window size
105
- more aggressively when working with the "smart http" transport.
123
107
- Will merge to 'next'.
124
+* mh/split-under-lock (2016-06-13) 33 commits
125
+ (merged to 'next' on 2016-07-13 at aa598af)
126
+ + lock_ref_sha1_basic(): only handle REF_NODEREF mode
127
+ + commit_ref_update(): remove the flags parameter
128
+ + lock_ref_for_update(): don't resolve symrefs
129
+ + lock_ref_for_update(): don't re-read non-symbolic references
130
+ + refs: resolve symbolic refs first
131
+ + ref_transaction_update(): check refname_is_safe() at a minimum
132
+ + unlock_ref(): move definition higher in the file
133
+ + lock_ref_for_update(): new function
134
+ + add_update(): initialize the whole ref_update
135
+ + verify_refname_available(): adjust constness in declaration
136
+ + refs: don't dereference on rename
137
+ + refs: allow log-only updates
138
+ + delete_branches(): use resolve_refdup()
139
+ + ref_transaction_commit(): correctly report close_ref() failure
140
+ + ref_transaction_create(): disallow recursive pruning
141
+ + refs: make error messages more consistent
142
+ + lock_ref_sha1_basic(): remove unneeded local variable
143
+ + read_raw_ref(): move docstring to header file
144
+ + read_raw_ref(): improve docstring
145
+ + read_raw_ref(): rename symref argument to referent
146
+ + read_raw_ref(): clear *type at start of function
147
+ + read_raw_ref(): rename flags argument to type
148
+ + ref_transaction_commit(): remove local variables n and updates
149
+ + rename_ref(): remove unneeded local variable
150
+ + commit_ref_update(): write error message to *err, not stderr
151
+ + refname_is_safe(): insist that the refname already be normalized
152
+ + refname_is_safe(): don't allow the empty string
153
+ + refname_is_safe(): use skip_prefix()
154
+ + remove_dir_recursively(): add docstring
155
+ + safe_create_leading_directories(): improve docstring
156
+ + read_raw_ref(): don't get confused by an empty directory
157
+ + commit_ref(): if there is an empty dir in the way, delete it
158
+ + t1404: demonstrate a bug resolving references
159
+ (this branch is used by mh/ref-iterators, mh/ref-store and mh/update-ref-errors.)
160
161
+ Further preparatory work on the refs API before the pluggable
162
+ backend series can land.
163
110
-* ew/svn-authorsprog-doc (2016-07-19) 1 commit
111
- - git-svn: document svn.authorsProg in config
164
113
- Belated doc update.
165
+* mh/update-ref-errors (2016-06-20) 6 commits
166
+ (merged to 'next' on 2016-07-13 at 53482fa)
167
+ + lock_ref_for_update(): avoid a symref resolution
168
+ + lock_ref_for_update(): make error handling more uniform
169
+ + t1404: add more tests of update-ref error handling
170
+ + t1404: document function test_update_rejected
171
+ + t1404: remove "prefix" argument to test_update_rejected
172
+ + t1404: rename file to t1404-update-ref-errors.sh
173
+ (this branch uses mh/split-under-lock; is tangled with mh/ref-iterators and mh/ref-store.)
174
115
- Perhaps I will get a copy of this directly from Eric together with
116
- other updates to git-svn, in which case this needs to be scrapped.
175
+ Error handling in the codepaths that updates refs has been
176
+ improved.
177
+
178
+
179
+* nd/cache-tree-ita (2016-07-18) 4 commits
180
+ (merged to 'next' on 2016-07-19 at 512fd96)
181
+ + cache-tree: do not generate empty trees as a result of all i-t-a subentries
182
+ + cache-tree.c: fix i-t-a entry skipping directory updates sometimes
183
+ + test-lib.sh: introduce and use $EMPTY_BLOB
184
+ + test-lib.sh: introduce and use $EMPTY_TREE
185
186
+ "git add -N dir/file && git write-tree" produced an incorrect tree
187
+ when there are other paths in the same directory that sorts after
188
+ "file".
189
119
-* rs/use-strbuf-addbuf (2016-07-19) 1 commit
190
+
191
+* nd/test-helpers (2016-07-11) 3 commits
192
+ (merged to 'next' on 2016-07-19 at 78ef465)
193
+ + t/test-lib.sh: fix running tests with --valgrind
194
+ + Makefile: use VCSSVN_LIB to refer to svn library
195
+ + Makefile: drop extra dependencies for test helpers
196
+
197
+ Build clean-up.
198
+
199
+
200
+* rs/rm-strbuf-optim (2016-07-12) 1 commit
201
+ (merged to 'next' on 2016-07-13 at 5b71fc8)
202
+ + rm: reuse strbuf for all remove_dir_recursively() calls
203
+
204
+ The use of strbuf in "git rm" to build filename to remove was a bit
205
+ suboptimal, which has been fixed.
206
+
207
+
208
+* rs/use-strbuf-addbuf (2016-07-22) 2 commits
209
+ (merged to 'next' on 2016-07-22 at efbf09b)
210
+ + strbuf: avoid calling strbuf_grow() twice in strbuf_addbuf()
211
(merged to 'next' on 2016-07-19 at 679f992)
212
+ use strbuf_addbuf() for appending a strbuf to another
213
214
Code cleanup.
215
125
- Will merge to 'master'.
216
217
+* rs/worktree-use-strbuf-absolute-path (2016-07-12) 1 commit
218
+ (merged to 'next' on 2016-07-13 at e8c9c02)
219
+ + worktree: use strbuf_add_absolute_path() directly
220
128
-* rs/submodule-config-code-cleanup (2016-07-19) 1 commit
129
- (merged to 'next' on 2016-07-19 at 59dbd58)
130
- + submodule-config: use explicit empty string instead of strbuf in config_from()
221
+ Code simplification.
222
132
- Code cleanup.
223
134
- Will merge to 'master'.
224
+* rw/make-needs-librt (2016-07-11) 2 commits
225
+ (merged to 'next' on 2016-07-13 at 7fafd37)
226
+ + config.mak.uname: define NEEDS_LIBRT under Linux, for now
227
+ + Makefile: add NEEDS_LIBRT to optionally link with librt
228
+
229
+ Makefile assumed that -lrt is always available on platforms that
230
+ want to use clock_gettime() and CLOCK_MONOTONIC, which is not a
231
+ case for recent Mac OS X. The necessary symbols are often found in
232
+ libc on many modern systems and having -lrt on the command line, as
233
+ long as the library exists, had no effect, but when the platform
234
+ removes librt.a that is a different matter--having -lrt will break
235
+ the linkage.
236
+
237
+ This change could be seen as a regression for those who do need to
238
+ specify -lrt, as they now specifically ask for NEEDS_LIBRT when
239
+ building. Hopefully they are in the minority these days.
240
241
--------------------------------------------------
137
-[Graduated to "master"]
242
+[New Topics]
243
139
-* ah/unpack-trees-advice-messages (2016-06-27) 1 commit
140
- (merged to 'next' on 2016-07-06 at 4254fc2)
141
- + unpack-trees: fix English grammar in do-this-before-that messages
244
+* jc/grep-commandline-vs-configuration (2016-07-25) 1 commit
245
+ - grep: further simplify setting the pattern type
246
143
- Grammofix.
247
+ "git -c grep.patternType=extended log --basic-regexp" misbehaved
248
+ because the internal API to access the grep machinery was not
249
+ designed well.
250
251
+ Will merge to 'next'.
252
146
-* ak/lazy-prereq-mktemp (2016-07-06) 1 commit
147
- (merged to 'next' on 2016-07-11 at 66a9384)
148
- + t7610: test for mktemp before test execution
253
150
- A test that unconditionally used "mktemp" learned that the command
151
- is not necessarily available everywhere.
254
+* jk/diff-do-not-reuse-wtf-needs-cleaning (2016-07-22) 1 commit
255
+ - diff: do not reuse worktree files that need "clean" conversion
256
257
+ There is an optimization used in "git diff $treeA $treeB" to borrow
258
+ an already checked-out copy in the working tree when it is known to
259
+ be the same as the blob being compared, expecting that open/mmap of
260
+ such a file is faster than reading it from the object store, which
261
+ involves inflating and applying delta. This however kicked in even
262
+ when the checked-out copy needs to go through the convert-to-git
263
+ conversion (including the clean filter), which defeats the whole
264
+ point of the optimization. The optimization has been disabled when
265
+ the conversion is necessary.
266
154
-* bc/cocci (2016-06-28) 11 commits
155
- (merged to 'next' on 2016-07-06 at f2e8e2a)
156
- + diff: convert prep_temp_blob() to struct object_id
157
- + merge-recursive: convert merge_recursive_generic() to object_id
158
- + merge-recursive: convert leaf functions to use struct object_id
159
- + merge-recursive: convert struct merge_file_info to object_id
160
- + merge-recursive: convert struct stage_data to use object_id
161
- + diff: rename struct diff_filespec's sha1_valid member
162
- + diff: convert struct diff_filespec to struct object_id
163
- + coccinelle: apply object_id Coccinelle transformations
164
- + coccinelle: convert hashcpy() with null_sha1 to hashclr()
165
- + contrib/coccinelle: add basic Coccinelle transforms
166
- + hex: add oid_to_hex_r()
167
- (this branch is used by js/am-3-merge-recursive-direct.)
267
+ Will merge to 'next'.
268
169
- Conversion from unsigned char sha1[20] to struct object_id
170
- continues.
269
270
+* jk/git-jump (2016-07-22) 3 commits
271
+ - contrib/git-jump: fix typo in README
272
+ - contrib/git-jump: add whitespace-checking mode
273
+ - contrib/git-jump: fix greedy regex when matching hunks
274
173
-* dg/subtree-rebase-test (2016-06-28) 1 commit
174
- (merged to 'next' on 2016-07-06 at 4dec1ad)
175
- + contrib/subtree: Add a test for subtree rebase that loses commits
275
+ "git jump" script (in contrib/) has been updated a bit.
276
177
- Add a test to specify the desired behaviour that currently is not
178
- available in "git rebase -Xsubtree=...".
277
+ Will merge to 'next'.
278
279
181
-* dk/blame-move-no-reason-for-1-line-context (2016-05-29) 1 commit
182
- (merged to 'next' on 2016-07-06 at 087490c)
183
- + blame: require 0 context lines while finding moved lines with -M
280
+* jk/parse-options-concat (2016-07-06) 1 commit
281
+ - parse_options: allocate a new array when concatenating
282
185
- "git blame -M" missed a single line that was moved within the file.
283
+ Users of the parse_options_concat() API function needs to allocate
284
+ extra slots in advance and fill them with OPT_END() when they want
285
+ to decide the set of options to support dynamically, which is
286
+ error-prone and hard to read. This has been corrected by tweaking
287
+ the API to allocate and return a new copy of "struct option" array.
288
289
+ Will merge to 'next'.
290
188
-* ew/gc-auto-pack-limit-fix (2016-06-27) 1 commit
189
- (merged to 'next' on 2016-07-06 at aa023d3)
190
- + gc: fix off-by-one error with gc.autoPackLimit
291
192
- "gc.autoPackLimit" when set to 1 should not trigger a repacking
193
- when there is only one pack, but the code counted poorly and did
194
- so.
292
+* jk/push-progress (2016-07-20) 12 commits
293
+ - receive-pack: send keepalives during quiet periods
294
+ - receive-pack: turn on connectivity progress
295
+ - receive-pack: relay connectivity errors to sideband
296
+ - receive-pack: turn on index-pack resolving progress
297
+ - index-pack: add flag for showing delta-resolution progress
298
+ - clone: use a real progress meter for connectivity check
299
+ - check_connected: add progress flag
300
+ - check_connected: relay errors to alternate descriptor
301
+ - check_everything_connected: use a struct with named options
302
+ - check_everything_connected: convert to argv_array
303
+ - rev-list: add optional progress reporting
304
+ - check_everything_connected: always pass --quiet to rev-list
305
306
+ "git push" and "git clone" learned to give better progress meters
307
+ to the end user who is waiting on the terminal.
308
197
-* jk/big-and-future-archive-tar (2016-07-01) 5 commits
198
- (merged to 'next' on 2016-07-06 at 89f3835)
199
- + archive-tar: drop return value
200
- + archive-tar: write extended headers for far-future mtime
201
- + archive-tar: write extended headers for file sizes >= 8GB
202
- + t5000: test tar files that overflow ustar headers
203
- + t9300: factor out portable "head -c" replacement
309
+ Will merge to 'next'.
310
205
- "git archive" learned to handle files that are larger than 8GB and
206
- commits far in the future than expressible by the traditional US-TAR
207
- format.
208
-
209
-
210
-* jk/common-main (2016-07-06) 1 commit
211
- (merged to 'next' on 2016-07-11 at 1c2228a)
212
- + Merge branch 'jk/common-main-2.8' into jk/common-main
213
- (this branch uses jk/common-main-2.8.)
214
-
215
- There are certain house-keeping tasks that need to be performed at
216
- the very beginning of any Git program, and programs that are not
217
- built-in commands had to do them exactly the same way as "git"
218
- potty does. It was easy to make mistakes in one-off standalone
219
- programs (like test helpers). A common "main()" function that
220
- calls cmd_main() of individual program has been introduced to
221
- make it harder to make mistakes.
222
-
223
-
224
-* jk/common-main-2.8 (2016-07-06) 6 commits
225
- + mingw: declare main()'s argv as const
226
- + common-main: call git_setup_gettext()
227
- + common-main: call restore_sigpipe_to_default()
228
- + common-main: call sanitize_stdfds()
229
- + common-main: call git_extract_argv0_path()
230
- + add an extra level of indirection to main()
231
- (this branch is used by jk/common-main.)
311
233
- There are certain house-keeping tasks that need to be performed at
234
- the very beginning of any Git program, and programs that are not
235
- built-in commands had to do them exactly the same way as "git"
236
- potty does. It was easy to make mistakes in one-off standalone
237
- programs (like test helpers). A common "main()" function that
238
- calls cmd_main() of individual program has been introduced to
239
- make it harder to make mistakes.
312
+* jk/reflog-date (2016-07-22) 6 commits
313
+ - date: add "unix" format
314
+ - date: document and test "raw-local" mode
315
+ - doc/pretty-formats: explain shortening of %gd
316
+ - doc/pretty-formats: describe index/time formats for %gd
317
+ - doc/rev-list-options: explain "-g" output formats
318
+ - doc/rev-list-options: clarify "commit@{Nth}" for "-g" option
319
320
+ The reflog output format is documented better, and a new format
321
+ --date=unix to report the seconds-since-epoch (without timezone)
322
+ has been added.
323
242
-* jk/printf-format (2016-07-08) 3 commits
243
- (merged to 'next' on 2016-07-11 at 731eafb)
244
- + commit.c: remove print_commit_list()
245
- + avoid using sha1_to_hex output as printf format
246
- + walker: let walker_say take arbitrary formats
247
-
248
- Code clean-up to avoid using a variable string that compilers may
249
- feel untrustable as printf-style format given to write_file()
250
- helper function.
251
-
252
-
253
-* jk/test-match-signal (2016-07-06) 4 commits
254
- (merged to 'next' on 2016-07-11 at 54e1462)
255
- + t/lib-git-daemon: use test_match_signal
256
- + test_must_fail: use test_match_signal
257
- + t0005: use test_match_signal as appropriate
258
- + tests: factor portable signal check out of t0005
259
-
260
- The test framework learned a new helper test_match_signal to
261
- check an exit code from getting killed by an expected signal.
324
+ Will merge to 'next'.
325
326
264
-* jk/write-file (2016-07-08) 9 commits
265
- (merged to 'next' on 2016-07-11 at f51b449)
266
- + branch: use write_file_buf instead of write_file
267
- + use write_file_buf where applicable
268
- + write_file: add format attribute
269
- + write_file: add pointer+len variant
270
- + write_file: use xopen
271
- + write_file: drop "gently" form
272
- + branch: use non-gentle write_file for branch description
273
- + am: ignore return value of write_file()
274
- + config: fix bogus fd check when setting up default config
327
+* mm/status-suggest-merge-abort (2016-07-22) 1 commit
328
+ - status: suggest 'git merge --abort' when appropriate
329
276
- General code clean-up around a helper function to write a
277
- single-liner to a file.
330
+ "git status" learned to suggest "merge --abort" during a conflicted
331
+ merge, just like it already suggests "rebase --abort" during a
332
+ conflicted rebase.
333
279
- While it is textually independent, jk/printf-format needs to be
280
- merged before this one.
281
-
282
-
283
-* js/am-call-theirs-theirs-in-fallback-3way (2016-07-08) 1 commit
284
- (merged to 'next' on 2016-07-11 at abae4bc)
285
- + am: counteract gender bias
286
- (this branch is used by js/am-3-merge-recursive-direct.)
287
-
288
- One part of "git am" had an oddball helper function that called
289
- stuff from outside "his" as opposed to calling what we have "ours",
290
- which was not gender-neutral and also inconsistent with the rest of
291
- the system where outside stuff is usuall called "theirs" in
292
- contrast to "ours".
293
-
294
-
295
-* js/log-to-diffopt-file (2016-07-11) 12 commits
296
- (merged to 'next' on 2016-07-13 at d7a0af7)
297
- + mingw: fix the shortlog --output=<file> test
298
- (merged to 'next' on 2016-07-06 at 39e7a5f)
299
- + diff: do not color output when --color=auto and --output=<file> is given
300
- + t4211: ensure that log respects --output=<file>
301
- + shortlog: respect the --output=<file> setting
302
- + format-patch: use stdout directly
303
- + format-patch: avoid freopen()
304
- + format-patch: explicitly switch off color when writing to files
305
- + shortlog: support outputting to streams other than stdout
306
- + graph: respect the diffopt.file setting
307
- + line-log: respect diffopt's configured output file stream
308
- + log-tree: respect diffopt's configured output file stream
309
- + log: prepare log/log-tree to reuse the diffopt.close_file attribute
310
-
311
- The commands in the "log/diff" family have had an FILE* pointer in the
312
- data structure they pass around for a long time, but some codepaths
313
- used to always write to the standard output. As a preparatory step
314
- to make "git format-patch" available to the internal callers, these
315
- codepaths have been updated to consistently write into that FILE*
316
- instead.
317
-
318
-
319
-* js/sign-empty-commit-fix (2016-06-29) 1 commit
320
- (merged to 'next' on 2016-07-06 at 448da1b)
321
- + commit -S: avoid invalid pointer with empty message
322
-
323
- "git commit --amend --allow-empty-message -S" for a commit without
324
- any message body could have misidentified where the header of the
325
- commit object ends.
326
-
327
-
328
-* js/t3404-grammo-fix (2016-06-29) 1 commit
329
- (merged to 'next' on 2016-07-06 at 4378654)
330
- + t3404: fix a grammo (commands are ran -> commands are run)
331
-
332
- Grammofix.
333
-
334
-
335
-* lf/recv-sideband-cleanup (2016-07-06) 2 commits
336
- (merged to 'next' on 2016-07-06 at d527bcb)
337
- + sideband.c: small optimization of strbuf usage
338
- + sideband.c: refactor recv_sideband()
334
+ Will merge to 'next'.
335
340
- Code simplification.
336
337
+* pm/build-persistent-https-with-recent-go (2016-07-22) 2 commits
338
+ - contrib/persistent-https: use Git version for build label
339
+ - contrib/persistent-https: update ldflags syntax for Go 1.7+
340
343
-* ls/p4-tmp-refs (2016-07-08) 1 commit
344
- (merged to 'next' on 2016-07-11 at 4af2d93)
345
- + git-p4: place temporary refs used for branch import under refs/git-p4-tmp
341
+ The build procedure for "git persistent-https" helper (in contrib/)
342
+ has been updated so that it can be built with more recent versions
343
+ of Go.
344
+
345
+ Will merge to 'next'.
346
+
347
+
348
+* sb/pack-protocol-doc-nak (2016-07-22) 1 commit
349
+ - Documentation: pack-protocol correct NAK response
350
+
351
+ A doc update.
352
+
353
+ Will merge to 'next'.
354
347
- "git p4" used a location outside $GIT_DIR/refs/ to place its
348
- temporary branches, which has been moved to refs/git-p4-tmp/.
355
356
+* sb/submodule-clone-retry (2016-07-22) 2 commits
357
+ - submodule-helper: fix indexing in clone retry error reporting path
358
+ - git-submodule: forward exit code of git-submodule--helper more faithfully
359
351
-* mm/doc-tt (2016-06-28) 7 commits
352
- (merged to 'next' on 2016-07-06 at a8c74bd)
353
- + doc: typeset HEAD and variants as literal
354
- + CodingGuidelines: formatting HEAD in documentation
355
- + doc: typeset long options with argument as literal
356
- + doc: typeset '--' as literal
357
- + doc: typeset long command-line options as literal
358
- + doc: typeset short command-line options as literal
359
- + Documentation/git-mv.txt: fix whitespace indentation
360
+ An earlier tweak to make "submodule update" retry a failing clone
361
+ of submodules was buggy and caused segfault, which has been fixed.
362
361
- More mark-up updates to typeset strings that are expected to
362
- literally typed by the end user in fixed-width font.
363
+ Will merge to 'next'.
364
+
365
+
366
+* ew/find-perl-on-freebsd-in-local (2016-07-25) 1 commit
367
+ - config.mak.uname: set PERL_PATH for FreeBSD 5.0+
368
+
369
+ Recent FreeBSD stopped making perl available at /usr/bin/perl;
370
+ switch the default the built-in path to /usr/local/bin/perl on not
371
+ too ancient FreeBSD releases.
372
373
+ Will wait for bikeshedding to settle.
374
365
-* nd/connect-ssh-command-config (2016-07-06) 1 commit
366
- (merged to 'next' on 2016-07-06 at 6eac316)
367
- + connect: read $GIT_SSH_COMMAND from config file
375
369
- A new configuration variable core.sshCommand has been added to
370
- specify what value for GIT_SSH_COMMAND to use per repository.
376
+* ew/git-svn-http-tests (2016-07-25) 2 commits
377
+ - git svn: migrate tests to use lib-httpd
378
+ - t/t91*: do not say how to avoid the tests
379
+
380
+ Reuse the lib-httpd test infrastructure when testing the subversion
381
+ integration that interacts with subversion repositories served over
382
+ the http:// protocol.
383
+
384
+ Will merge to 'next'.
385
386
373
-* nd/doc-new-command (2016-06-27) 1 commit
374
- (merged to 'next' on 2016-07-06 at 1404b64)
375
- + new-command.txt: correct the command description file
376
-
377
- Typofix in a doc.
378
-
379
-
380
-* nd/fetch-ref-summary (2016-07-06) 5 commits
381
- (merged to 'next' on 2016-07-11 at 379df9f)
382
- + fetch: reduce duplicate in ref update status lines with placeholder
383
- + fetch: align all "remote -> local" output
384
- + fetch: change flag code for displaying tag update and deleted ref
385
- + fetch: refactor ref update status formatting code
386
- + git-fetch.txt: document fetch output
387
-
388
- Improve the look of the way "git fetch" reports what happened to
389
- each ref that was fetched.
390
-
391
-
392
-* nd/icase (2016-07-01) 12 commits
393
- (merged to 'next' on 2016-07-11 at a00d080)
394
- + grep.c: reuse "icase" variable
395
- + diffcore-pickaxe: support case insensitive match on non-ascii
396
- + diffcore-pickaxe: Add regcomp_or_die()
397
- + grep/pcre: support utf-8
398
- + gettext: add is_utf8_locale()
399
- + grep/pcre: prepare locale-dependent tables for icase matching
400
- + grep: rewrite an if/else condition to avoid duplicate expression
401
- + grep/icase: avoid kwsset when -F is specified
402
- + grep/icase: avoid kwsset on literal non-ascii strings
403
- + test-regex: expose full regcomp() to the command line
404
- + test-regex: isolate the bug test code
405
- + grep: break down an "if" stmt in preparation for next changes
406
-
407
- "git grep -i" has been taught to fold case in non-ascii locales
408
- correctly.
409
-
410
-
411
-* nd/ita-cleanup (2016-07-01) 3 commits
412
- (merged to 'next' on 2016-07-06 at f15aeba)
413
- + grep: fix grepping for "intent to add" files
414
- + t7810-grep.sh: fix a whitespace inconsistency
415
- + t7810-grep.sh: fix duplicated test name
416
-
417
- Git does not know what the contents in the index should be for a
418
- path added with "git add -N" yet, so "git grep --cached" should not
419
- show hits (or show lack of hits, with -L) in such a path, but that
420
- logic does not apply to "git grep", i.e. searching in the working
421
- tree files. But we did so by mistake, which has been corrected.
422
-
423
-
424
-* ps/rebase-i-auto-unstash-upon-abort (2016-06-29) 1 commit
425
- (merged to 'next' on 2016-07-06 at 0fdcedb)
426
- + rebase -i: restore autostash on abort
427
-
428
- "git rebase -i --autostash" did not restore the auto-stashed change
429
- when the operation was aborted.
430
-
431
-
432
-* rs/help-c-source-with-gitattributes (2016-07-07) 1 commit
433
- (merged to 'next' on 2016-07-11 at b90b7d0)
434
- + .gitattributes: set file type for C files
435
-
436
- The .c/.h sources are marked as such in our .gitattributes file so
437
- that "git diff -W" and friends would work better.
438
-
439
-
440
-* sb/submodule-parallel-fetch (2016-07-11) 3 commits
441
- (merged to 'next' on 2016-07-11 at 4983ded)
442
- + hoist out handle_nonblock function for xread and xwrite
443
- (merged to 'next' on 2016-07-06 at de5fd35)
444
- + xwrite: poll on non-blocking FDs
445
- + xread: retry after poll on EAGAIN/EWOULDBLOCK
446
-
447
- Fix recently introduced codepaths that are involved in parallel
448
- submodule operations, which gave up on reading too early, and
449
- could have wasted CPU while attempting to write under a corner
450
- case condition.
451
-
452
-
453
-* va/i18n-even-more (2016-07-01) 39 commits
454
- (merged to 'next' on 2016-07-01 at fa5e50e3)
455
- + t5541: become resilient to GETTEXT_POISON
456
- (merged to 'next' on 2016-06-28 at 5919dfa)
457
- + i18n: branch: mark comment when editing branch description for translation
458
- + i18n: unmark die messages for translation
459
- + i18n: submodule: escape shell variables inside eval_gettext
460
- + i18n: submodule: join strings marked for translation
461
- + i18n: init-db: join message pieces
462
- + i18n: remote: allow translations to reorder message
463
- + i18n: remote: mark URL fallback text for translation
464
- + i18n: standardise messages
465
- + i18n: sequencer: add period to error message
466
- + i18n: merge: change command option help to lowercase
467
- + i18n: merge: mark messages for translation
468
- + i18n: notes: mark options for translation
469
- + i18n: notes: mark strings for translation
470
- + i18n: transport-helper.c: change N_() call to _()
471
- + i18n: bisect: mark strings for translation
472
- + t5523: use test_i18ngrep for negation
473
- + t4153: fix negated test_i18ngrep call
474
- + t9003: become resilient to GETTEXT_POISON
475
- + tests: unpack-trees: update to use test_i18n* functions
476
- + tests: use test_i18n* functions to suppress false positives
477
- + i18n: setup: mark strings for translation
478
- + i18n: rebase-interactive: mark comments of squash for translation
479
- + i18n: rebase-interactive: mark here-doc strings for translation
480
- + i18n: rebase-interactive: mark strings for translation
481
- + i18n: git-sh-setup.sh: mark strings for translation
482
- + t6030: update to use test_i18ncmp
483
- + i18n: bisect: simplify error message for i18n
484
- + i18n: rebase: mark placeholder for translation
485
- + i18n: rebase: fix marked string to use eval_gettext variant
486
- + merge-octopus: use die shell function from git-sh-setup.sh
487
- + i18n: merge-octopus: mark messages for translation
488
- + i18n: sequencer: mark string for translation
489
- + i18n: sequencer: mark entire sentences for translation
490
- + i18n: transport: mark strings for translation
491
- + i18n: advice: internationalize message for conflicts
492
- + i18n: advice: mark string about detached head for translation
493
- + i18n: builtin/remote.c: fix mark for translation
494
- + Merge branch 'jc/t2300-setup' into HEAD
495
- (this branch is used by js/am-3-merge-recursive-direct.)
496
-
497
- More markings of messages for i18n, with updates to various tests
498
- to pass GETTEXT_POISON tests.
499
-
500
- One patch from the original submission dropped due to conflicts
501
- with jk/upload-pack-hook, which is still in flux.
502
-
387
+* jk/push-force-with-lease-creation (2016-07-25) 3 commits
388
+ - push: allow pushing new branches with --force-with-lease
389
+ - push: add shorthand for --force-with-lease branch creation
390
+ - Documentation/git-push: fix placeholder formatting
391
+
392
+ "git push --force-with-lease" already had enough logic to allow
393
+ ensuring that such a push results in creation of a ref (i.e. the
394
+ receiving end did not have another push from sideways that would be
395
+ discarded by our force-pushing), but didn't expose this possibility
396
+ to the users. It does so now.
397
+
398
+ Perhaps needs s/memset/hashclr/, but other than that looked good.
399
+
400
--------------------------------------------------
401
[Stalled]
402
@@ -545,7 +442,7 @@ of the repositories listed at
442
- builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
443
- apply: move 'struct apply_state' to apply.h
444
- apply: make some names more specific
548
- (this branch is used by jh/clean-smudge-annex and js/am-3-merge-recursive-direct.)
445
+ (this branch is used by jh/clean-smudge-annex.)
446
447
"git am" has been taught to make an internal call to "git apply"'s
448
innards without spawning the latter as a separate process.
@@ -651,9 +548,55 @@ of the repositories listed at
548
--------------------------------------------------
549
[Cooking]
550
654
-* js/am-3-merge-recursive-direct (2016-07-12) 21 commits
551
+* ew/daemon-socket-keepalive (2016-07-22) 2 commits
552
+ (merged to 'next' on 2016-07-22 at d39c827)
553
+ + Windows: add missing definition of ENOTSOCK
554
+ (merged to 'next' on 2016-07-19 at 0140849)
555
+ + daemon: ignore ENOTSOCK from setsockopt
556
+
557
+ Recent update to "git daemon" tries to enable the socket-level
558
+ KEEPALIVE, but when it is spawned via inetd, the standard input
559
+ file descriptor may not necessarily be connected to a socket.
560
+ Suppress an ENOTSOCK error from setsockopt().
561
+
562
+ Will merge to 'master'.
563
+
564
+
565
+* jt/fetch-large-handshake-window-on-http (2016-07-19) 1 commit
566
+ - fetch-pack: grow stateless RPC windows exponentially
567
+
568
+ "git fetch" exchanges batched have/ack messages between the sender
569
+ and the receiver, initially doubling every time and then falling
570
+ back to use the maximum window size. The "smart http" transport,
571
+ being an half-duplex protocol, outgrows the preset limit too
572
+ quickly and becomes inefficient when interacting with a large
573
+ repository. The internal mechanism learned to grow the window size
574
+ more aggressively when working with the "smart http" transport.
575
+
576
+ Will merge to 'next'.
577
+
578
+
579
+* ew/svn-authorsprog-doc (2016-07-19) 1 commit
580
+ - git-svn: document svn.authorsProg in config
581
+
582
+ Belated doc update.
583
+
584
+ Perhaps I will get a copy of this directly from Eric together with
585
+ other updates to git-svn, in which case this needs to be scrapped.
586
+
587
+
588
+* rs/submodule-config-code-cleanup (2016-07-19) 1 commit
589
+ (merged to 'next' on 2016-07-19 at 59dbd58)
590
+ + submodule-config: use explicit empty string instead of strbuf in config_from()
591
+
592
+ Code cleanup.
593
+
594
+ Will merge to 'master'.
595
+
596
+
597
+* js/am-3-merge-recursive-direct (2016-07-22) 16 commits
598
- merge-recursive: flush output buffer even when erroring out
656
- - merge_trees(): ensure that the output buffer is released after calling it
599
+ - merge_trees(): ensure that the output buffer is released after calling merge_trees()
600
- merge-recursive: offer an option to retain the output in 'obuf'
601
- merge-recursive: write the commit title in one go
602
- merge-recursive: flush output buffer before printing error messages
@@ -667,43 +610,15 @@ of the repositories listed at
610
- merge-recursive: clarify code in was_tracked()
611
- die(_("BUG")): avoid translating bug messages
612
- die("bug"): report bugs consistently
670
- - t5520: verify that `git pull --rebase` shows the advice when failing
671
- - Merge branch 'jh/clean-smudge-annex' into HEAD
672
- - Merge branch 'bc/cocci' into js/am-3-merge-recursive-direct
673
- - Merge branch 'js/am-call-theirs-theirs-in-fallback-3way' into js/am-3-merge-recursive-direct
674
- - Merge branch 'cc/apply-am' into js/am-3-merge-recursive-direct
675
- - Merge branch 'va/i18n-even-more' into js/am-3-merge-recursive-direct
676
- (this branch uses cc/apply-am and jh/clean-smudge-annex.)
613
+ - t5520: verify that `git pull --rebase` shows the helpful advice when failing
614
615
"git am -3" calls "git merge-recursive" when it needs to fall back
616
to a three-way merge; this call has been turned into an internal
617
subroutine call instead of spawning a separate subprocess.
618
682
- Will be rerolled, unless Joey says something about the interaction
683
- with the other topic.
684
-
685
-
686
-* ls/travis-enable-httpd-tests (2016-07-12) 1 commit
687
- (merged to 'next' on 2016-07-13 at 06fa12e)
688
- + travis-ci: enable web server tests t55xx on Linux
689
-
690
- Allow http daemon tests in Travis CI tests.
691
-
692
- Will merge to 'master'.
693
-
694
-
695
-* nd/cache-tree-ita (2016-07-18) 4 commits
696
- (merged to 'next' on 2016-07-19 at 512fd96)
697
- + cache-tree: do not generate empty trees as a result of all i-t-a subentries
698
- + cache-tree.c: fix i-t-a entry skipping directory updates sometimes
699
- + test-lib.sh: introduce and use $EMPTY_BLOB
700
- + test-lib.sh: introduce and use $EMPTY_TREE
701
-
702
- "git add -N dir/file && git write-tree" produced an incorrect tree
703
- when there are other paths in the same directory that sorts after
704
- "file".
705
-
706
- Will merge to 'master'.
619
+ Rerolled.
620
+ Needs review.
621
+ I started re-reading them, but I do want eyes from other people.
622
623
624
* nd/pack-ofs-4gb-limit (2016-07-13) 7 commits
@@ -761,25 +676,6 @@ of the repositories listed at
676
Comments? Personally I find it more-or-less "Meh".
677
678
764
-* rs/rm-strbuf-optim (2016-07-12) 1 commit
765
- (merged to 'next' on 2016-07-13 at 5b71fc8)
766
- + rm: reuse strbuf for all remove_dir_recursively() calls
767
-
768
- The use of strbuf in "git rm" to build filename to remove was a bit
769
- suboptimal, which has been fixed.
770
-
771
- Will merge to 'master'.
772
-
773
-
774
-* rs/worktree-use-strbuf-absolute-path (2016-07-12) 1 commit
775
- (merged to 'next' on 2016-07-13 at e8c9c02)
776
- + worktree: use strbuf_add_absolute_path() directly
777
-
778
- Code simplification.
779
-
780
- Will merge to 'master'.
781
-
782
-
679
* jh/clean-smudge-annex (2016-07-12) 9 commits
680
- use smudgeToFile filter in recursive merge
681
- use smudgeToFile filter in git am
@@ -790,7 +686,7 @@ of the repositories listed at
686
- add smudgeToFile and cleanFromFile filter configs
687
- clarify %f documentation
688
- Merge branch 'cc/apply-am' into jh/clean-smudge-annex
793
- (this branch is used by js/am-3-merge-recursive-direct; uses cc/apply-am.)
689
+ (this branch uses cc/apply-am.)
690
691
The interface to "clean/smudge" filters require Git to feed the
692
whole contents via pipe, which is suboptimal for some applications.
@@ -798,18 +694,7 @@ of the repositories listed at
694
for these filters but they interact with the files on the
695
filesystem directly.
696
801
- Will need to wait for all the topics this depends on graduate to 'master'.
802
-
803
-
804
-* js/ignore-space-at-eol (2016-07-11) 2 commits
805
- (merged to 'next' on 2016-07-13 at 429dd83)
806
- + diff: fix a double off-by-one with --ignore-space-at-eol
807
- + diff: demonstrate a bug with --patience and --ignore-space-at-eol
808
-
809
- An age old bug that caused "git diff --ignore-space-at-eol"
810
- misbehave has been fixed.
811
-
812
- Will merge to 'master'.
697
+ Will hold.
698
699
700
* js/rebase-i-tests (2016-07-07) 3 commits
@@ -824,19 +709,6 @@ of the repositories listed at
709
Will merge to 'master'.
710
711
827
-* jc/renormalize-merge-kill-safer-crlf (2016-07-12) 2 commits
828
- (merged to 'next' on 2016-07-13 at c243dd6)
829
- + merge: avoid "safer crlf" during recording of merge results
830
- + convert: unify the "auto" handling of CRLF
831
- (this branch is tangled with tb/convert-peek-in-index.)
832
-
833
- "git merge" with renormalization did not work well with
834
- merge-recursive, due to "safer crlf" conversion kicking in when it
835
- shouldn't.
836
-
837
- Will merge to 'master'.
838
-
839
-
712
* rs/notes-merge-no-toctou (2016-07-07) 1 commit
713
(merged to 'next' on 2016-07-13 at f08b530)
714
+ notes-merge: use O_EXCL to avoid overwriting existing files
@@ -848,26 +720,6 @@ of the repositories listed at
720
Will merge to 'master'.
721
722
851
-* rw/make-needs-librt (2016-07-11) 2 commits
852
- (merged to 'next' on 2016-07-13 at 7fafd37)
853
- + config.mak.uname: define NEEDS_LIBRT under Linux, for now
854
- + Makefile: add NEEDS_LIBRT to optionally link with librt
855
-
856
- Makefile assumed that -lrt is always available on platforms that
857
- want to use clock_gettime() and CLOCK_MONOTONIC, which is not a
858
- case for recent Mac OS X. The necessary symbols are often found in
859
- libc on many modern systems and having -lrt on the command line, as
860
- long as the library exists, had no effect, but when the platform
861
- removes librt.a that is a different matter--having -lrt will break
862
- the linkage.
863
-
864
- This change could be seen as a regression for those who do need to
865
- specify -lrt, as they now specifically ask for NEEDS_LIBRT when
866
- building. Hopefully they are in the minority these days.
867
-
868
- Will merge to 'master'.
869
-
870
-
723
* jk/difftool-in-subdir (2016-07-19) 4 commits
724
- difftool: use Git::* functions instead of passing around state
725
- SQUASH???
@@ -879,17 +731,6 @@ of the repositories listed at
731
fixed.
732
733
882
-* nd/test-helpers (2016-07-11) 3 commits
883
- (merged to 'next' on 2016-07-19 at 78ef465)
884
- + t/test-lib.sh: fix running tests with --valgrind
885
- + Makefile: use VCSSVN_LIB to refer to svn library
886
- + Makefile: drop extra dependencies for test helpers
887
-
888
- Build clean-up.
889
-
890
- Will merge to 'master'.
891
-
892
-
734
* dp/autoconf-curl-ssl (2016-06-28) 1 commit
735
- ./configure.ac: detect SSL in libcurl using curl-config
736
@@ -909,19 +750,21 @@ of the repositories listed at
750
Needs a real log message and a few tests.
751
752
912
-* po/range-doc (2016-07-01) 3 commits
753
+* po/range-doc (2016-07-20) 8 commits
754
+ - doc: revisions - clarify reachability examples
755
+ - doc: revisions - define `reachable`
756
+ - doc: gitrevisions - clarify 'latter case' is revision walk
757
+ - doc: gitrevisions - use 'reachable' in page description
758
- doc: give headings for the two and three dot notations
759
- doc: show the actual left, right, and boundary marks
760
+ - doc: revisions - name the left and right sides
761
- doc: use 'symmetric difference' consistently
762
763
Clarify various ways to specify the "revision ranges" in the
764
documentation.
765
920
- Will hold.
921
-
922
- There is another one that tries to clarify r1..r2 excludes r1
923
- itself, which is not queued here waiting for the conclusion of a
924
- review discussion. Otherwise looked good.
766
+ Updates in 4/8 ("give headings") is reported to break formatting?
767
+ ($gmane/300030)
768
769
770
* ex/deprecate-empty-pathspec-as-match-all (2016-06-22) 1 commit
@@ -981,7 +824,6 @@ of the repositories listed at
824
- refs: rename struct ref_cache to files_ref_store
825
- rename_ref_available(): add docstring
826
- resolve_gitlink_ref(): eliminate temporary variable
984
- (this branch uses mh/ref-iterators and mh/split-under-lock; is tangled with mh/update-ref-errors.)
827
828
The ref-store abstraction was introduced to the refs API so that we
829
can plug in different backends to store references.
@@ -990,22 +832,6 @@ of the repositories listed at
832
($gmane/298137)
833
834
993
-* mh/update-ref-errors (2016-06-20) 6 commits
994
- (merged to 'next' on 2016-07-13 at 53482fa)
995
- + lock_ref_for_update(): avoid a symref resolution
996
- + lock_ref_for_update(): make error handling more uniform
997
- + t1404: add more tests of update-ref error handling
998
- + t1404: document function test_update_rejected
999
- + t1404: remove "prefix" argument to test_update_rejected
1000
- + t1404: rename file to t1404-update-ref-errors.sh
1001
- (this branch uses mh/split-under-lock; is tangled with mh/ref-iterators and mh/ref-store.)
1002
-
1003
- Error handling in the codepaths that updates refs has been
1004
- improved.
1005
-
1006
- Will merge to 'master'.
1007
-
1008
-
835
* jc/blame-reverse (2016-06-14) 2 commits
836
- blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
837
- blame: improve diagnosis for "--reverse NEW"
@@ -1078,29 +904,6 @@ of the repositories listed at
904
Needs to be redone.
905
906
1081
-* mh/ref-iterators (2016-06-20) 13 commits
1082
- (merged to 'next' on 2016-07-13 at a5b4e62)
1083
- + for_each_reflog(): reimplement using iterators
1084
- + dir_iterator: new API for iterating over a directory tree
1085
- + for_each_reflog(): don't abort for bad references
1086
- + do_for_each_ref(): reimplement using reference iteration
1087
- + refs: introduce an iterator interface
1088
- + ref_resolves_to_object(): new function
1089
- + entry_resolves_to_object(): rename function from ref_resolves_to_object()
1090
- + get_ref_cache(): only create an instance if there is a submodule
1091
- + remote rm: handle symbolic refs correctly
1092
- + delete_refs(): add a flags argument
1093
- + refs: use name "prefix" consistently
1094
- + do_for_each_ref(): move docstring to the header file
1095
- + refs: remove unnecessary "extern" keywords
1096
- (this branch is used by mh/ref-store; uses mh/split-under-lock; is tangled with mh/update-ref-errors.)
1097
-
1098
- The API to iterate over all the refs (i.e. for_each_ref(), etc.)
1099
- has been revamped.
1100
-
1101
- Will merge to 'master'.
1102
-
1103
-
907
* mh/connect (2016-06-06) 10 commits
908
- connect: [host:port] is legacy for ssh
909
- connect: move ssh command line preparation to a separate function
@@ -1213,49 +1016,6 @@ of the repositories listed at
1016
not thread-ready.
1017
1018
1216
-* mh/split-under-lock (2016-06-13) 33 commits
1217
- (merged to 'next' on 2016-07-13 at aa598af)
1218
- + lock_ref_sha1_basic(): only handle REF_NODEREF mode
1219
- + commit_ref_update(): remove the flags parameter
1220
- + lock_ref_for_update(): don't resolve symrefs
1221
- + lock_ref_for_update(): don't re-read non-symbolic references
1222
- + refs: resolve symbolic refs first
1223
- + ref_transaction_update(): check refname_is_safe() at a minimum
1224
- + unlock_ref(): move definition higher in the file
1225
- + lock_ref_for_update(): new function
1226
- + add_update(): initialize the whole ref_update
1227
- + verify_refname_available(): adjust constness in declaration
1228
- + refs: don't dereference on rename
1229
- + refs: allow log-only updates
1230
- + delete_branches(): use resolve_refdup()
1231
- + ref_transaction_commit(): correctly report close_ref() failure
1232
- + ref_transaction_create(): disallow recursive pruning
1233
- + refs: make error messages more consistent
1234
- + lock_ref_sha1_basic(): remove unneeded local variable
1235
- + read_raw_ref(): move docstring to header file
1236
- + read_raw_ref(): improve docstring
1237
- + read_raw_ref(): rename symref argument to referent
1238
- + read_raw_ref(): clear *type at start of function
1239
- + read_raw_ref(): rename flags argument to type
1240
- + ref_transaction_commit(): remove local variables n and updates
1241
- + rename_ref(): remove unneeded local variable
1242
- + commit_ref_update(): write error message to *err, not stderr
1243
- + refname_is_safe(): insist that the refname already be normalized
1244
- + refname_is_safe(): don't allow the empty string
1245
- + refname_is_safe(): use skip_prefix()
1246
- + remove_dir_recursively(): add docstring
1247
- + safe_create_leading_directories(): improve docstring
1248
- + read_raw_ref(): don't get confused by an empty directory
1249
- + commit_ref(): if there is an empty dir in the way, delete it
1250
- + t1404: demonstrate a bug resolving references
1251
- (this branch is used by mh/ref-iterators, mh/ref-store and mh/update-ref-errors.)
1252
-
1253
- Further preparatory work on the refs API before the pluggable
1254
- backend series can land.
1255
-
1256
- Will merge to 'master'.
1257
-
1258
-
1019
* kn/ref-filter-branch-list (2016-05-17) 17 commits
1020
- branch: implement '--format' option
1021
- branch: use ref-filter printing APIs
@@ -1353,10 +1113,8 @@ of the repositories listed at
1113
Pulled directly from upstream hence discarded.
1114
1115
1356
-* tb/convert-peek-in-index (2016-07-07) 3 commits
1116
+* tb/convert-peek-in-index (2016-07-07) 2 commits
1117
. correct ce_compare_data() in a middle of a merge
1118
. read-cache: factor out get_sha1_from_index() helper
1359
- + convert: unify the "auto" handling of CRLF
1360
- (this branch is tangled with jc/renormalize-merge-kill-safer-crlf.)
1119
1120
Discarded and replaced by jc/renormalize-merge-kill-safer-crlf