What's cooking (2016/04 #08)

Junio C Hamano committed Apr 29, 2016 at 15:03 UTC 712652b401dacf88d0f13419600c48da5341ad5e
1 file changed +383 -376
whats-cooking.txt
+383 -376
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Apr 2016, #07; Mon, 25)
4 -X-master-at: 3ad15fd5e17bbb73fb1161ff4e9c3ed254d5b243
5 -X-next-at: 47c30140aa02f0c43ba32e2926b716ce2e74b57d
3 +Subject: What's cooking in git.git (Apr 2016, #08; Fri, 29)
4 +X-master-at: bbc61680168542cf6fd3ae637bde395c73b76f0f
5 +X-next-at: 5ace31314f460db9aef2f1e2e1bd58016b1541f1
6
7 -What's cooking in git.git (Apr 2016, #07; Mon, 25)
7 +What's cooking in git.git (Apr 2016, #08; Fri, 29)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,7 +12,8 @@ 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 -The 'master' branch now has the fifth batch of topics of this cycle.
15 +The 'master' branch now has the eighths batch of topics of this
16 +cycle. On the 'maint' front, 2.8.2 is out.
17
18 There are a handful of topics that are stuck; they are marked as
19 "Needs review", "Needs an Ack", etc. in the following list.
@@ -25,291 +26,275 @@ of the repositories listed at
26 --------------------------------------------------
27 [Graduated to "master"]
28
28 -* ad/commit-have-m-option (2016-04-07) 2 commits
29 - (merged to 'next' on 2016-04-13 at 74088c2)
30 - + commit: do not ignore an empty message given by -m ''
31 - + commit: --amend -m '' silently fails to wipe message
29 +* da/user-useconfigonly (2016-04-01) 2 commits
30 + (merged to 'next' on 2016-04-22 at 26845a5)
31 + + ident: give "please tell me" message upon useConfigOnly error
32 + + ident: check for useConfigOnly before auto-detection of name/email
33
33 - "git commit" misbehaved in a few minor ways when an empty message
34 - is given via -m '', all of which has been corrected.
35 -
36 -
37 -* ad/cygwin-wants-rename (2015-08-07) 1 commit
38 - (merged to 'next' on 2016-04-19 at 1352ede)
39 - + config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
40 -
41 - On Cygwin, object creation uses the "create a temporary and then
42 - rename it to the final name" pattern, not "create a temporary,
43 - hardlink it to the final name and then unlink the temporary"
44 - pattern.
45 -
46 - This is necessary to use Git on Windows shared directories, and is
47 - already enabled for the MinGW and plain Windows builds. It also
48 - has been used in Cygwin packaged versions of Git for quite a while.
49 - See http://thread.gmane.org/gmane.comp.version-control.git/291853
50 - ($gmane/275680, $gmane/291853).
51 -
52 -
53 -* dt/pre-refs-backend (2016-04-10) 24 commits
54 - (merged to 'next' on 2016-04-13 at 0a8f9dd)
55 - + refs: on symref reflog expire, lock symref not referrent
56 - + refs: move resolve_ref_unsafe into common code
57 - + show_head_ref(): check the result of resolve_ref_namespace()
58 - + check_aliased_update(): check that dst_name is non-NULL
59 - + checkout_paths(): remove unneeded flag variable
60 - + cmd_merge(): remove unneeded flag variable
61 - + fsck_head_link(): remove unneeded flag variable
62 - + read_raw_ref(): change flags parameter to unsigned int
63 - + files-backend: inline resolve_ref_1() into resolve_ref_unsafe()
64 - + read_raw_ref(): manage own scratch space
65 - + files-backend: break out ref reading
66 - + resolve_ref_1(): eliminate local variable "bad_name"
67 - + resolve_ref_1(): reorder code
68 - + resolve_ref_1(): eliminate local variable
69 - + resolve_ref_unsafe(): ensure flags is always set
70 - + resolve_ref_unsafe(): use for loop to count up to MAXDEPTH
71 - + resolve_missing_loose_ref(): simplify semantics
72 - + t1430: improve test coverage of deletion of badly-named refs
73 - + t1430: test for-each-ref in the presence of badly-named refs
74 - + t1430: don't rely on symbolic-ref for creating broken symrefs
75 - + t1430: clean up broken refs/tags/shadow
76 - + t1430: test the output and error of some commands more carefully
77 - + refs: move for_each_*ref* functions into common code
78 - + refs: move head_ref{,_submodule} to the common code
79 -
80 - Code restructuring around the "refs" area to prepare for pluggable
81 - refs backends.
82 -
83 -
84 -* en/merge-octopus-fix (2016-04-12) 2 commits
85 - (merged to 'next' on 2016-04-13 at 600b479)
86 - + merge-octopus: abort if index does not match HEAD
87 - + t6044: new merge testcases for when index doesn't match HEAD
88 -
89 - "merge-octopus" strategy did not ensure that the index is clean
90 - when merge begins.
91 -
92 -
93 -* en/merge-trivial-fix (2016-04-12) 2 commits
94 - (merged to 'next' on 2016-04-13 at fb3ea86)
95 - + builtin/merge.c: fix a bug with trivial merges
96 - + t7605: add a testcase demonstrating a bug with trivial merges
97 -
98 - When "git merge" notices that the merge can be resolved purely at
99 - the tree level (without having to merge blobs) and the resulting
100 - tree happens to already exist in the object store, it forgot to
101 - update the index, which lead to an inconsistent state for later
102 - operations.
103 -
104 -
105 -* ew/send-email-drop-data-dumper (2016-04-06) 1 commit
106 - (merged to 'next' on 2016-04-13 at 180266c)
107 - + send-email: do not load Data::Dumper
108 -
109 - Code clean-up.
110 -
111 -
112 -* ew/send-email-readable-message-id (2016-04-06) 1 commit
113 - (merged to 'next' on 2016-04-13 at 422959a)
114 - + send-email: more meaningful Message-ID
115 -
116 - "git send-email" now uses a more readable timestamps when
117 - formulating a message ID.
118 -
119 -
120 -* jc/http-socks5h (2016-04-10) 1 commit
121 - (merged to 'next' on 2016-04-13 at eb27afc)
122 - + http: differentiate socks5:// and socks5h://
123 -
124 - The socks5:// proxy support added back in 2.6.4 days was not aware
125 - that socks5h:// proxies behave differently.
126 -
127 -
128 -* jc/rerere-multi (2016-04-06) 11 commits
129 - (merged to 'next' on 2016-04-13 at 3db2753)
130 - + rerere: adjust 'forget' to multi-variant world order
131 - + rerere: split code to call ll_merge() further
132 - + rerere: move code related to "forget" together
133 - + rerere: gc and clear
134 - + rerere: do use multiple variants
135 - + t4200: rerere a merge with two identical conflicts
136 - + rerere: allow multiple variants to exist
137 - + rerere: delay the recording of preimage
138 - + rerere: handle leftover rr-cache/$ID directory and postimage files
139 - + rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id
140 - + rerere: split conflict ID further
141 -
142 - "git rerere" can encounter two or more files with the same conflict
143 - signature that have to be resolved in different ways, but there was
144 - no way to record these separate resolutions.
145 -
146 -
147 -* jc/xstrfmt-null-with-prec-0 (2016-04-07) 1 commit
148 - (merged to 'next' on 2016-04-13 at 2457462)
149 - + setup.c: do not feed NULL to "%.*s" even with precision 0
34 + The "user.useConfigOnly" configuration variable makes it an error
35 + if users do not explicitly set user.name and user.email. However,
36 + its check was not done early enough and allowed another error to
37 + trigger, reporting that the default value we guessed from the
38 + system setting was unusable. This was a suboptimal end-user
39 + experience as we want the users to set user.name/user.email without
40 + relying on the auto-detection at all.
41
151 - Code cleanup.
42
43 +* jc/merge-refuse-new-root (2016-04-21) 2 commits
44 + (merged to 'next' on 2016-04-22 at 74eb957)
45 + + pull: pass --allow-unrelated-histories to "git merge"
46 + + t3033: avoid 'ambiguous refs' warning
47 +
48 + "git pull" has been taught to pass --allow-unrelated-histories
49 + option to underlying "git merge".
50
154 -* jk/do-not-printf-NULL (2016-04-10) 3 commits
155 - (merged to 'next' on 2016-04-13 at 60912e3)
156 - + git_config_set_multivar_in_file: handle "unset" errors
157 - + git_config_set_multivar_in_file: all non-zero returns are errors
158 - + config: lower-case first word of error strings
51
160 - "git config" had a codepath that tried to pass a NULL to
161 - printf("%s"), which nobody seems to have noticed.
52 +* jk/push-client-deadlock-fix (2016-04-20) 5 commits
53 + (merged to 'next' on 2016-04-22 at d59a2af)
54 + + t5504: drop sigpipe=ok from push tests
55 + + fetch-pack: isolate sigpipe in demuxer thread
56 + + send-pack: isolate sigpipe in demuxer thread
57 + + run-command: teach async threads to ignore SIGPIPE
58 + + send-pack: close demux pipe before finishing async process
59 +
60 + "git push" from a corrupt repository that attempts to push a large
61 + number of refs deadlocked; the thread to relay rejection notices
62 + for these ref updates blocked on writing them to the main thread,
63 + after the main thread at the receiving end notices that the push
64 + failed and decides not to read these notices and return a failure.
65
66
164 -* jk/use-write-script-more (2016-04-12) 3 commits
165 - (merged to 'next' on 2016-04-13 at d6718bf)
166 - + t3404: use write_script
167 - + t1020: do not overuse printf and use write_script
168 - + t5532: use write_script
67 +* js/replace-edit-use-editor-configuration (2016-04-20) 1 commit
68 + (merged to 'next' on 2016-04-22 at 8df6d30)
69 + + replace --edit: respect core.editor
70
170 - Code clean-up.
71 + "git replace -e" did not honour "core.editor" configuration.
72
73
173 -* ky/imap-send (2016-04-13) 2 commits
174 - (merged to 'next' on 2016-04-13 at 52cf493)
175 - + imap-send: fix CRAM-MD5 response calculation
176 - + imap-send: check for NOLOGIN capability only when using LOGIN command
74 +* js/win32-mmap (2016-04-22) 3 commits
75 + (merged to 'next' on 2016-04-22 at cd39c60)
76 + + mmap(win32): avoid expensive fstat() call
77 + + mmap(win32): avoid copy-on-write when it is unnecessary
78 + + win32mmap: set errno appropriately
79
178 - Support for CRAM-MD5 authentication method in "git imap-send" did
179 - not work well.
80 + mmap emulation on Windows has been optimized and work better without
81 + consuming paging store when not needed.
82
83
182 -* ky/imap-send-openssl-1.1.0 (2016-04-08) 4 commits
183 - (merged to 'next' on 2016-04-13 at 49d2643)
184 - + configure: remove checking for HMAC_CTX_cleanup
185 - + imap-send: avoid deprecated TLSv1_method()
186 - + imap-send: check NULL return of SSL_CTX_new()
187 - + imap-send: use HMAC() function provided by OpenSSL
84 +* nd/test-helpers (2016-04-15) 2 commits
85 + (merged to 'next' on 2016-04-22 at 55ea5cd)
86 + + test helpers: move test-* to t/helper/ subdirectory
87 + + Makefile: clean *.o files we create
88
189 - Upcoming OpenSSL 1.1.0 will break compilation b updating a few APIs
190 - we use in imap-send, which has been adjusted for the change.
89 + Sources to many test helper binaries (and the generated helpers)
90 + have been moved to t/helper/ subdirectory to reduce clutter at the
91 + top level of the tree.
92
93
193 -* sb/submodule-helper-clone-regression-fix (2016-04-01) 6 commits
194 - (merged to 'next' on 2016-04-13 at c6584bb)
195 - + submodule--helper, module_clone: catch fprintf failure
196 - + submodule--helper: do not borrow absolute_path() result for too long
197 - + submodule--helper, module_clone: always operate on absolute paths
198 - + submodule--helper clone: create the submodule path just once
199 - + submodule--helper: fix potential NULL-dereference
200 - + recursive submodules: test for relative paths
201 - (this branch is used by sb/submodule-init.)
94 +* sb/mv-submodule-fix (2016-04-19) 1 commit
95 + (merged to 'next' on 2016-04-22 at 089e788)
96 + + mv: allow moving nested submodules
97
203 - A partial rewrite of "git submodule" in the 2.7 timeframe changed
204 - the way the gitdir: pointer in the submodules point at the real
205 - repository location to use absolute paths by accident. This has
206 - been corrected.
98 + "git mv old new" did not adjust the path for a submodule that lives
99 + as a subdirectory inside old/ directory correctly.
100
101
209 -* sb/submodule-path-misc-bugs (2016-03-30) 6 commits
210 - (merged to 'next' on 2016-04-18 at 9daa5ce)
211 - + t7407: make expectation as clear as possible
212 - + submodule update: test recursive path reporting from subdirectory
213 - + submodule update: align reporting path for custom command execution
214 - + submodule status: correct path handling in recursive submodules
215 - + submodule update --init: correct path handling in recursive submodules
216 - + submodule foreach: correct path display in recursive submodules
217 - (this branch is used by sb/submodule-init.)
102 +* st/verify-tag (2016-04-22) 6 commits
103 + (merged to 'next' on 2016-04-22 at 98ba239)
104 + + tag -v: verify directly rather than exec-ing verify-tag
105 + + verify-tag: move tag verification code to tag.c
106 + + verify-tag: prepare verify_tag for libification
107 + + verify-tag: update variable name and type
108 + + t7030: test verifying multiple tags
109 + + builtin/verify-tag.c: ignore SIGPIPE in gpg-interface
110
219 - "git submodule" reports the paths of submodules the command
220 - recurses into, but this was incorrect when the command was not run
221 - from the root level of the superproject.
111 + Unify internal logic between "git tag -v" and "git verify-tag"
112 + commands by making one directly call into the other.
113
114 --------------------------------------------------
115 [New Topics]
116
226 -* js/name-rev-use-oldest-ref (2016-04-22) 1 commit
227 - - name-rev: include taggerdate in considering the best name
117 +* ab/hooks (2016-04-26) 4 commits
118 + - hooks: allow customizing where the hook directory is
119 + - githooks.txt: minor improvements to the grammar & phrasing
120 + - githooks.txt: amend dangerous advice about 'update' hook ACL
121 + - githooks.txt: improve the intro section
122
229 - "git describe --contains" often made a hard-to-justify choice of
230 - tag to give name to a given commit, because it tried to come up
231 - with a name with smallest number of hops from a tag, causing an old
232 - commit whose close descendant that is recently tagged were not
233 - described with respect to an old tag but with a newer tag. It did
234 - not help that its computation of "hop" count was further tweaked to
235 - penalize being on a side branch of a merge. The logic has been
236 - updated to favor using the tag with the oldest tagger date, which
237 - is a lot easier to explain to the end users: "We describe a commit
238 - in terms of the (chronologically) oldest tag that contains the
239 - commit."
123 + A new configuration variable core.hooksPath allows customizing
124 + where the hook directory is.
125
241 - Will merge to 'next'.
126 + Almost there.
127 + ($gmane/292635)
128
129
244 -* js/win32-mmap (2016-04-22) 3 commits
245 - (merged to 'next' on 2016-04-22 at cd39c60)
246 - + mmap(win32): avoid expensive fstat() call
247 - + mmap(win32): avoid copy-on-write when it is unnecessary
248 - + win32mmap: set errno appropriately
130 +* jc/merge-impossible-no-commit (2016-04-26) 2 commits
131 + - merge: warn --no-commit merge when no new commit is created
132 + - merge: do not contaminate option_commit with --squash
133
250 - mmap emulation on Windows has been optimized.
134 + "git merge --no-commit" silently succeeded when there is no need to
135 + create any commit, either when you are more recent than the commit
136 + you tried to merge, or you can fast-forward to the commit you tried
137 + to merge. The command gives a warning message in such cases.
138
252 - Will merge to 'master'.
139 + Just tying loose ends in a discussion. Unless somebody else
140 + champions this topic, I'll drop it.
141
142
255 -* nd/remove-unused (2016-04-22) 2 commits
256 - - wrapper.c: delete dead function git_mkstemps()
257 - - dir.c: remove dead function fnmatch_icase()
143 +* jk/fix-attribute-macro-in-2.5 (2016-04-25) 1 commit
144 + (merged to 'next' on 2016-04-27 at 2e42613)
145 + + remote.c: spell __attribute__ correctly
146
259 - Code cleanup.
147 + Code fixup.
148
261 - Will merge to 'next'.
149 + Will merge to 'master'.
150
151
264 -* rt/string-list-lookup-cleanup (2016-04-25) 1 commit
265 - - string_list: use string-list API in unsorted_string_list_lookup()
152 +* js/http-custom-headers (2016-04-27) 1 commit
153 + (merged to 'next' on 2016-04-27 at 0c97a50)
154 + + http: support sending custom HTTP headers
155
267 - Code cleanup.
156 + HTTP transport clients learned to throw extra HTTP headers at the
157 + server, specified via http.extraHeader configuration variable.
158
269 - Will merge to 'next'.
159 + Will merge to 'master'.
160
161
272 -* sg/test-lib-simplify-expr-away (2016-04-22) 1 commit
273 - - test-lib: simplify '--option=value' parsing
162 +* sb/bisect (2016-04-15) 22 commits
163 + - SQUASH???
164 + - bisect: get back halfway shortcut
165 + - bisect: compute best bisection in compute_relevant_weights()
166 + - bisect: use a bottom-up traversal to find relevant weights
167 + - bisect: prepare for different algorithms based on find_all
168 + - bisect: rename count_distance() to compute_weight()
169 + - bisect: make total number of commits global
170 + - bisect: introduce distance_direction()
171 + - bisect: extract get_distance() function from code duplication
172 + - bisect: use commit instead of commit list as arguments when appropriate
173 + - bisect: replace clear_distance() by unique markers
174 + - bisect: use struct node_data array instead of int array
175 + - bisect: get rid of recursion in count_distance()
176 + - bisect: make algorithm behavior independent of DEBUG_BISECT
177 + - bisect: make bisect compile if DEBUG_BISECT is set
178 + - bisect: plug the biggest memory leak
179 + - bisect: add test for the bisect algorithm
180 + - t6030: generalize test to not rely on current implementation
181 + - t: use test_cmp_rev() where appropriate
182 + - t/test-lib-functions.sh: generalize test_cmp_rev
183 + - bisect: allow 'bisect run' if no good commit is known
184 + - bisect: write about `bisect next` in documentation
185 +
186 + The internal algorithm used in "git bisect" to find the next commit
187 + to check has been optimized greatly.
188 +
189 + Expecting a reroll.
190 + ($gmane/291163)
191 +
192 +
193 +* sb/config-exit-status-list (2016-04-26) 1 commit
194 + (merged to 'next' on 2016-04-27 at 44fe343)
195 + + config doc: improve exit code listing
196 +
197 + Doc update.
198 +
199 + Will merge to 'master'.
200
275 - Code cleanup.
201 +
202 +* mh/split-under-lock (2016-04-27) 29 commits
203 + - lock_ref_sha1_basic(): only handle REF_NODEREF mode
204 + - commit_ref_update(): remove the flags parameter
205 + - lock_ref_for_update(): don't resolve symrefs
206 + - lock_ref_for_update(): don't re-read non-symbolic references
207 + - refs: resolve symbolic refs first
208 + - ref_transaction_update(): check refname_is_safe() at a minimum
209 + - unlock_ref(): move definition higher in the file
210 + - lock_ref_for_update(): new function
211 + - add_update(): initialize the whole ref_update
212 + - verify_refname_available(): adjust constness in declaration
213 + - refs: don't dereference on rename
214 + - refs: allow log-only updates
215 + - delete_branches(): use resolve_refdup()
216 + - ref_transaction_commit(): correctly report close_ref() failure
217 + - ref_transaction_create(): disallow recursive pruning
218 + - refs: make error messages more consistent
219 + - lock_ref_sha1_basic(): remove unneeded local variable
220 + - read_raw_ref(): improve docstring
221 + - read_raw_ref(): rename symref argument to referent
222 + - read_raw_ref(): clear *type at start of function
223 + - read_raw_ref(): rename flags argument to type
224 + - ref_transaction_commit(): remove local variable n
225 + - rename_ref(): remove unneeded local variable
226 + - commit_ref_update(): write error message to *err, not stderr
227 + - refname_is_safe(): insist that the refname already be normalized
228 + - refname_is_safe(): don't allow the empty string
229 + - refname_is_safe(): use skip_prefix()
230 + - remove_dir_recursively(): add docstring
231 + - safe_create_leading_directories(): improve docstring
232 +
233 + Further preparatory work on the refs API before the pluggable
234 + backend series can land.
235 +
236 + Almost there.
237 + ($gmane/292772)
238 +
239 +
240 +* bn/http-cookiefile-config (2016-04-29) 2 commits
241 + - http: expand http.cookieFile as a path
242 + - Documentation: config: improve word ordering for http.cookieFile
243 + (this branch uses jc/config-pathname-type.)
244 +
245 + "http.cookieFile" configuration variable clearly wants a pathname,
246 + but we forgot to treat it as such by e.g. applying tilde expansion.
247 +
248 + Waiting for an Ack to what's queued with tweaks, or a reroll.
249 + ($gmane/292969)
250 +
251 +
252 +* ew/doc-split-pack-disables-bitmap (2016-04-28) 1 commit
253 + - pack-objects: warn on split packs disabling bitmaps
254 +
255 + Doc update.
256
257 Will merge to 'next'.
258
259
280 -* ew/fast-import-unpack-limit (2016-04-24) 1 commit
281 - - fast-import: implement unpack limit
260 +* jc/config-pathname-type (2016-04-29) 1 commit
261 + - config: describe 'pathname' value type
262 + (this branch is used by bn/http-cookiefile-config.)
263
283 - "git fast-import" learned the same performance trick to avoid
284 - creating too small a packfile as "git fetch" and "git push" have,
285 - using *.unpackLimit configuration.
264 + Consolidate description of tilde-expansion that is done to
265 + configuration variables that take pathname to a single place.
266
287 - Need to pick up the rerolled version.
288 - ($gmane/292562)
267 + Will merge to 'next'.
268
269
291 -* jd/send-email-to-whom (2016-04-25) 1 commit
292 - - send-email: fix grammo in the prompt that asks e-mail recipients
270 +* jk/submodule-config-sanitize-fix (2016-04-28) 5 commits
271 + - submodule: use prepare_submodule_repo_env consistently
272 + - submodule--helper: move config-sanitizing to submodule.c
273 + - submodule: export sanitized GIT_CONFIG_PARAMETERS
274 + - t5550: break submodule config test into multiple sub-tests
275 + - t5550: fix typo in $HTTPD_URL
276
294 - A question by "git send-email" to ask the identity of the sender
295 - has been updated.
277 + An earlier addition of "sanitize_submodule_env" with 14111fc4 (git:
278 + submodule honor -c credential.* from command line, 2016-02-29)
279 + turned out to be a convoluted no-op; implement what it wanted to do
280 + correctly.
281
297 - Will merge to 'next'.
282 + With a rethink of the merit of "sanitization" going on, we may end
283 + up doing the configuration propagation very differently, though.
284
285 + Will hold.
286
300 -* ld/p4-test-py3 (2016-04-25) 2 commits
301 - - git-p4 tests: work with python3 as well as python2
302 - - git-p4 tests: cd to testdir before running python
287
304 - The test scripts for "git p4" (but not "git p4" implementation
305 - itself) has been updated so that they would work even on a system
306 - where the installed version of Python is python 3.
288 +* mh/connect-leak (2016-04-28) 1 commit
289 + - git_connect(): fix memory leak with CONNECT_DIAG_URL
290
291 + Is already made obsolete with a patch in flight under discussion.
292 + ($gmane/292962)
293
309 -* ls/p4-lfs-test-fix-2.7.0 (2016-04-24) 1 commit
310 - - t9824: fix broken &&-chain in a subshell
294
312 - Fix a broken test.
295 +* sb/misc-cleanups (2016-04-28) 2 commits
296 + - submodule-config: don't shadow `cache`
297 + - config.c: drop local variable
298
299 Will merge to 'next'.
300
@@ -506,69 +491,130 @@ of the repositories listed at
491 --------------------------------------------------
492 [Cooking]
493
509 -* sb/clone-shallow-passthru (2016-04-25) 1 commit
510 - - clone: add `--shallow-submodules` flag
494 +* js/name-rev-use-oldest-ref (2016-04-22) 1 commit
495 + (merged to 'next' on 2016-04-27 at 8fdc0ac)
496 + + name-rev: include taggerdate in considering the best name
497
512 - "git clone" learned "--shallow-submodules" option.
498 + "git describe --contains" often made a hard-to-justify choice of
499 + tag to give name to a given commit, because it tried to come up
500 + with a name with smallest number of hops from a tag, causing an old
501 + commit whose close descendant that is recently tagged were not
502 + described with respect to an old tag but with a newer tag. It did
503 + not help that its computation of "hop" count was further tweaked to
504 + penalize being on a side branch of a merge. The logic has been
505 + updated to favor using the tag with the oldest tagger date, which
506 + is a lot easier to explain to the end users: "We describe a commit
507 + in terms of the (chronologically) oldest tag that contains the
508 + commit."
509
514 - Modulo minor nits, looked ready.
515 - ($gmane/292539)
510 + Will merge to 'master'.
511
512
518 -* da/user-useconfigonly (2016-04-01) 2 commits
519 - (merged to 'next' on 2016-04-22 at 26845a5)
520 - + ident: give "please tell me" message upon useConfigOnly error
521 - + ident: check for useConfigOnly before auto-detection of name/email
513 +* nd/remove-unused (2016-04-22) 2 commits
514 + (merged to 'next' on 2016-04-27 at 7917efa)
515 + + wrapper.c: delete dead function git_mkstemps()
516 + + dir.c: remove dead function fnmatch_icase()
517
523 - The "user.useConfigOnly" configuration variable makes it an error
524 - if users do not explicitly set user.name and user.email. However,
525 - its check was not done early enough and allowed another error to
526 - trigger, reporting that the default value we guessed from the
527 - system setting was unusable. This was a suboptimal end-user
528 - experience as we want the users to set user.name/user.email without
529 - relying on the auto-detection at all.
518 + Code cleanup.
519
520 Will merge to 'master'.
521
522
534 -* jd/p4-jobs-in-commit (2016-04-19) 2 commits
535 - - git-p4: add P4 jobs to git commit message
536 - - git-p4: clean-up code style in tests
523 +* rt/string-list-lookup-cleanup (2016-04-25) 1 commit
524 + (merged to 'next' on 2016-04-27 at 53514e1)
525 + + string_list: use string-list API in unsorted_string_list_lookup()
526
538 - "git p4" learned to record P4 jobs in Git commit that imports from
539 - the history in Perforce.
527 + Code cleanup.
528
541 - Will merge to 'next'.
529 + Will merge to 'master'.
530
531
544 -* js/replace-edit-use-editor-configuration (2016-04-20) 1 commit
545 - (merged to 'next' on 2016-04-22 at 8df6d30)
546 - + replace --edit: respect core.editor
532 +* sg/test-lib-simplify-expr-away (2016-04-22) 1 commit
533 + (merged to 'next' on 2016-04-27 at 8f40952)
534 + + test-lib: simplify '--option=value' parsing
535
548 - "git replace -e" did not honour "core.editor" configuration.
536 + Code cleanup.
537
538 Will merge to 'master'.
539
540
553 -* ls/p4-lfs (2016-04-19) 2 commits
554 - - git-p4: fix Git LFS pointer parsing
555 - - travis-ci: update Git-LFS and P4 to the latest version
541 +* ew/fast-import-unpack-limit (2016-04-24) 1 commit
542 + - fast-import: implement unpack limit
543
557 - Recent update to Git LFS broke "git p4" by changing the output from
558 - its "lfs pointer" subcommand.
544 + "git fast-import" learned the same performance trick to avoid
545 + creating too small a packfile as "git fetch" and "git push" have,
546 + using *.unpackLimit configuration.
547
548 + Need to pick up the rerolled version.
549 + ($gmane/292562)
550
561 -* sb/mv-submodule-fix (2016-04-19) 1 commit
562 - (merged to 'next' on 2016-04-22 at 089e788)
563 - + mv: allow moving nested submodules
551
565 - "git mv old new" did not adjust the path for a submodule that lives
566 - as a subdirectory inside old/ directory correctly.
552 +* jd/send-email-to-whom (2016-04-25) 1 commit
553 + (merged to 'next' on 2016-04-27 at 47ae363)
554 + + send-email: fix grammo in the prompt that asks e-mail recipients
555 +
556 + A question by "git send-email" to ask the identity of the sender
557 + has been updated.
558 +
559 + Will merge to 'master'.
560 +
561 +
562 +* ld/p4-test-py3 (2016-04-26) 3 commits
563 + (merged to 'next' on 2016-04-27 at d5d5fca)
564 + + git-p4 tests: time_in_seconds should use $PYTHON_PATH
565 + + git-p4 tests: work with python3 as well as python2
566 + + git-p4 tests: cd to / before running python
567 +
568 + The test scripts for "git p4" (but not "git p4" implementation
569 + itself) has been updated so that they would work even on a system
570 + where the installed version of Python is python 3.
571 +
572 + Will merge to 'master'.
573 +
574 +
575 +* ls/p4-lfs-test-fix-2.7.0 (2016-04-29) 2 commits
576 + (merged to 'next' on 2016-04-29 at da56b67)
577 + + t9824: fix wrong reference value
578 + (merged to 'next' on 2016-04-27 at be87c63)
579 + + t9824: fix broken &&-chain in a subshell
580 +
581 + Fix a broken test.
582 +
583 + Will merge to 'master'.
584 +
585 +
586 +* sb/clone-shallow-passthru (2016-04-26) 1 commit
587 + (merged to 'next' on 2016-04-27 at 3112b24)
588 + + clone: add `--shallow-submodules` flag
589 +
590 + "git clone" learned "--shallow-submodules" option.
591
592 Will merge to 'master'.
593
594
571 -* tb/convert-eol-autocrlf (2016-04-25) 10 commits
595 +* jd/p4-jobs-in-commit (2016-04-19) 2 commits
596 + (merged to 'next' on 2016-04-27 at 654d946)
597 + + git-p4: add P4 jobs to git commit message
598 + + git-p4: clean-up code style in tests
599 +
600 + "git p4" learned to record P4 jobs in Git commit that imports from
601 + the history in Perforce.
602 +
603 + Will merge to 'master'.
604 +
605 +
606 +* ls/p4-lfs (2016-04-28) 3 commits
607 + - git-p4: fix Git LFS pointer parsing
608 + - travis-ci: express Linux/OS X dependency versions more clearly
609 + - travis-ci: update Git-LFS and P4 to the latest version
610 +
611 + Recent update to Git LFS broke "git p4" by changing the output from
612 + its "lfs pointer" subcommand.
613 +
614 + Will merge to 'next'.
615 +
616 +
617 +* tb/convert-eol-autocrlf (2016-04-29) 10 commits
618 - ce_compare_data() did not respect conversion
619 - t6038; use crlf on all platforms
620 - convert.c: more safer crlf handling with text attribute
@@ -587,24 +633,26 @@ of the repositories listed at
633 refrains from applying eol conversion if it found the path is not
634 text. Also setting core.autocrlf to 'input' and core.eol to 'crlf'
635 used to be rejected, but because the code gives precedence to
590 - core.autcrlf, there is no need to, hence we no longer reject the
636 + core.autocrlf, there is no need to, hence we no longer reject the
637 combination.
638
593 - Modulo minor nits, looked almost ready.
594 - ($gmane/292521, $gmane/292550)
639 + The last step seems to be identical to what I earlier did and
640 + discarded because the approach is fundamentally wrong, but I may be
641 + misreading the patch.
642
643
644 * bc/object-id (2016-04-25) 6 commits
598 - - match-trees: convert several leaf functions to use struct object_id
599 - - tree-walk: convert tree_entry_extract() to use struct object_id
600 - - struct name_entry: use struct object_id instead of unsigned char sha1[20]
601 - - match-trees: convert shift_tree() and shift_tree_by() to use object_id
602 - - test-match-trees: convert to use struct object_id
603 - - sha1-name: introduce a get_oid() function
645 + (merged to 'next' on 2016-04-29 at 02f13a4)
646 + + match-trees: convert several leaf functions to use struct object_id
647 + + tree-walk: convert tree_entry_extract() to use struct object_id
648 + + struct name_entry: use struct object_id instead of unsigned char sha1[20]
649 + + match-trees: convert shift_tree() and shift_tree_by() to use object_id
650 + + test-match-trees: convert to use struct object_id
651 + + sha1-name: introduce a get_oid() function
652
653 Move from unsigned char[20] to struct object_id continues.
654
607 - Will merge to 'next'.
655 + Will merge to 'master'.
656
657
658 * ep/http-curl-trace (2016-04-20) 3 commits
@@ -643,40 +691,13 @@ of the repositories listed at
691
692
693 * bw/rebase-merge-entire-branch (2016-04-24) 1 commit
646 - - git-rebase--merge: don't include absent parent as a base
694 + (merged to 'next' on 2016-04-29 at 7a9487f)
695 + + git-rebase--merge: don't include absent parent as a base
696
697 "git rebase -m" could be asked to rebase an entire branch starting
698 from the root, but failed by assuming that there always is a parent
699 commit to the first commit on the branch.
700
652 - Will merge to 'next'.
653 -
654 -
655 -* jk/push-client-deadlock-fix (2016-04-20) 5 commits
656 - (merged to 'next' on 2016-04-22 at d59a2af)
657 - + t5504: drop sigpipe=ok from push tests
658 - + fetch-pack: isolate sigpipe in demuxer thread
659 - + send-pack: isolate sigpipe in demuxer thread
660 - + run-command: teach async threads to ignore SIGPIPE
661 - + send-pack: close demux pipe before finishing async process
662 -
663 - "git push" from a corrupt repository that attempts to push a large
664 - number of refs deadlocked; the thread to relay rejection notices
665 - for these ref updates blocked on writing them to the main thread,
666 - after the main thread at the receiving end notices that the push
667 - failed and decides not to read these notices and return a failure.
668 -
669 - Will merge to 'master'.
670 -
671 -
672 -* jc/merge-refuse-new-root (2016-04-21) 2 commits
673 - (merged to 'next' on 2016-04-22 at 74eb957)
674 - + pull: pass --allow-unrelated-histories to "git merge"
675 - + t3033: avoid 'ambiguous refs' warning
676 -
677 - "git pull" has been taught to pass --allow-unrelated-histories
678 - option to underlying "git merge".
679 -
701 Will merge to 'master'.
702
703
@@ -697,13 +718,14 @@ of the repositories listed at
718
719
720 * en/merge-fixes (2016-04-12) 2 commits
700 - - merge-recursive: do not check working copy when creating a virtual merge base
701 - - merge-recursive: remove duplicate code
721 + (merged to 'next' on 2016-04-27 at 14d7d10)
722 + + merge-recursive: do not check working copy when creating a virtual merge base
723 + + merge-recursive: remove duplicate code
724
725 "merge-recursive" strategy incorrectly checked if a path that is
726 involved in its internal merge exists in the working tree.
727
706 - Will merge to 'next'.
728 + Will merge to 'master'.
729
730
731 * jc/fsck-nul-in-commit (2016-04-14) 2 commits
@@ -714,7 +736,8 @@ of the repositories listed at
736 potential error and warn.
737
738
717 -* jc/ll-merge-internal (2016-04-14) 2 commits
739 +* jc/ll-merge-internal (2016-04-27) 3 commits
740 + - t6036: remove pointless test that expects failure
741 - ll-merge: use a longer conflict marker for internal merge
742 - ll-merge: fix typo in comment
743
@@ -730,30 +753,22 @@ of the repositories listed at
753 more readable by using a blank line as a strong hint that the
754 contents before and after it belong to a logically separate unit.
755
733 - Will merge to 'master'.
756 + Will merge to 'master' after removing the experimentation knob.
757
758
736 -* nd/test-helpers (2016-04-15) 2 commits
737 - (merged to 'next' on 2016-04-22 at 55ea5cd)
738 - + test helpers: move test-* to t/helper/ subdirectory
739 - + Makefile: clean *.o files we create
740 -
741 - Sources to many test helper binaries (and the generated helpers)
742 - have been moved to t/helper/ subdirectory to reduce clutter at the
743 - top level of the tree.
744 -
745 - Will merge to 'master'.
746 -
747 -
748 -* sb/submodule-init (2016-04-16) 4 commits
749 - - submodule: port init from shell to C
750 - - submodule: port resolve_relative_url from shell to C
751 - - Merge branch 'sb/submodule-path-misc-bugs' into sb/submodule-init
752 - - Merge branch 'sb/submodule-helper-clone-regression-fix' into sb/submodule-init
759 +* sb/submodule-init (2016-04-29) 6 commits
760 + (merged to 'next' on 2016-04-29 at 3e81ee88)
761 + + submodule--helper update-clone: abort gracefully on missing .gitmodules
762 + + submodule init: fail gracefully with a missing .gitmodules file
763 + (merged to 'next' on 2016-04-27 at afaad81)
764 + + submodule: port init from shell to C
765 + + submodule: port resolve_relative_url from shell to C
766 + + Merge branch 'sb/submodule-path-misc-bugs' into sb/submodule-init
767 + + Merge branch 'sb/submodule-helper-clone-regression-fix' into sb/submodule-init
768
769 Update of "git submodule" to move pieces of logic to C continues.
770
756 - Will merge to 'next'.
771 + Will cook for a bit more in 'next'.
772
773
774 * jc/send-email-skip-backup (2016-04-12) 1 commit
@@ -769,11 +784,12 @@ of the repositories listed at
784
785
786 * nf/mergetool-prompt (2016-04-25) 1 commit
772 - - difftool/mergetool: make the form of yes/no questions consistent
787 + (merged to 'next' on 2016-04-27 at 1c992df)
788 + + difftool/mergetool: make the form of yes/no questions consistent
789
790 UI consistency improvements.
791
776 - Will merge to 'next'.
792 + Will merge to 'master'.
793
794
795 * va/i18n-misc-updates (2016-04-19) 9 commits
@@ -792,7 +808,9 @@ of the repositories listed at
808 Comments? They looked all sensible to me.
809
810
795 -* jc/drop-git-spec-in (2016-04-06) 1 commit
811 +* jc/drop-git-spec-in (2016-04-27) 2 commits
812 + (merged to 'next' on 2016-04-27 at 2b85030)
813 + + Makefile: remove dependency on git.spec
814 (merged to 'next' on 2016-04-22 at 531583f)
815 + Makefile: stop pretending to support rpmbuild
816
@@ -802,21 +820,6 @@ of the repositories listed at
820 Will merge to 'master'.
821
822
805 -* st/verify-tag (2016-04-22) 6 commits
806 - (merged to 'next' on 2016-04-22 at 98ba239)
807 - + tag -v: verify directly rather than exec-ing verify-tag
808 - + verify-tag: move tag verification code to tag.c
809 - + verify-tag: prepare verify_tag for libification
810 - + verify-tag: update variable name and type
811 - + t7030: test verifying multiple tags
812 - + builtin/verify-tag.c: ignore SIGPIPE in gpg-interface
813 -
814 - Unify internal logic between "git tag -v" and "git verify-tag"
815 - commands by making one directly call into the other.
816 -
817 - Will merge to 'master'.
818 -
819 -
823 * kn/ref-filter-branch-list (2016-04-25) 17 commits
824 - branch: implement '--format' option
825 - branch: use ref-filter printing APIs
@@ -842,39 +845,43 @@ of the repositories listed at
845 Needs review.
846
847
845 -* xy/format-patch-base (2016-04-22) 4 commits
846 - . format-patch: introduce format.useAutoBase configuration
847 - . format-patch: introduce --base=auto option
848 - . format-patch: add '--base' option to record base tree info
849 - . patch-ids: make commit_patch_id() a public helper function
848 +* xy/format-patch-base (2016-04-26) 4 commits
849 + - format-patch: introduce format.useAutoBase configuration
850 + - format-patch: introduce --base=auto option
851 + - format-patch: add '--base' option to record base tree info
852 + - patch-ids: make commit_patch_id() a public helper function
853
854 "git format-patch" learned a new "--base" option to record what
855 (public, well-known) commit the original series was built on in
856 its output.
857
855 - Review comments sent.
856 - ($gmane/292168)
857 -
858 -
859 -* dt/index-helper (2016-04-14) 16 commits
860 - - read-cache: config for waiting for index-helper
861 - - index-helper: optionally automatically run
862 - - index-helper: autorun mode
863 - - index-helper: don't run if already running
864 - - index-helper: kill mode
865 - - unpack-trees: preserve index extensions
866 - - update-index: enable/disable watchman support
867 - - index-helper: use watchman to avoid refreshing index with lstat()
868 - - index-helper: add watchman support to reduce index refresh cost
869 - - read-cache: add watchman 'WAMA' extension
870 - - index-helper: add --detach
871 - - daemonize(): set a flag before exiting the main process
872 - - index-helper: add --strict
873 - - index-helper: new daemon for caching index and related stuff
874 - - read-cache: allow to keep mmap'd memory after reading
875 - - read-cache.c: fix constness of verify_hdr()
858 + Looking close to be ready.
859 + ($gmane/292622).
860 +
861 +
862 +* dt/index-helper (2016-04-28) 19 commits
863 + . untracked-cache: config option
864 + . Add tracing to measure where most of the time is spent
865 + . index-helper: optionally automatically run
866 + . index-helper: autorun mode
867 + . index-helper: don't run if already running
868 + . index-helper: kill mode
869 + . watchman: add a config option to enable the extension
870 + . unpack-trees: preserve index extensions
871 + . update-index: enable/disable watchman support
872 + . index-helper: use watchman to avoid refreshing index with lstat()
873 + . Add watchman support to reduce index refresh cost
874 + . read-cache: add watchman 'WAMA' extension
875 + . index-helper: add --detach
876 + . daemonize(): set a flag before exiting the main process
877 + . index-helper: log warnings
878 + . index-helper: add --strict
879 + . index-helper: new daemon for caching index and related stuff
880 + . read-cache: allow to keep mmap'd memory after reading
881 + . read-cache.c: fix constness of verify_hdr()
882
883 Needs review.
884 + t7900#5 seems to fail for me.
885
886
887 * jc/bundle (2016-03-03) 6 commits