What's cooking (2016/02 #05)
Junio C Hamano committed
Feb 17, 2016 at 14:32 UTC
8b374020372164410df0249d11f6b43e7c50eca0
1 file changed
+351
-280
whats-cooking.txt
+351
-280
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Feb 2016, #04; Fri, 12)
4
-X-master-at: 494398473714dcbedb38b1ac79b531c7384b3bc4
5
-X-next-at: 6faf27b4ff26804a07363078b238b5cfd3dfa976
3
+Subject: What's cooking in git.git (Feb 2016, #05; Wed, 17)
4
+X-master-at: 0233b800c838ddda41db318ee396320b3c21a560
5
+X-next-at: 45cd78e6c697b37c226f619775990486cf53e84f
6
7
-What's cooking in git.git (Feb 2016, #04; Fri, 12)
7
+What's cooking in git.git (Feb 2016, #05; Wed, 17)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -17,178 +17,334 @@ repositories listed at
17
18
http://git-blame.blogspot.com/p/git-public-repositories.html
19
20
+--------------------------------------------------
21
+[Graduated to "master"]
22
+
23
+* ah/stripspace-optstring (2016-01-29) 1 commit
24
+ (merged to 'next' on 2016-02-12 at cd021aa)
25
+ + stripspace: call U+0020 a "space" instead of a "blank"
26
+
27
+
28
+* da/user-useconfigonly (2016-02-08) 2 commits
29
+ (merged to 'next' on 2016-02-09 at 8b303ce)
30
+ + ident: add user.useConfigOnly boolean for when ident shouldn't be guessed
31
+ + fmt_ident: refactor strictness checks
32
+
33
+ The "user.useConfigOnly" configuration variable can be used to
34
+ force the user to always set user.email & user.name configuration
35
+ variables, serving as a reminder for those who work on multiple
36
+ projects and do not want to put these in their $HOME/.gitconfig.
37
+
38
+
39
+* dw/mergetool-vim-window-shuffle (2016-02-12) 1 commit
40
+ (merged to 'next' on 2016-02-12 at 2a2e8bd)
41
+ + mergetool: reorder vim/gvim buffers in three-way diffs
42
+
43
+ The vimdiff backend for "git mergetool" has been tweaked to arrange
44
+ and number buffers in the order that would match the expectation of
45
+ majority of people who read left to right, then top down and assign
46
+ buffers 1 2 3 4 "mentally" to local base remote merge windows based
47
+ on that order.
48
+
49
+
50
+* jk/drop-rsync-transport (2016-02-01) 1 commit
51
+ (merged to 'next' on 2016-02-03 at 08be402)
52
+ + transport: drop support for git-over-rsync
53
+
54
+ It turns out "git clone" over rsync transport has been broken when
55
+ the source repository has packed references for a long time, and
56
+ nobody noticed nor complained about it.
57
+
58
+
59
+* jk/rerere-xsnprintf (2016-02-08) 1 commit
60
+ (merged to 'next' on 2016-02-09 at ff9ade3)
61
+ + rerere: replace strcpy with xsnprintf
62
+ (this branch is used by jc/rerere-multi.)
63
+
64
+ Some calls to strcpy(3) triggers a false warning from static
65
+ analysers that are less intelligent than humans, and reducing the
66
+ number of these false hits helps us notice real issues. A few
67
+ calls to strcpy(3) in "git rerere" that are already safe has been
68
+ rewritten to avoid false wanings.
69
+
70
+
71
+* jk/test-path-utils-xsnprintf (2016-02-08) 1 commit
72
+ (merged to 'next' on 2016-02-09 at 931f70b)
73
+ + test-path-utils: use xsnprintf in favor of strcpy
74
+
75
+ Some calls to strcpy(3) triggers a false warning from static
76
+ analysers that are less intelligent than humans, and reducing the
77
+ number of these false hits helps us notice real issues. A few
78
+ calls to strcpy(3) in test-path-utils that are already safe has
79
+ been rewritten to avoid false wanings.
80
+
81
+
82
+* js/mingw-tests (2016-02-08) 21 commits
83
+ (merged to 'next' on 2016-02-08 at 417e555)
84
+ + gitignore: ignore generated test-fake-ssh executable
85
+ (merged to 'next' on 2016-02-03 at ace7624)
86
+ + mingw: do not bother to test funny file names
87
+ + mingw: skip a test in t9130 that cannot pass on Windows
88
+ + mingw: handle the missing POSIXPERM prereq in t9124
89
+ + mingw: avoid illegal filename in t9118
90
+ + mingw: mark t9100's test cases with appropriate prereqs
91
+ + t0008: avoid absolute path
92
+ + mingw: work around pwd issues in the tests
93
+ + mingw: fix t9700's assumption about directory separators
94
+ + mingw: skip test in t1508 that fails due to path conversion
95
+ + tests: turn off git-daemon tests if FIFOs are not available
96
+ + mingw: disable mkfifo-based tests
97
+ + mingw: accomodate t0060-path-utils for MSYS2
98
+ + mingw: fix t5601-clone.sh
99
+ + mingw: let lstat() fail with errno == ENOTDIR when appropriate
100
+ + mingw: try to delete target directory before renaming
101
+ + mingw: prepare the TMPDIR environment variable for shell scripts
102
+ + mingw: factor out Windows specific environment setup
103
+ + Git.pm: stop assuming that absolute paths start with a slash
104
+ + mingw: do not trust MSYS2's MinGW gettext.sh
105
+ + mingw: let's use gettext with MSYS2
106
+ (this branch is used by mg/mingw-test-fix.)
107
+
108
+ Test scripts have been updated to remove assumptions that are not
109
+ portable between Git for POSIX and Git for Windows, or to skip ones
110
+ with expectations that are not satisfiable on Git for Windows.
111
+
112
+
113
+* mg/mingw-test-fix (2016-02-08) 1 commit
114
+ (merged to 'next' on 2016-02-12 at df77956)
115
+ + t9100: fix breakage when SHELL_PATH is not /bin/sh
116
+ (this branch uses js/mingw-tests.)
117
+
118
+ An earlier adjustment of test mistakenly used write_script
119
+ to prepare a file whose exact content matters for the test;
120
+ reverting that part fixes the breakage for those who use
121
+ SHELL_PATH that is different from /bin/sh.
122
+
123
+
124
+* mm/clean-doc-fix (2016-02-09) 1 commit
125
+ (merged to 'next' on 2016-02-09 at ced8555)
126
+ + Documentation/git-clean.txt: don't mention deletion of .git/modules/*
127
+
128
+ The documentation for "git clean" has been corrected; it mentioned
129
+ that .git/modules/* are removed by giving two "-f", which has never
130
+ been the case.
131
+
132
+
133
+* nd/clear-gitenv-upon-use-of-alias (2016-02-02) 4 commits
134
+ (merged to 'next' on 2016-02-09 at 2c441b4)
135
+ + restore_env(): free the saved environment variable once we are done
136
+ + git: simplify environment save/restore logic
137
+ + git: protect against unbalanced calls to {save,restore}_env()
138
+ + git: remove an early return from save_env_before_alias()
139
+
140
+ The automatic typo correction applied to an alias was broken
141
+ with a recent change already in 'master'.
142
+
143
--------------------------------------------------
144
[New Topics]
145
23
-* ep/format-printf (2016-02-11) 22 commits
24
- - wt-status.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
25
- - utf8.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
26
- - transport-helper.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
27
- - trace.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
28
- - strbuf.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
29
- - remote.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
30
- - pkt-line.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
31
- - merge-recursive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
32
- - imap-send.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
33
- - http-backend.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
34
- - fsck.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
35
- - daemon.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
36
- - config.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
37
- - color.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
38
- - cache.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
39
- - builtin/upload-archive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
40
- - builtin/update-index.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
41
- - builtin/receive-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
42
- - builtin/index-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
43
- - argv-array.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
44
- - advice.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
45
- - git-compat-util.h: add the FORMAT_PRINTF macro
146
+* cn/deprecate-ssh-git-url (2016-02-15) 1 commit
147
+ - Disown ssh+git and git+ssh
148
47
- Undecided.
149
+ Needs toning down by replacing the condescendence with an
150
+ explanation and enlightenment.
151
+ ($gmane/286222)
152
153
50
-* ew/force-ipv4 (2016-02-12) 1 commit
51
- - connect & http: support -4 and -6 switches for remote operations
154
+* jk/config-include (2016-02-13) 1 commit
155
+ - git-config: better document default behavior for `--include`
156
+
157
+ Will merge to 'next'.
158
53
- "git fetch" and friends that make network connections can now be
54
- told to only use ipv4 (or ipv6).
159
+
160
+* nd/git-common-dir-fix (2016-02-12) 1 commit
161
+ - rev-parse: take prefix into account in --git-common-dir
162
163
Will merge to 'next'.
164
165
59
-* jk/lose-name-path (2016-02-12) 5 commits
60
- - list-objects: pass full pathname to callbacks
61
- - list-objects: drop name_path entirely
62
- - list-objects: convert name_path to a strbuf
63
- - show_object_with_name: simplify by using path_name()
64
- - http-push: stop using name_path
166
+* sp/remote-curl-ssl-strerror (2016-02-15) 1 commit
167
+ - remote-curl: include curl_errorstr on SSL setup failures
168
66
- The "name_path" API was an attempt to reduce the need to construct
67
- the full path out of a series of path components while walking a
68
- tree hierarchy, but over time made less efficient because the path
69
- needs to be flattened, e.g. to be compared with another path that
70
- is already flat. Remove the API and rewrite its users to simplify
71
- overall code complexity.
169
+ Help those who debug http(s) part of the system.
170
+
171
+ Will merge to 'next'.
172
+
173
+
174
+* bc/http-empty-auth (2016-02-15) 1 commit
175
+ - http: add option to try authentication without username
176
+
177
+ Some authentication methods do not need username or password, but
178
+ libcurl needs some hint that it needs to perform authentication.
179
+ Supplying an empty username and password string is a valid way to
180
+ do so, but you can set the http.[<url>.]emptyAuth configuration
181
+ variable to achieve the same, if you find it cleaner.
182
+
183
+ Will merge to 'next'.
184
+
185
+
186
+* ce/https-public-key-pinning (2016-02-15) 1 commit
187
+ - http: implement public key pinning
188
+
189
+ You can now set http.[<url>.]pinnedpubkey to specify the pinned
190
+ public key when building with recent enough versions of libcURL.
191
+
192
+ Will merge to 'next'.
193
+
194
+
195
+* ew/connect-verbose (2016-02-15) 1 commit
196
+ - t5570: add tests for "git {clone,fetch,pull} -v"
197
+
198
+ Will merge to 'next'.
199
+
200
+
201
+* fa/merge-recursive-no-rename (2016-02-17) 2 commits
202
+ - merge-recursive: more consistent interface
203
+ - merge-recursive: option to disable renames
204
+
205
+ "git merge-recursive" learned "--no-renames" option to disable its
206
+ rename detection logic.
207
208
Will merge to 'next'.
209
75
---------------------------------------------------
76
-[Graduated to "master"]
210
78
-* aw/push-force-with-lease-reporting (2016-02-01) 1 commit
79
- (merged to 'next' on 2016-02-03 at facd28f)
80
- + push: fix ref status reporting for --force-with-lease
211
+* jc/am-i-v-fix (2016-02-17) 3 commits
212
+ - am -i: fix "v"iew
213
+ - pager: factor out a helper to prepare a child process to run the pager
214
+ - pager: lose a separate argv[]
215
82
- "git push --force-with-lease" has been taught to report if the push
83
- needed to force (or fast-forwarded).
216
+ The "v(iew)" subcommand of the interactive "git am -i" command was
217
+ broken in 2.6.0 timeframe when the command was rewritten in C.
218
+
219
+ Will merge to 'next'.
220
+
221
+
222
+* jk/merge-tree-merge-blobs (2016-02-16) 1 commit
223
+ - merge_blobs: use strbuf instead of manually-sized mmfile_t
224
+
225
+ "git merge-tree" (a throw-away demonstration) did not work very
226
+ well when merging "both sides added a new file at the same path"
227
+ case.
228
+
229
+ Undecided; we might be better off deleting it altogether.
230
231
86
-* cc/untracked (2016-01-27) 11 commits
87
- (merged to 'next' on 2016-02-01 at 8203631)
88
- + t7063: add tests for core.untrackedCache
89
- + test-dump-untracked-cache: don't modify the untracked cache
90
- + config: add core.untrackedCache
91
- + dir: simplify untracked cache "ident" field
92
- + dir: add remove_untracked_cache()
93
- + dir: add {new,add}_untracked_cache()
94
- + update-index: move 'uc' var declaration
95
- + update-index: add untracked cache notifications
96
- + update-index: add --test-untracked-cache
97
- + update-index: use enum for untracked cache options
98
- + dir: free untracked cache when removing it
232
+* jk/tighten-alloc (2016-02-15) 18 commits
233
+ - ewah: convert to REALLOC_ARRAY, etc
234
+ - convert ewah/bitmap code to use xmalloc
235
+ - diff_populate_gitlink: use a strbuf
236
+ - transport_anonymize_url: use xstrfmt
237
+ - git-compat-util: drop mempcpy compat code
238
+ - sequencer: simplify memory allocation of get_message
239
+ - test-path-utils: fix normalize_path_copy output buffer size
240
+ - fetch-pack: simplify add_sought_entry
241
+ - fast-import: simplify allocation in start_packfile
242
+ - write_untracked_extension: use FLEX_ALLOC helper
243
+ - use st_add and st_mult for allocation size computation
244
+ - convert trivial cases to FLEX_ARRAY macros
245
+ - use xmallocz to avoid size arithmetic
246
+ - convert trivial cases to ALLOC_ARRAY
247
+ - add helpers for allocating flex-array structs
248
+ - harden REALLOC_ARRAY and xcalloc against size_t overflow
249
+ - tree-diff: catch integer overflow in combine_diff_path allocation
250
+ - add helpers for detecting size_t overflow
251
100
- Update the untracked cache subsystem and change its primary UI from
101
- "git update-index" to "git config".
252
+ Update various codepaths to avoid manually-counted malloc().
253
254
+ Will merge to 'next'.
255
+
256
+
257
+* js/git-remote-add-url-insteadof-test (2016-02-17) 1 commit
258
+ - t5505: 'remote add x y' should work when url.y.insteadOf = x
259
+
260
+ Will merge to 'next'.
261
104
-* ew/connect-verbose (2016-01-28) 1 commit
105
- (merged to 'next' on 2016-02-03 at ceac37e)
106
- + pass transport verbosity down to git_connect
262
108
- There were a few "now I am doing this thing" progress messages in
109
- the TCP connection code that can be triggered by setting a verbose
110
- option internally in the code, but "git fetch -v" and friends never
111
- passed the verbose option down to that codepath.
263
+* nd/dwim-wildcards-as-pathspecs (2016-02-10) 3 commits
264
+ - get_sha1: don't die() on bogus search strings
265
+ - check_filename: tighten dwim-wildcard ambiguity
266
+ - checkout: reorder check_filename conditional
267
113
- There was a brief discussion about the impact on the end-user
114
- experience by not limiting this to "fetch -v -v", but I think the
115
- conclusion is that this is OK to enable with a single "-v" as it is
116
- not too noisy.
268
+ "git show 'HEAD:Foo[BAR]Baz'" did not interpret the argument as a
269
+ rev, i.e. the object named by the the pathname with wildcard
270
+ characters in a tree object.
271
272
+ I lost track of this topic; did we decide that this is a good thing
273
+ to do, or unnecessary noise to only cater to a crazy use case?
274
119
-* jk/options-cleanup (2016-02-01) 6 commits
120
- (merged to 'next' on 2016-02-03 at a78d89d)
121
- + apply, ls-files: simplify "-z" parsing
122
- + checkout-index: disallow "--no-stage" option
123
- + checkout-index: handle "--no-index" option
124
- + checkout-index: handle "--no-prefix" option
125
- + checkout-index: simplify "-z" option parsing
126
- + give "nbuf" strbuf a more meaningful name
275
128
- Various clean-ups to the command line option parsing.
276
+* nd/exclusion-regression-fix (2016-02-15) 4 commits
277
+ - dir.c: don't exclude whole dir prematurely
278
+ - dir.c: support marking some patterns already matched
279
+ - dir.c: support tracing exclude
280
+ - dir.c: fix match_pathname()
281
282
+ Another try to add support to the ignore mechanism that lets you
283
+ say "this is excluded" and then later say "oh, no, this part (that
284
+ is a subset of the previous part) is not exlucded".
285
131
-* js/test-lib-windows-emulated-yes (2016-02-02) 1 commit
132
- (merged to 'next' on 2016-02-03 at bf6b42c)
133
- + test-lib: limit the output of the yes utility
286
+ Will merge to 'next'.
287
135
- The emulated "yes" command used in our test scripts has been
136
- tweaked not to spend too much time generating unnecessary output
137
- that is not used, to help those who test on Windows where it would
138
- not stop until it fills the pipe buffer due to lack of SIGPIPE.
288
289
+* nd/worktree-add-B (2016-02-15) 2 commits
290
+ - worktree add -B: do the checkout test before update branch
291
+ - worktree: fix "add -B"
292
141
-* js/xmerge-marker-eol (2016-01-27) 2 commits
142
- (merged to 'next' on 2016-02-01 at 05d91a4)
143
- + merge-file: ensure that conflict sections match eol style
144
- + merge-file: let conflict markers match end-of-line style of the context
293
+ "git worktree add -B <branchname>" did not work.
294
146
- The low-level merge machinery has been taught to use CRLF line
147
- termination when inserting conflict markers to merged contents that
148
- are themselves CRLF line-terminated.
295
+ Will merge to 'next'.
296
297
151
-* ls/clean-smudge-override-in-config (2016-01-29) 1 commit
152
- (merged to 'next' on 2016-02-03 at 5962354)
153
- + convert: treat an empty string for clean/smudge filters as "cat"
298
+* ps/config-error (2016-02-17) 16 commits
299
+ - SQUASH
300
+ - config: rename git_config_set_or_die to git_config_set
301
+ - config: rename git_config_set to git_config_set_gently
302
+ - compat: die when unable to set core.precomposeunicode
303
+ - sequencer: die on config error when saving replay opts
304
+ - init-db: die on config errors when initializing empty repo
305
+ - clone: die on config error in cmd_clone
306
+ - remote: die on config error when manipulating remotes
307
+ - remote: die on config error when setting/adding branches
308
+ - remote: die on config error when setting URL
309
+ - submodule--helper: die on config error when cloning module
310
+ - submodule: die on config error when linking modules
311
+ - branch: die on config error when editing branch description
312
+ - branch: die on config error when unsetting upstream
313
+ - branch: report errors in tracking branch setup
314
+ - config: introduce set_or_die wrappers
315
155
- Clean/smudge filters defined in a configuration file of lower
156
- precedence can now be overridden to be a pass-through no-op by
157
- setting the variable to an empty string.
316
+ Many codepaths forget to check return value from git_config_set();
317
+ the function is made to die() to make sure we do not proceed when
318
+ setting a configuration variable failed.
319
320
+ Need to squash the tip two commits into one before moving forward.
321
160
-* nd/do-not-move-worktree-manually (2016-01-22) 2 commits
161
- (merged to 'next' on 2016-01-26 at c539221)
162
- + worktree: stop supporting moving worktrees manually
163
- + worktree.c: fix indentation
322
165
- "git worktree" had a broken code that attempted to auto-fix
166
- possible inconsistency that results from end-users moving a
167
- worktree to different places without telling Git (the original
168
- repository needs to maintain backpointers to its worktrees, but
169
- "mv" run by end-users who are not familiar with that fact will
170
- obviously not adjust them), which actually made things worse
171
- when triggered.
323
+* ss/commit-dry-run-resolve-merge-to-no-op (2016-02-17) 1 commit
324
+ - wt-status.c: set commitable bit if there is a meaningful merge.
325
326
+ "git commit --dry-run" reported "No, no, you cannot commit." in one
327
+ case where "git commit" would have allowed you to commit, and this
328
+ improves it a little bit ("git commit --dry-run --short" still does
329
+ not give you the correct answer, for example).
330
174
-* sb/submodule-init (2016-01-28) 2 commits
175
- - submodule: port init from shell to C
176
- - submodule: port resolve_relative_url from shell to C
177
- (this branch uses sb/submodule-parallel-update; is tangled with dt/refs-backend-lmdb.)
331
179
- Major part of "git submodule init" has been ported to C.
332
+* tg/git-remote (2016-02-16) 4 commits
333
+ - remote: use remote_is_configured() for add and rename
334
+ - remote: actually check if remote exits
335
+ - remote: simplify remote_is_configured()
336
+ - remote: use parse_config_key
337
181
- Will have to wait for 'sb/submodule-parallel-update'.
338
+ The internal API to interact with "remote.*" configuration
339
+ variables has been streamlined.
340
341
+ Will merge to 'next'.
342
184
-* wp/sha1-name-negative-match (2016-02-01) 2 commits
185
- (merged to 'next' on 2016-02-03 at 89fa5ef)
186
- + object name: introduce '^{/!-<negative pattern>}' notation
187
- + test for '!' handling in rev-parse's named commits
343
189
- A new "<branch>^{/!-<pattern>}" notation can be used to name a
190
- commit that is reachable from <branch> that does not match the
191
- given <pattern>.
344
+* ls/config-origin (2016-02-17) 3 commits
345
+ - config: add '--show-origin' option to print the origin of a config value
346
+ - config: add 'type' to config_source struct that identifies config type
347
+ - t: do not hide Git's exit code in tests using 'nul_to_q'
348
349
--------------------------------------------------
350
[Stalled]
@@ -275,45 +431,61 @@ repositories listed at
431
--------------------------------------------------
432
[Cooking]
433
278
-* jk/rerere-xsnprintf (2016-02-08) 1 commit
279
- (merged to 'next' on 2016-02-09 at ff9ade3)
280
- + rerere: replace strcpy with xsnprintf
281
- (this branch is used by jc/rerere-multi.)
282
-
283
- Some calls to strcpy(3) triggers a false warning from static
284
- analysers that are less intelligent than humans, and reducing the
285
- number of these false hits helps us notice real issues. A few
286
- calls to strcpy(3) in "git rerere" that are already safe has been
287
- rewritten to avoid false wanings.
434
+* ep/format-printf (2016-02-11) 22 commits
435
+ - wt-status.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
436
+ - utf8.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
437
+ - transport-helper.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
438
+ - trace.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
439
+ - strbuf.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
440
+ - remote.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
441
+ - pkt-line.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
442
+ - merge-recursive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
443
+ - imap-send.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
444
+ - http-backend.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
445
+ - fsck.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
446
+ - daemon.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
447
+ - config.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
448
+ - color.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
449
+ - cache.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
450
+ - builtin/upload-archive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
451
+ - builtin/update-index.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
452
+ - builtin/receive-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
453
+ - builtin/index-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
454
+ - argv-array.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
455
+ - advice.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
456
+ - git-compat-util.h: add the FORMAT_PRINTF macro
457
289
- Will merge to 'master'.
458
+ Undecided.
459
460
292
-* jk/test-path-utils-xsnprintf (2016-02-08) 1 commit
293
- (merged to 'next' on 2016-02-09 at 931f70b)
294
- + test-path-utils: use xsnprintf in favor of strcpy
461
+* ew/force-ipv4 (2016-02-12) 1 commit
462
+ - connect & http: support -4 and -6 switches for remote operations
463
296
- Some calls to strcpy(3) triggers a false warning from static
297
- analysers that are less intelligent than humans, and reducing the
298
- number of these false hits helps us notice real issues. A few
299
- calls to strcpy(3) in test-path-utils that are already safe has
300
- been rewritten to avoid false wanings.
464
+ "git fetch" and friends that make network connections can now be
465
+ told to only use ipv4 (or ipv6).
466
302
- Will merge to 'master'.
467
+ Will merge to 'next'.
468
469
305
-* mm/clean-doc-fix (2016-02-09) 1 commit
306
- (merged to 'next' on 2016-02-09 at ced8555)
307
- + Documentation/git-clean.txt: don't mention deletion of .git/modules/*
470
+* jk/lose-name-path (2016-02-12) 5 commits
471
+ - list-objects: pass full pathname to callbacks
472
+ - list-objects: drop name_path entirely
473
+ - list-objects: convert name_path to a strbuf
474
+ - show_object_with_name: simplify by using path_name()
475
+ - http-push: stop using name_path
476
309
- The documentation for "git clean" has been corrected; it mentioned
310
- that .git/modules/* are removed by giving two "-f", which has never
311
- been the case.
477
+ The "name_path" API was an attempt to reduce the need to construct
478
+ the full path out of a series of path components while walking a
479
+ tree hierarchy, but over time made less efficient because the path
480
+ needs to be flattened, e.g. to be compared with another path that
481
+ is already flat. Remove the API and rewrite its users to simplify
482
+ overall code complexity.
483
313
- Will merge to 'master'.
484
+ Will merge to 'next'.
485
486
316
-* nd/icase (2016-02-09) 11 commits
487
+* nd/icase (2016-02-15) 12 commits
488
+ - grep.c: reuse "icase" variable
489
- diffcore-pickaxe: support case insensitive match on non-ascii
490
- diffcore-pickaxe: "share" regex error handling code
491
- grep/pcre: support utf-8
@@ -328,7 +500,7 @@ repositories listed at
500
501
"git grep -i" has been taught to fold case in non-ascii locales.
502
331
- ($gmane/285666)
503
+ ($gmane/286137)
504
505
506
* tb/conversion (2016-02-10) 6 commits
@@ -340,62 +512,11 @@ repositories listed at
512
+ convert.c: remove unused parameter 'path'
513
+ t0027: add tests for get_stream_filter()
514
343
- Simplication of eol conversion codepath.
344
-
345
-
346
-* da/user-useconfigonly (2016-02-08) 2 commits
347
- (merged to 'next' on 2016-02-09 at 8b303ce)
348
- + ident: add user.useConfigOnly boolean for when ident shouldn't be guessed
349
- + fmt_ident: refactor strictness checks
350
-
351
- The "user.useConfigOnly" configuration variable can be used to
352
- force the user to always set user.email & user.name configuration
353
- variables, serving as a reminder for those who work on multiple
354
- projects and do not want to put these in their $HOME/.gitconfig.
355
-
356
- Will merge to 'master'.
357
-
358
-
359
-* ah/stripspace-optstring (2016-01-29) 1 commit
360
- (merged to 'next' on 2016-02-12 at cd021aa)
361
- + stripspace: call U+0020 a "space" instead of a "blank"
362
-
363
- Will merge to 'master'.
364
-
365
-
366
-* dw/mergetool-vim-window-shuffle (2016-02-12) 1 commit
367
- (merged to 'next' on 2016-02-12 at 2a2e8bd)
368
- + mergetool: reorder vim/gvim buffers in three-way diffs
369
-
370
- The vimdiff backend for "git mergetool" has been tweaked to arrange
371
- and number buffers in the order that would match the expectation of
372
- majority of people who read left to right, then top down and assign
373
- buffers 1 2 3 4 "mentally" to local base remote merge windows based
374
- on that order.
375
-
376
- Will merge to 'master'.
377
-
378
-
379
-* jk/drop-rsync-transport (2016-02-01) 1 commit
380
- (merged to 'next' on 2016-02-03 at 08be402)
381
- + transport: drop support for git-over-rsync
382
-
383
- It turns out "git clone" over rsync transport has been broken when
384
- the source repository has packed references for a long time, and
385
- nobody noticed nor complained about it.
386
-
387
- Will merge to 'master'.
388
-
389
-
390
-* dv/http-try-negotiate-at-least-once (2016-02-02) 1 commit
391
- - remote-curl: don't fall back to Basic auth if we haven't tried Negotiate
392
-
515
Will be rerolled.
394
- A solution with a different approach may be a better one.
395
- ($gmane/285633)
516
+ ($gmane/286219)
517
518
398
-* sb/submodule-parallel-update (2016-02-12) 7 commits
519
+* sb/submodule-parallel-update (2016-02-13) 7 commits
520
- clone: allow an explicit argument for parallel submodule clones
521
- submodule update: expose parallelism to the user
522
- git submodule update: have a dedicated helper for cloning
@@ -403,14 +524,16 @@ repositories listed at
524
- fetching submodules: respect `submodule.fetchJobs` config option
525
- submodule-config: drop check against NULL
526
- submodule-config: keep update strategy around
406
- (this branch is used by dt/refs-backend-lmdb.)
527
+ (this branch is used by dt/refs-backend-lmdb and sb/submodule-init.)
528
529
A major part of "git submodule update" has been ported to C to take
530
advantage of the recently added framework to run download tasks in
531
parallel.
532
533
+ Comments?
534
413
-* dt/refs-backend-lmdb (2016-02-12) 22 commits
535
+
536
+* dt/refs-backend-lmdb (2016-02-13) 22 commits
537
- refs: tests for lmdb backend
538
- refs: add LMDB refs storage backend
539
- refs: add register_ref_storage_backends()
@@ -432,8 +555,8 @@ repositories listed at
555
- refs: add methods for the ref iterators
556
- refs: add methods for misc ref operations
557
- refs: add a backend method structure with transaction functions
435
- - Merge branch 'sb/submodule-parallel-update' into dt/refs/backend-lmdb
436
- (this branch uses sb/submodule-parallel-update.)
558
+ - Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb
559
+ (this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.)
560
561
Building on top of a few refs-backend preparatory series, LMDB
562
based refs backend has been plugged into the system.
@@ -442,66 +565,7 @@ repositories listed at
565
($gmane/285604)
566
567
445
-* js/mingw-tests (2016-02-08) 21 commits
446
- (merged to 'next' on 2016-02-08 at 417e555)
447
- + gitignore: ignore generated test-fake-ssh executable
448
- (merged to 'next' on 2016-02-03 at ace7624)
449
- + mingw: do not bother to test funny file names
450
- + mingw: skip a test in t9130 that cannot pass on Windows
451
- + mingw: handle the missing POSIXPERM prereq in t9124
452
- + mingw: avoid illegal filename in t9118
453
- + mingw: mark t9100's test cases with appropriate prereqs
454
- + t0008: avoid absolute path
455
- + mingw: work around pwd issues in the tests
456
- + mingw: fix t9700's assumption about directory separators
457
- + mingw: skip test in t1508 that fails due to path conversion
458
- + tests: turn off git-daemon tests if FIFOs are not available
459
- + mingw: disable mkfifo-based tests
460
- + mingw: accomodate t0060-path-utils for MSYS2
461
- + mingw: fix t5601-clone.sh
462
- + mingw: let lstat() fail with errno == ENOTDIR when appropriate
463
- + mingw: try to delete target directory before renaming
464
- + mingw: prepare the TMPDIR environment variable for shell scripts
465
- + mingw: factor out Windows specific environment setup
466
- + Git.pm: stop assuming that absolute paths start with a slash
467
- + mingw: do not trust MSYS2's MinGW gettext.sh
468
- + mingw: let's use gettext with MSYS2
469
- (this branch is used by mg/mingw-test-fix.)
470
-
471
- Test scripts have been updated to remove assumptions that are not
472
- portable between Git for POSIX and Git for Windows, or to skip ones
473
- with expectations that are not satisfiable on Git for Windows.
474
-
475
- Will merge to 'master'.
476
-
477
-
478
-* mg/mingw-test-fix (2016-02-08) 1 commit
479
- (merged to 'next' on 2016-02-12 at df77956)
480
- + t9100: fix breakage when SHELL_PATH is not /bin/sh
481
- (this branch uses js/mingw-tests.)
482
-
483
- An earlier adjustment of test mistakenly used write_script
484
- to prepare a file whose exact content matters for the test;
485
- reverting that part fixes the breakage for those who use
486
- SHELL_PATH that is different from /bin/sh.
487
-
488
- Will merge to 'master'.
489
-
490
-
491
-* nd/clear-gitenv-upon-use-of-alias (2016-02-02) 4 commits
492
- (merged to 'next' on 2016-02-09 at 2c441b4)
493
- + restore_env(): free the saved environment variable once we are done
494
- + git: simplify environment save/restore logic
495
- + git: protect against unbalanced calls to {save,restore}_env()
496
- + git: remove an early return from save_env_before_alias()
497
-
498
- The automatic typo correction applied to an alias was broken
499
- with a recent change already in 'master'.
500
-
501
- Will merge to 'master'.
502
-
503
-
504
-* kn/ref-filter-atom-parsing (2016-02-02) 12 commits
568
+* kn/ref-filter-atom-parsing (2016-02-17) 11 commits
569
- ref-filter: introduce objectname_atom_parser()
570
- ref-filter: introduce contents_atom_parser()
571
- ref-filter: introduce remote_ref_atom_parser()
@@ -512,13 +576,12 @@ repositories listed at
576
- ref-filter: introduce parsing functions for each valid atom
577
- ref-filter: introduce struct used_atom
578
- ref-filter: bump 'used_atom' and related code to the top
515
- - ref-filter: use strbuf_split_str_omit_term()
516
- - strbuf: introduce strbuf_split_str_omit_term()
579
+ - ref-filter: use string_list_split over strbuf_split
580
581
Refactoring of ref-filter's format-parsing code, in preparation
582
for "branch --format" and friends.
583
521
- ($gmane/285158)
584
+ Will merge to 'next'.
585
586
587
* ad/cygwin-wants-rename (2015-08-07) 1 commit
@@ -536,7 +599,6 @@ repositories listed at
599
- rerere: handle leftover rr-cache/$ID directory and postimage files
600
- rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id
601
- rerere: split conflict ID further
539
- (this branch uses jk/rerere-xsnprintf.)
602
603
"git rerere" can encounter two or more files with the same conflict
604
signature that have to be resolved in different ways, but there was
@@ -553,3 +615,12 @@ repositories listed at
615
git-gui still uses the deprecated syntax, which needs to be fixed
616
before this final step can proceed.
617
($gmane/282594)
618
+
619
+--------------------------------------------------
620
+[Discarded]
621
+
622
+* dv/http-try-negotiate-at-least-once (2016-02-02) 1 commit
623
+ . remote-curl: don't fall back to Basic auth if we haven't tried Negotiate
624
+
625
+ bc/http-empty-auth satisfies the original need that triggered this
626
+ topic better.