What's cooking (2013/07 #06)

Junio C Hamano committed Jul 18, 2013 at 17:34 UTC 4d91f62b48b7c2c2b664a896ecbf2a8cd22bc6aa
1 file changed +476 -333
whats-cooking.txt
+476 -333
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jul 2013, #05; Fri, 12)
4 -X-master-at: 0da7a53a76b48ea1b2ee6ebe7bd7fbcd7d5c3f9d
5 -X-next-at: 3a6d6276f9ce81c14c10f2d798b4fc9a9950eef6
3 +Subject: What's cooking in git.git (Jul 2013, #06; Thu, 18)
4 +X-master-at: b72c6161f1f34985e4a13f8c4c9ba9e55b3d1496
5 +X-next-at: 6b4ca9f6d2ab38b0a886be8faea27be3a50ef9e1
6
7 -What's cooking in git.git (Jul 2013, #05; Fri, 12)
7 +What's cooking in git.git (Jul 2013, #06; Thu, 18)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -22,192 +22,372 @@ of the repositories listed at
22 --------------------------------------------------
23 [Graduated to "master"]
24
25 -* as/log-output-encoding-in-user-format (2013-07-05) 11 commits
26 - (merged to 'next' on 2013-07-08 at 2e1bdd9)
27 - + t4205 (log-pretty-formats): avoid using `sed`
28 - + t6006 (rev-list-format): add tests for "%b" and "%s" for the case i18n.commitEncoding is not set
29 - + t4205, t6006, t7102: make functions better readable
30 - + t4205 (log-pretty-formats): revert back single quotes
31 - (merged to 'next' on 2013-07-05 at d2c99e5)
32 - + t4041, t4205, t6006, t7102: use iso8859-1 rather than iso-8859-1
33 - (merged to 'next' on 2013-07-01 at 3318aa8)
34 - + t4205: replace .\+ with ..* in sed commands
35 - (merged to 'next' on 2013-06-28 at 4063330)
36 - + pretty: --format output should honor logOutputEncoding
37 - + pretty: Add failing tests: --format output should honor logOutputEncoding
38 - + t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
39 - + t7102 (reset): don't hardcode SHA-1 in expected outputs
40 - + t6006 (rev-list-format): don't hardcode SHA-1 in expected outputs
25 +* bc/commit-invalid-utf8 (2013-07-09) 3 commits
26 + (merged to 'next' on 2013-07-11 at a2ee572)
27 + + commit: reject non-characters
28 + + commit: reject overlong UTF-8 sequences
29 + + commit: reject invalid UTF-8 codepoints
30
42 - "log --format=" did not honor i18n.logoutputencoding configuration
43 - and this attempts to fix it.
31 + Tighten up autodetection of UTF-8 encoded strings.
32
33
46 -* ft/diff-rename-default-score-is-half (2013-07-05) 1 commit
47 - (merged to 'next' on 2013-07-09 at 6a6b57e)
48 - + diff-options: document default similarity index
34 +* bc/push-match-many-refs (2013-07-08) 1 commit
35 + (merged to 'next' on 2013-07-11 at df4d56d)
36 + + remote.c: avoid O(m*n) behavior in match_push_refs
37
38 + Pushing to repositories with many refs employed O(m*n) algorithm
39 + where n is the number of refs on the receiving end.
40
51 -* jc/remote-http-argv-array (2013-07-09) 1 commit
52 - (merged to 'next' on 2013-07-11 at 7fbe8bd)
53 - + remote-http: use argv-array
41
42 +* bc/send-email-use-port-as-separate-param (2013-07-04) 1 commit
43 + (merged to 'next' on 2013-07-09 at a569eb5)
44 + + send-email: provide port separately from hostname
45
56 -* jk/maint-config-multi-order (2013-07-07) 1 commit
57 - (merged to 'next' on 2013-07-09 at 0db1db9)
58 - + git-config(1): clarify precedence of multiple values
46 + Pass port number as a separate argument when send-email initializes
47 + Net::SMTP, instead of as a part of the hostname, i.e. host:port.
48 + This allows GSSAPI codepath to match with the hostname given.
49
50
61 -* jk/pull-to-integrate (2013-07-08) 2 commits
62 - (merged to 'next' on 2013-07-09 at 2ecac24)
63 - + pull: change the description to "integrate" changes
64 - + push: avoid suggesting "merging" remote changes
51 +* bp/mediawiki-preview (2013-07-08) 7 commits
52 + (merged to 'next' on 2013-07-12 at 870890a)
53 + + git-remote-mediawiki: add preview subcommand into git mw
54 + + git-remote-mediawiki: add git-mw command
55 + + git-remote-mediawiki: factoring code between git-remote-mediawiki and Git::Mediawiki
56 + + git-remote-mediawiki: update tests to run with the new bin-wrapper
57 + + git-remote-mediawiki: add a git bin-wrapper for developement
58 + + wrap-for-bin: make bin-wrappers chainable
59 + + git-remote-mediawiki: introduction of Git::Mediawiki.pm
60
61 + Add a command to allow previewing the contents locally before
62 + pushing it out, when working with a MediaWiki remote.
63
67 -* ml/cygwin-does-not-have-fifo (2013-07-05) 1 commit
68 - (merged to 'next' on 2013-07-09 at 7d6849d)
69 - + test-lib.sh - cygwin does not have usable FIFOs
64 + I personally do not think this belongs to Git. If you are working
65 + on a set of AsciiDoc source files, you sure do want to locally
66 + format to preview what you will be pushing out, and if you are
67 + working on a set of C or Java source files, you do want to test it
68 + before pushing it out, too. That kind of thing belongs to your
69 + build script, not to your SCM.
70
71 + But I'll let it pass, as this is only a contrib/ thing.
72
72 -* ms/remote-tracking-branches-in-doc (2013-07-03) 1 commit
73 - (merged to 'next' on 2013-07-09 at 411a8bd)
74 - + Change "remote tracking" to "remote-tracking"
73
74 +* cp/submodule-custom-update (2013-07-03) 1 commit
75 + (merged to 'next' on 2013-07-09 at 3d27516)
76 + + submodule update: allow custom command to update submodule working tree
77
77 -* rr/name-rev-stdin-doc (2013-07-07) 1 commit
78 - (merged to 'next' on 2013-07-09 at 7cfbff6)
79 - + name-rev doc: rewrite --stdin paragraph
78 + In addition to the choice from "rebase, merge, or checkout-detach",
79 + allow a custom command to be used in "submodule update" to update
80 + the working tree of submodules.
81
82
82 -* rs/pickaxe-simplify (2013-07-07) 1 commit
83 - (merged to 'next' on 2013-07-11 at c5972f7)
84 - + diffcore-pickaxe: simplify has_changes and contains
83 +* es/overlapping-range-set (2013-07-09) 2 commits
84 + (merged to 'next' on 2013-07-11 at 3df5a94)
85 + + range_set: fix coalescing bug when range is a subset of another
86 + + t4211: fix broken test when one -L range is subset of another
87
88
87 -* tf/gitweb-extra-breadcrumbs (2013-07-04) 1 commit
88 - (merged to 'next' on 2013-07-09 at 525331b)
89 - + gitweb: allow extra breadcrumbs to prefix the trail
89 +* fg/submodule-clone-depth (2013-07-03) 1 commit
90 + (merged to 'next' on 2013-07-09 at ab156f3)
91 + + Add --depth to submodule update/add
92
91 - An Gitweb installation that is a part of larger site can optionally
92 - show extra links that point at the levels higher than the Gitweb
93 - pages itself in the link hierarchy of pages.
93 + Allow shallow-cloning of submodules with "git submodule update".
94
95
96 -* tr/test-lint-no-export-assignment-in-shell (2013-07-08) 2 commits
97 - (merged to 'next' on 2013-07-09 at 6f10ea2)
98 - + test-lint: detect 'export FOO=bar'
99 - + t9902: fix 'test A == B' to use = operator
96 +* jc/revert-clone-doc-update-for-push-from-shallow (2013-07-15) 1 commit
97 + + Revert "git-clone.txt: remove the restriction on pushing from a shallow clone"
98 +
99 +
100 +* jk/fetch-pack-many-refs (2013-07-02) 3 commits
101 + (merged to 'next' on 2013-07-09 at a53b7c7)
102 + + fetch-pack: avoid quadratic behavior in rev_list_push
103 + + commit.c: make compare_commits_by_commit_date global
104 + + fetch-pack: avoid quadratic list insertion in mark_complete
105 +
106 + Fetching between repositories with many refs employed O(n^2)
107 + algorithm to match up the common objects, which has been corrected.
108 +
109 +
110 +* jk/format-patch-from (2013-07-03) 2 commits
111 + (merged to 'next' on 2013-07-09 at 6ed86d5)
112 + + teach format-patch to place other authors into in-body "From"
113 + + pretty.c: drop const-ness from pretty_print_context
114 +
115 + "git format-patch" learned "--from[=whom]" option, which sets the
116 + "From: " header to the specified person (or the person who runs the
117 + command, if "=whom" part is missing) and move the original author
118 + information to an in-body From: header as necessary.
119 +
120 +
121 +* jk/in-pack-size-measurement (2013-07-12) 10 commits
122 + (merged to 'next' on 2013-07-12 at 5ba720f)
123 + + pack-revindex: radix-sort the revindex
124 + + pack-revindex: use unsigned to store number of objects
125 + + cat-file: split --batch input lines on whitespace
126 + + cat-file: add %(objectsize:disk) format atom
127 + + cat-file: add --batch-check=<format>
128 + + cat-file: refactor --batch option parsing
129 + + cat-file: teach --batch to stream blob objects
130 + + t1006: modernize output comparisons
131 + + teach sha1_object_info_extended a "disk_size" query
132 + + zero-initialize object_info structs
133 + (this branch is used by jk/cat-file-batch-optim.)
134 +
135 + Allow on-disk footprint of objects in packfiles (often they are a
136 + lot smaller than their true size, when expressed as deltas).
137 +
138 +
139 +* jk/maint-clone-shared-no-connectivity-validation (2013-07-08) 1 commit
140 + (merged to 'next' on 2013-07-11 at 8183412)
141 + + clone: drop connectivity check for local clones
142 + (this branch is used by jk/clone-shared-no-connectivity-validation.)
143 +
144 + "git clone -s/-l" is a filesystem level copy and does not offer any
145 + protection against source repository being corrupt. While the
146 + connectivity validation checks commits and trees being readable, it
147 + made the otherwise instantaneous local modes of clone much more
148 + expensive, without protecting blob data from bitflips.
149 +
150 +
151 +* mv/merge-ff-tristate (2013-07-02) 1 commit
152 + (merged to 'next' on 2013-07-09 at c32b95d)
153 + + merge: handle --ff/--no-ff/--ff-only as a tri-state option
154 +
155 + The configuration variable "merge.ff" was cleary a tri-state to
156 + choose one from "favor fast-forward when possible", "always create
157 + a merge even when the history could fast-forward" and "do not
158 + create any merge, only update when the history fast-forwards", but
159 + the command line parser did not implement the usual convention of
160 + "last one wins, and command line overrides the configuration"
161 + correctly.
162 +
163 +
164 +* rr/rebase-reflog-message-reword (2013-06-23) 2 commits
165 + (merged to 'next' on 2013-07-11 at 59921e0)
166 + + rebase -i: use a better reflog message
167 + + rebase: use a better reflog message
168 +
169 + "git rebase [-i]" used to leave just "rebase" as its reflog message
170 + for some operations. This rewords them to be more informative.
171 +
172 +
173 +* rs/mailmap-himself (2013-07-17) 1 commit
174 + + .mailmap: René Scharfe has a new email address
175 +
176 +
177 +* sb/mailmap-updates (2013-07-17) 3 commits
178 + + .mailmap: combine more (email, name) to individual persons
179 + (merged to 'next' on 2013-07-15 at 61c965a)
180 + + .mailmap: Combine more (email, name) to individual persons
181 + + .mailmap: Map email addresses to names
182
183 --------------------------------------------------
184 [New Topics]
185
104 -* es/check-mailmap (2013-07-11) 2 commits
105 - - t4203: test check-mailmap command invocation
106 - - builtin: add git-check-mailmap command
186 +* db/show-ref-head (2013-07-17) 1 commit
187 + (merged to 'next' on 2013-07-18 at 73797d0)
188 + + show-ref: make --head always show the HEAD ref
189
108 - A new command to allow scripts to query the mailmap information.
190 + The "--head" option to "git show-ref" was only to add "HEAD" to the
191 + list of candidate refs to be filtered by the usual rules
192 + (e.g. "--heads" that only show refs under refs/heads). Change the
193 + meaning of the option to always show "HEAD" regardless of what
194 + filtering will be applied to any other ref (this is a backward
195 + incompatible change, so I may need to add an entry to the Release
196 + Notes).
197
110 - Expecting a reroll to lose the -z option.
198 + Will merge to 'master'.
199
200
113 -* jc/check-x-z (2013-07-11) 4 commits
114 - - check-attr -z: a single -z should apply to both input and output
115 - - check-ignore -z: a single -z should apply to both input and output
116 - - check-attr: the name of the character is NUL, not NULL
117 - - check-ignore: the name of the character is NUL, not NULL
201 +* dw/request-pull-diag (2013-07-17) 1 commit
202 + (merged to 'next' on 2013-07-18 at d4406de)
203 + + request-pull: improve error message for invalid revision args
204
119 - "git check-ignore -z" applied the NUL termination to both its input
120 - (with --stdin) and its output, but "git check-attr -z" ignored the
121 - option on the output side.
205 + Will merge to 'master'.
206
123 - This is potentially a backward incompatible fix. I am tempted to
124 - merge this to and keep it in 'next' for a while to see if anybody
125 - screams before deciding if we want to do anything to help existing
126 - users (there may be none).
207
208 +* es/blame-L-breakage (2013-07-17) 6 commits
209 + (merged to 'next' on 2013-07-18 at cfd871a)
210 + + blame-options.txt: explain that -L <start> and <end> are optional
211 + + blame-options.txt: place each -L option variation on its own line
212 + + t8001/t8002 (blame): add blame -L :funcname tests
213 + + t8001/t8002 (blame): add blame -L tests
214 + + t8001/t8002 (blame): modernize style
215 + + line-range: fix "blame -L X,-N" regression
216
129 -* jk/cat-file-batch-optim (2013-07-12) 8 commits
130 - - sha1_object_info_extended: pass object_info to helpers
131 - - sha1_object_info_extended: make type calculation optional
132 - - packed_object_info: make type lookup optional
133 - - packed_object_info: hoist delta type resolution to helper
134 - - sha1_loose_object_info: make type lookup optional
135 - - sha1_object_info_extended: rename "status" to "type"
136 - - cat-file: disable object/refname ambiguity check for batch mode
137 - - Merge branch 'nd/warn-ambiguous-object-name' into jk/cat-file-batch-optim
138 - (this branch uses jk/in-pack-size-measurement.)
217 + The refactoring made for parsing "-L" option recently to support
218 + "git log -L" seems to have broken "git blame -L X,-5" to show 5
219 + lines leading to X.
220
140 - If somebody wants to only know on-disk footprint of an object
141 - without having to know its type or payload size, we can bypass a
142 - lot of code to cheaply learn it.
221 + Will merge to 'master'.
222
223
145 -* jk/t0008-sigpipe-fix (2013-07-12) 1 commit
146 - - t0008: avoid SIGPIPE race condition on fifo
224 +* jc/diff-filter-negation (2013-07-17) 6 commits
225 + - diff: deprecate -q option to diff-files
226 + - diff: allow lowercase letter to specify what change class to exclude
227 + - diff: reject unknown change class given to --diff-filter
228 + - diff: preparse --diff-filter string argument
229 + - diff: factor out match_filter()
230 + - diff: pass the whole diff_options to diffcore_apply_filter()
231 + (this branch is used by jc/diff-2.0-remove-q-synonym-for-no-deletion.)
232
148 - Fix for recent test breakage on 'master'.
233 + Teach "git diff --diff-filter" to express "I do not want to see
234 + these classes of changes" more directly by listing only the
235 + unwanted ones in lowercase (e.g. "--diff-filter=d" will show
236 + everything but deletion) and deprecate "diff-files -q" which did
237 + the same thing as "--diff-filter=d".
238
150 - Will merge to 'next'.
239 + Waiting for comments.
240
241
153 -* mk/upload-pack-off-by-one-dead-code-removal (2013-07-11) 1 commit
154 - - upload-pack: Remove a piece of dead code
242 +* mh/packed-refs-do-one-ref-recursion (2013-07-17) 1 commit
243 + - do_one_ref(): save and restore value of current_ref
244
156 - Will merge to 'next'.
245 + May want some tests?
246 +
247 +
248 +* ml/avoid-using-grep-on-crlf-files (2013-07-18) 1 commit
249 + - test-lib.sh - define and use GREP_STRIPS_CR
250 +
251 + On systems that understand a CRLF as a line ending, tests in this
252 + script that worked on files with CRLF line endings using "grep" to
253 + extract matching lines may lose the CR at the end of lines that
254 + match, causing the actual output not to match the expected output.
255 +
256 + Waiting for success reports from folks on various flavours of
257 + Windows ports.
258 +
259 +
260 +* ml/cygwin-updates (2013-07-15) 2 commits
261 + - Use compat/regex on Cygwin
262 + - Cygwin has trustable filemode
263 +
264 + This seems to depend heavily on Cygwin version differences.
265 +
266 +
267 +* mm/diff-no-patch-synonym-to-s (2013-07-17) 6 commits
268 + (merged to 'next' on 2013-07-18 at 3b893d6)
269 + + Documentation/git-log.txt: capitalize section names
270 + + Documentation: move description of -s, --no-patch to diff-options.txt
271 + + Documentation/git-show.txt: include common diff options, like git-log.txt
272 + + diff: allow --patch & cie to override -s/--no-patch
273 + + diff: allow --no-patch as synonym for -s
274 + + t4000-diff-format.sh: modernize style
275 +
276 + "git show -s" was less discoverable than it should be.
277 +
278 + Will merge to 'master'.
279
280
159 -* sb/mailmap-updates (2013-07-12) 1 commit
160 - - .mailmap: Map email addresses to names
281 +* nd/magic-pathspec (2013-07-17) 47 commits
282 + - t6131 - skip tests if on case-insensitive file system
283 + - parse_pathspec: accept :(icase)path syntax
284 + - pathspec: support :(glob) syntax
285 + - pathspec: make --literal-pathspecs disable pathspec magic
286 + - pathspec: support :(literal) syntax for noglob pathspec
287 + - kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
288 + - parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
289 + - parse_pathspec: make sure the prefix part is wildcard-free
290 + - rename field "raw" to "_raw" in struct pathspec
291 + - tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
292 + - remove match_pathspec() in favor of match_pathspec_depth()
293 + - remove init_pathspec() in favor of parse_pathspec()
294 + - remove diff_tree_{setup,release}_paths
295 + - convert common_prefix() to use struct pathspec
296 + - convert add_files_to_cache to take struct pathspec
297 + - convert {read,fill}_directory to take struct pathspec
298 + - convert refresh_index to take struct pathspec
299 + - convert report_path_error to take struct pathspec
300 + - checkout: convert read_tree_some to take struct pathspec
301 + - convert unmerge_cache to take struct pathspec
302 + - convert run_add_interactive to use struct pathspec
303 + - convert read_cache_preload() to take struct pathspec
304 + - line-log: convert to use parse_pathspec
305 + - reset: convert to use parse_pathspec
306 + - add: convert to use parse_pathspec
307 + - check-ignore: convert to use parse_pathspec
308 + - archive: convert to use parse_pathspec
309 + - ls-files: convert to use parse_pathspec
310 + - rm: convert to use parse_pathspec
311 + - checkout: convert to use parse_pathspec
312 + - rerere: convert to use parse_pathspec
313 + - status: convert to use parse_pathspec
314 + - commit: convert to use parse_pathspec
315 + - clean: convert to use parse_pathspec
316 + - guard against new pathspec magic in pathspec matching code
317 + - parse_pathspec: support prefixing original patterns
318 + - parse_pathspec: support stripping/checking submodule paths
319 + - parse_pathspec: support stripping submodule trailing slashes
320 + - parse_pathspec: add special flag for max_depth feature
321 + - convert some get_pathspec() calls to parse_pathspec()
322 + - parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags
323 + - parse_pathspec: save original pathspec for reporting
324 + - add parse_pathspec() that converts cmdline args to struct pathspec
325 + - pathspec: add copy_pathspec
326 + - pathspec: i18n-ize error strings in pathspec parsing code
327 + - move struct pathspec and related functions to pathspec.[ch]
328 + - clean: remove unused variable "seen"
329 +
330 + Use "struct pathspec" interface in more places, instead of array of
331 + characters, the latter of which cannot express magic pathspecs
332 + (e.g. ":(icase)makefile" that matches both Makefile and makefile).
333
334 Will merge to 'next'.
335
336
165 -* tf/gitweb-ss-tweak (2013-07-09) 2 commits
166 - - gitweb: vertically centre contents of page footer
167 - - gitweb: Ensure OPML text fits inside its box.
337 +* rh/template-updates (2013-07-15) 3 commits
338 + - templates: spell ASCII in uppercase in pre-commit hook
339 + - templates: Reformat pre-commit hook's message
340 + - templates: Use heredoc in pre-commit hook
341
169 - Comments?
342 + This is an earlier part of a 6 patch series, with log message
343 + corrected.
344
345
172 -* tr/fd-gotcha-fixes (2013-07-12) 2 commits
173 - - run-command: dup_devnull(): guard against syscalls failing
174 - - git_mkstemps: correctly test return value of open()
346 +* sb/misc-fixes (2013-07-15) 3 commits
347 + - diff.c: Do not initialize a variable, which gets reassigned anyway.
348 + - commit: Fix a memory leak in determine_author_info
349 + - daemon.c:handle: Remove unneeded check for null pointer.
350
176 - Two places we did not check return value (expected to be a file
177 - descriptor) correctly.
351 + Assorted code cleanups and a minor fix.
352
353 + Will merge to 'next'.
354
180 -* jc/mailmap-case-insensitivity (2013-07-12) 4 commits
181 - - add a testcase for checking case insensitivity of mailmap
182 - - mailmap: style fixes
183 - - mailmap: do not downcase mailmap entries
184 - - mailmap: do not lose single-letter names
355
186 - The test may need to be rerolled and enhanced.
356 +* sb/parse-object-buffer-eaten (2013-07-17) 1 commit
357 + (merged to 'next' on 2013-07-18 at 364689c)
358 + + parse_object_buffer: correct freeing the buffer
359
360 + Will merge to 'master'.
361
189 -* ms/fetch-prune-configuration (2013-07-12) 2 commits
190 - - squash???
191 - - fetch: make --prune configurable
362
193 - Allow fetch.prune and remote.*.prune configuration variables to be set,
194 - and "git fetch" to behave as if "--prune" is given.
363 +* tr/do-not-call-submodules-subprojects (2013-07-18) 2 commits
364 + (merged to 'next' on 2013-07-18 at 6386fd5)
365 + + show-branch: fix description of --date-order
366 + + apply, entry: speak of submodules instead of subprojects
367
196 ---------------------------------------------------
197 -[Stalled]
368 + Will merge to 'master'.
369
199 -* rr/send-email-ssl-verify (2013-07-06) 6 commits
200 - - SQUASH??? update to support SSL_ca_file as well as SSL_ca_path
201 - - SQUASH??? send-email: cover both smtps and starttls cases
202 - - fixup! send-email: squelch warning from Net::SMTP::SSL
203 - - SQUASH??? send-email giving default value to ssl-cert-path with ||= assignment
204 - - send-email: introduce sendemail.smtpsslcertpath
205 - - send-email: squelch warning from Net::SMTP::SSL
370
207 - The issue seems a lot deeper than the initial attempt and needs
208 - somebody to sit down and sort out to get the version dependencies
209 - and lazy loading right.
371 +* tr/protect-low-3-fds (2013-07-17) 2 commits
372 + (merged to 'next' on 2013-07-18 at 504d972)
373 + + git: ensure 0/1/2 are open in main()
374 + + daemon/shell: refactor redirection of 0/1/2 from /dev/null
375
376 + When "git" is spawned in such a way that any of the low 3 file
377 + descriptors is closed, our first open() may yield file descriptor 2,
378 + and writing error message to it would screw things up in a big way.
379 +
380 + Will merge to 'master'.
381 +
382 +
383 +* jc/diff-2.0-remove-q-synonym-for-no-deletion (2013-07-18) 1 commit
384 + - diff: remove "diff-files -q" at Git 2.0 version boundary
385 + (this branch uses jc/diff-filter-negation.)
386 +
387 + This obviously has to wait until Git 2.0.
388 +
389 +--------------------------------------------------
390 +[Stalled]
391
392 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
393 - ### DONTMERGE: needs better explanation on what config they need
@@ -238,18 +418,17 @@ of the repositories listed at
418
419
420 * jl/submodule-mv (2013-04-23) 5 commits
241 - - submodule.c: duplicate real_path's return value
242 - - rm: delete .gitmodules entry of submodules removed from the work tree
243 - - Teach mv to update the path entry in .gitmodules for moved submodules
244 - - Teach mv to move submodules using a gitfile
245 - - Teach mv to move submodules together with their work trees
421 + . submodule.c: duplicate real_path's return value
422 + . rm: delete .gitmodules entry of submodules removed from the work tree
423 + . Teach mv to update the path entry in .gitmodules for moved submodules
424 + . Teach mv to move submodules using a gitfile
425 + . Teach mv to move submodules together with their work trees
426
427 "git mv A B" when moving a submodule A does "the right thing",
428 inclusing relocating its working tree and adjusting the paths in
429 the .gitmodules file.
430
251 - Waiting for a reroll.
252 - $gmane/226294
431 + Ejected from 'pu', as it conflicts with nd/magic-pathspec.
432
433
434 * jk/list-objects-sans-blobs (2013-06-06) 4 commits
@@ -280,11 +459,13 @@ of the repositories listed at
459 there are some doubts on the list; kicked back to 'pu'.
460
461
283 -* mh/multimail (2013-04-21) 1 commit
284 - - git-multimail: a replacement for post-receive-email
462 +* mh/multimail (2013-07-15) 2 commits
463 + - post-receive-email: deprecate script in favor of git-multimail
464 + - git-multimail: an improved replacement for post-receive-email
465 +
466 + An enhanced "post-receive" hook to send e-mail messages.
467
286 - Waiting for the initial history to pull from.
287 - $gmane/223564
468 + Will wait for the review for the tip one to settle and then merge.
469
470
471 * jc/format-patch (2013-04-22) 2 commits
@@ -327,6 +508,125 @@ of the repositories listed at
508 --------------------------------------------------
509 [Cooking]
510
511 +* rr/send-email-ssl-verify (2013-07-18) 1 commit
512 + - send-email: be explicit with SSL certificate verification
513 +
514 + Waiting for test reports.
515 +
516 +
517 +* es/check-mailmap (2013-07-13) 2 commits
518 + - t4203: test check-mailmap command invocation
519 + - builtin: add git-check-mailmap command
520 +
521 + A new command to allow scripts to query the mailmap information.
522 +
523 + Will merge to 'next'.
524 +
525 +
526 +* jc/check-x-z (2013-07-11) 4 commits
527 + (merged to 'next' on 2013-07-15 at 62751bc)
528 + + check-attr -z: a single -z should apply to both input and output
529 + + check-ignore -z: a single -z should apply to both input and output
530 + + check-attr: the name of the character is NUL, not NULL
531 + + check-ignore: the name of the character is NUL, not NULL
532 +
533 + "git check-ignore -z" applied the NUL termination to both its input
534 + (with --stdin) and its output, but "git check-attr -z" ignored the
535 + option on the output side.
536 +
537 + This is potentially a backward incompatible fix. I am tempted to
538 + merge this to and keep it in 'next' for a while to see if anybody
539 + screams before deciding if we want to do anything to help existing
540 + users (there may be none).
541 +
542 + Waiting for failure reports ;-)
543 +
544 +
545 +* jk/cat-file-batch-optim (2013-07-18) 9 commits
546 + - Fix some sparse warnings
547 + - sha1_object_info_extended: pass object_info to helpers
548 + - sha1_object_info_extended: make type calculation optional
549 + - packed_object_info: make type lookup optional
550 + - packed_object_info: hoist delta type resolution to helper
551 + - sha1_loose_object_info: make type lookup optional
552 + - sha1_object_info_extended: rename "status" to "type"
553 + - cat-file: disable object/refname ambiguity check for batch mode
554 + - Merge branch 'nd/warn-ambiguous-object-name' into jk/cat-file-batch-optim
555 +
556 + If somebody wants to only know on-disk footprint of an object
557 + without having to know its type or payload size, we can bypass a
558 + lot of code to cheaply learn it.
559 +
560 + Will merge to 'next'.
561 +
562 +
563 +* jk/t0008-sigpipe-fix (2013-07-12) 1 commit
564 + (merged to 'next' on 2013-07-15 at cead4b2)
565 + + t0008: avoid SIGPIPE race condition on fifo
566 +
567 + Fix for recent test breakage on 'master'.
568 +
569 + Will merge to 'master'.
570 +
571 +
572 +* mk/upload-pack-off-by-one-dead-code-removal (2013-07-15) 1 commit
573 + (merged to 'next' on 2013-07-15 at a8f55a2)
574 + + upload-pack: remove a piece of dead code
575 +
576 + Will merge to 'master'.
577 +
578 +
579 +* tf/gitweb-ss-tweak (2013-07-15) 4 commits
580 + - gitweb: make search help link less ugly
581 + - gitweb: omit the repository owner when it is unset
582 + - gitweb: vertically centre contents of page footer
583 + - gitweb: ensure OPML text fits inside its box
584 +
585 + Waiting for comments.
586 +
587 +
588 +* tr/fd-gotcha-fixes (2013-07-12) 2 commits
589 + (merged to 'next' on 2013-07-18 at 30f4fdf)
590 + + run-command: dup_devnull(): guard against syscalls failing
591 + + git_mkstemps: correctly test return value of open()
592 +
593 + Two places we did not check return value (expected to be a file
594 + descriptor) correctly.
595 +
596 + Will merge to 'master'.
597 +
598 +
599 +* jc/mailmap-case-insensitivity (2013-07-15) 9 commits
600 + (merged to 'next' on 2013-07-18 at 83341ac)
601 + + mailmap: style fixes
602 + + mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification
603 + + mailmap: debug: eliminate -Wformat field precision type warning
604 + + mailmap: debug: fix malformed fprintf() format conversion specification
605 + + mailmap: debug: fix out-of-order fprintf() arguments
606 + + mailmap: do not downcase mailmap entries
607 + + t4203: demonstrate loss of uppercase characters in canonical email
608 + + mailmap: do not lose single-letter names
609 + + t4203: demonstrate loss of single-character name in mailmap entry
610 +
611 + The mailmap mechanism unnecessarily downcased the e-mail addresses
612 + in the output, and also ignored the human name when it is a single
613 + character name.
614 +
615 + This now has become Eric Sunshine's series, even though it still is
616 + under jc/ hierarchy.
617 +
618 + Will merge to 'master'.
619 +
620 +
621 +* ms/fetch-prune-configuration (2013-07-18) 1 commit
622 + - fetch: make --prune configurable
623 +
624 + Allow fetch.prune and remote.*.prune configuration variables to be set,
625 + and "git fetch" to behave as if "--prune" is given.
626 +
627 + Will merge to 'next'.
628 +
629 +
630 * jk/gcc-function-attributes (2013-07-09) 3 commits
631 (merged to 'next' on 2013-07-12 at 5a7081f)
632 + wt-status: use "format" function attribute for status_printf
@@ -346,30 +646,28 @@ of the repositories listed at
646
647 Allows custom curl configuration per URL when talking over http.
648
649 + There is a reroll that needs to be picked up after discussion.
650
350 -* hv/config-from-blob (2013-07-12) 5 commits
351 - - do not die when error in config parsing of buf occurs
352 - - teach config --blob option to parse config from database
353 - - config: make parsing stack struct independent from actual data source
354 - - config: drop cf validity check in get_next_char()
355 - - config: factor out config file stack management
356 -
357 - Rerolled.
651
359 - Will merge to 'next'.
360 -
361 -
362 -* bc/push-match-many-refs (2013-07-08) 1 commit
363 - (merged to 'next' on 2013-07-11 at df4d56d)
364 - + remote.c: avoid O(m*n) behavior in match_push_refs
652 +* hv/config-from-blob (2013-07-12) 5 commits
653 + (merged to 'next' on 2013-07-15 at 9ab7f3f)
654 + + do not die when error in config parsing of buf occurs
655 + + teach config --blob option to parse config from database
656 + + config: make parsing stack struct independent from actual data source
657 + + config: drop cf validity check in get_next_char()
658 + + config: factor out config file stack management
659
366 - Pushing to repositories with many refs employed O(m*n) algorithm
367 - where n is the number of refs on the receiving end.
660 + Allow configuration data to be read from in-tree blob objects,
661 + which would help working in a bare repository and submodule
662 + updates.
663
664 Will merge to 'master'.
665
666
372 -* jc/name-rev-exact-ref (2013-07-09) 3 commits
667 +* jc/name-rev-exact-ref (2013-07-18) 5 commits
668 + (merged to 'next' on 2013-07-18 at c8bc00c)
669 + + describe: fix --contains when a tag is given as input
670 + + name-rev: differentiate between tags and commits they point at
671 (merged to 'next' on 2013-07-11 at fd5b30c)
672 + describe: use argv-array
673 + name-rev: allow converting the exact object name at the tip of a ref
@@ -382,40 +680,6 @@ of the repositories listed at
680 Will merge to 'master'.
681
682
385 -* jk/in-pack-size-measurement (2013-07-12) 10 commits
386 - (merged to 'next' on 2013-07-12 at 5ba720f)
387 - + pack-revindex: radix-sort the revindex
388 - + pack-revindex: use unsigned to store number of objects
389 - + cat-file: split --batch input lines on whitespace
390 - + cat-file: add %(objectsize:disk) format atom
391 - + cat-file: add --batch-check=<format>
392 - + cat-file: refactor --batch option parsing
393 - + cat-file: teach --batch to stream blob objects
394 - + t1006: modernize output comparisons
395 - + teach sha1_object_info_extended a "disk_size" query
396 - + zero-initialize object_info structs
397 - (this branch is used by jk/cat-file-batch-optim.)
398 -
399 - Allow on-disk footprint of objects in packfiles (often they are a
400 - lot smaller than their true size, when expressed as deltas).
401 -
402 - Will merge to 'master'.
403 -
404 -
405 -* jk/maint-clone-shared-no-connectivity-validation (2013-07-08) 1 commit
406 - (merged to 'next' on 2013-07-11 at 8183412)
407 - + clone: drop connectivity check for local clones
408 - (this branch is used by jk/clone-shared-no-connectivity-validation.)
409 -
410 - "git clone -s/-l" is a filesystem level copy and does not offer any
411 - protection against source repository being corrupt. While the
412 - connectivity validation checks commits and trees being readable, it
413 - made the otherwise instantaneous local modes of clone much more
414 - expensive, without protecting blob data from bitflips.
415 -
416 - Will merge to 'master'.
417 -
418 -
683 * km/svn-1.8-serf-only (2013-07-07) 2 commits
684 (merged to 'next' on 2013-07-12 at 70e0b95)
685 + git-svn: allow git-svn fetching to work using serf
@@ -424,6 +688,8 @@ of the repositories listed at
688 Subversion 1.8.0 that was recently released breaks older subversion
689 clients coming over http/https in various ways.
690
691 + Are people on older Subversion happy with this change?
692 +
693
694 * tr/merge-recursive-index-only (2013-07-07) 3 commits
695 - merge-recursive: -Xindex-only to leave worktree unchanged
@@ -431,15 +697,7 @@ of the repositories listed at
697 - merge-recursive: remove dead conditional in update_stages()
698
699
434 -* es/overlapping-range-set (2013-07-09) 2 commits
435 - (merged to 'next' on 2013-07-11 at 3df5a94)
436 - + range_set: fix coalescing bug when range is a subset of another
437 - + t4211: fix broken test when one -L range is subset of another
438 -
439 - Will merge to 'master'.
440 -
441 -
442 -* jc/push-cas (2013-07-11) 6 commits
700 +* jc/push-cas (2013-07-17) 6 commits
701 - t5533: test "push --lockref"
702 - push --lockref: tie it all together
703 - push --lockref: implement logic to populate old_sha1_expect[]
@@ -453,56 +711,16 @@ of the repositories listed at
711
712 The machinery is more or less ready. The "--force" option is again
713 the big red button to override any safety, thanks to J6t's sanity
456 - (the original round allowed --lockref to defeat --force).
714 + (the original round allowed --lockref to defeat --force). The
715 + logic to choose the default for --lockref is suitable only for the
716 + simplest workflows, and may hurt users more than help them.
717
718 Waiting for comments.
719
720
721 * nd/const-struct-cache-entry (2013-07-09) 1 commit
462 - - Convert "struct cache_entry *" to "const ..." wherever possible
463 -
464 - Will merge to 'next'.
465 -
466 -
467 -* jk/fetch-pack-many-refs (2013-07-02) 3 commits
468 - (merged to 'next' on 2013-07-09 at a53b7c7)
469 - + fetch-pack: avoid quadratic behavior in rev_list_push
470 - + commit.c: make compare_commits_by_commit_date global
471 - + fetch-pack: avoid quadratic list insertion in mark_complete
472 -
473 - Fetching between repositories with many refs employed O(n^2)
474 - algorithm to match up the common objects, which has been corrected.
475 -
476 - Will merge to 'master'.
477 -
478 -
479 -* jk/format-patch-from (2013-07-03) 2 commits
480 - (merged to 'next' on 2013-07-09 at 6ed86d5)
481 - + teach format-patch to place other authors into in-body "From"
482 - + pretty.c: drop const-ness from pretty_print_context
483 -
484 - "git format-patch" learned "--from[=whom]" option, which sets the
485 - "From: " header to the specified person (or the person who runs the
486 - command, if "=whom" part is missing) and move the original author
487 - information to an in-body From: header as necessary.
488 -
489 - Will merge to 'master'.
490 -
491 -
492 -* bc/commit-invalid-utf8 (2013-07-09) 3 commits
493 - (merged to 'next' on 2013-07-11 at a2ee572)
494 - + commit: reject non-characters
495 - + commit: reject overlong UTF-8 sequences
496 - + commit: reject invalid UTF-8 codepoints
497 -
498 - Tighten up autodetection of UTF-8 encoded strings.
499 -
500 - Will merge to 'master'.
501 -
502 -
503 -* bc/send-email-use-port-as-separate-param (2013-07-04) 1 commit
504 - (merged to 'next' on 2013-07-09 at a569eb5)
505 - + send-email: provide port separately from hostname
722 + (merged to 'next' on 2013-07-15 at 9ce0122)
723 + + Convert "struct cache_entry *" to "const ..." wherever possible
724
725 Will merge to 'master'.
726
@@ -521,90 +739,24 @@ of the repositories listed at
739 in-tree. Assuming that "git contact" is something we may want to
740 have as a member of the official set of commands someday, that is.
741
524 - Will merge to 'next'.
525 -
526 -
527 -* cp/submodule-custom-update (2013-07-03) 1 commit
528 - (merged to 'next' on 2013-07-09 at 3d27516)
529 - + submodule update: allow custom command to update submodule working tree
530 -
531 - In addition to the choice from "rebase, merge, or checkout-detach",
532 - allow a custom command to be used in "submodule update" to update
533 - the working tree of submodules.
534 -
535 - Will merge to 'master'.
536 -
537 -
538 -* mv/merge-ff-tristate (2013-07-02) 1 commit
539 - (merged to 'next' on 2013-07-09 at c32b95d)
540 - + merge: handle --ff/--no-ff/--ff-only as a tri-state option
541 -
542 - The configuration variable "merge.ff" was cleary a tri-state to
543 - choose one from "favor fast-forward when possible", "always create
544 - a merge even when the history could fast-forward" and "do not
545 - create any merge, only update when the history fast-forwards", but
546 - the command line parser did not implement the usual convention of
547 - "last one wins, and command line overrides the configuration"
548 - correctly.
549 -
550 - Will merge to 'master'.
551 -
552 -
553 -* rr/rebase-reflog-message-reword (2013-06-23) 2 commits
554 - (merged to 'next' on 2013-07-11 at 59921e0)
555 - + rebase -i: use a better reflog message
556 - + rebase: use a better reflog message
557 -
558 - "git rebase [-i]" used to leave just "rebase" as its reflog message
559 - for some operations. This rewords them to be more informative.
560 -
561 - Will merge to 'master'.
562 -
563 -
564 -* bp/mediawiki-preview (2013-07-08) 7 commits
565 - (merged to 'next' on 2013-07-12 at 870890a)
566 - + git-remote-mediawiki: add preview subcommand into git mw
567 - + git-remote-mediawiki: add git-mw command
568 - + git-remote-mediawiki: factoring code between git-remote-mediawiki and Git::Mediawiki
569 - + git-remote-mediawiki: update tests to run with the new bin-wrapper
570 - + git-remote-mediawiki: add a git bin-wrapper for developement
571 - + wrap-for-bin: make bin-wrappers chainable
572 - + git-remote-mediawiki: introduction of Git::Mediawiki.pm
573 -
574 - Add a command to allow previewing the contents locally before
575 - pushing it out, when working with a MediaWiki remote.
576 -
577 - I personally do not think this belongs to Git. If you are working
578 - on a set of AsciiDoc source files, you sure do want to locally
579 - format to preview what you will be pushing out, and if you are
580 - working on a set of C or Java source files, you do want to test it
581 - before pushing it out, too. That kind of thing belongs to your
582 - build script, not to your SCM.
742 + Perhaps this should be rebased on es/check-mailmap to utilize it.
743
584 - But I'll let it pass, as this is only a contrib/ thing.
744
586 - Will merge to 'master'.
587 -
588 -
589 -* fg/submodule-clone-depth (2013-07-03) 1 commit
590 - (merged to 'next' on 2013-07-09 at ab156f3)
591 - + Add --depth to submodule update/add
592 -
593 - Allow shallow-cloning of submodules with "git submodule update".
745 +* jc/pull-training-wheel (2013-07-18) 1 commit
746 + - pull: require choice between rebase/merge on non-fast-forward pull
747
595 - Will merge to 'master'.
748 + Make "git pull" (without arguments that say what branch to
749 + integrate from where) refuse with "it does not fast forward; choose
750 + between 'pull --merge' and 'pull --rebase'".
751
752 + See
753
598 -* jc/pull-training-wheel (2013-06-27) 1 commit
599 - - pull: require choice between rebase/merge on non-fast-forward pull
754 + http://thread.gmane.org/gmane.comp.version-control.git/225146/focus=225326
755 + http://thread.gmane.org/gmane.comp.version-control.git/225146/focus=229221
756
601 - Make "git pull" refuse with "it does not fast forward; choose between
602 - 'pull --merge' and 'pull --rebase'".
757 + for full discussion.
758
604 - John Keeping seems to want to restrict this to "git pull" without
605 - any other argument. I personally do not have a strong opinion
606 - either way, but I'm inclined to take such a patch to loosen the new
607 - logic with other people's support. Hint, hint...
759 + Waiting for reviews.
760
761
762 * jk/fast-import-empty-ls (2013-06-23) 4 commits
@@ -617,19 +769,10 @@ of the repositories listed at
769 $gmane/228741
770
771
620 -* rj/cygwin-clarify-use-of-cheating-lstat (2013-07-11) 1 commit
621 - - cygwin: Add fast_lstat() and fast_fstat() functions
622 -
623 - Turns quite a many uses of lstat() into fast_lstat() to mark
624 - callsites that allow "a faster but cheating and incorrect variant".
625 - Defining fast_lstat() to be the same as lstat(), is fine from
626 - correctness point of view, but it can be replaced with an
627 - alternative implementation that more quickly grabs only the part of
628 - the stat information that matter (e.g. cygwin). The places where
629 - we _do_ require a fully correct lstat() are left as lstat().
772 +* rj/cygwin-clarify-use-of-cheating-lstat (2013-07-18) 1 commit
773 + - cygwin: Remove the Win32 l/stat() implementation
774
631 - The damage this patch makes to the the core codepath on systems may
632 - be rather large from readability's point of view, though.
775 + Waiting for the discussion to settle.
776
777
778 * jc/reflog-doc (2013-06-19) 1 commit