1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Oct 2013, #06; Fri, 25)
4 X-master-at: 3d092bfc6f2d9a998967979f926c661e9762601c
5 X-next-at: 4bebb6611df42b82d24d2e1efd8b270ca0779f33
7 What's cooking in git.git (Oct 2013, #06; Fri, 25)
8 --------------------------------------------------
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
14 You can find the changes described here in the integration branches
15 of the repositories listed at
17 http://git-blame.blogspot.com/p/git-public-repositories.html
19 --------------------------------------------------
22 * bc/http-100-continue (2013-10-23) 1 commit
23 - http: add option to enable 100 Continue responses
25 Conditionally allow "100 Continue" responses to help use of
26 GSS-Negotiate authentication scheme over HTTP transport.
28 Seems to be still under discussion.
31 * jc/merge-base-reflog (2013-10-25) 2 commits
32 - merge-base: teach "--fork-point" mode
33 - merge-base: use OPT_CMDMODE and clarify the command line parsing
35 Code the logic in "pull --rebase" that figures out a fork point
36 from reflog entries in C.
39 * jk/date-c-double-semicolon (2013-10-24) 1 commit
40 - drop redundant semicolon in empty while
45 * jk/for-each-ref-skip-parsing (2013-10-24) 1 commit
46 - for-each-ref: avoid loading objects to print %(objectname)
51 * jk/pack-bitmap (2013-10-25) 19 commits
52 - pack-bitmap: implement optional name_hash cache
53 - t: add basic bitmap functionality tests
54 - repack: consider bitmaps when performing repacks
55 - repack: handle optional files created by pack-objects
56 - repack: turn exts array into array-of-struct
57 - repack: stop using magic number for ARRAY_SIZE(exts)
58 - pack-objects: implement bitmap writing
59 - rev-list: add bitmap mode to speed up object lists
60 - pack-objects: use bitmaps when packing objects
61 - pack-bitmap: add support for bitmap indexes
62 - documentation: add documentation for the bitmap format
63 - ewah: compressed bitmap implementation
64 - compat: add endianness helpers
65 - sha1_file: export `git_open_noatime`
66 - revision: allow setting custom limiter function
67 - pack-objects: factor out name_hash
68 - pack-objects: refactor the packing list
69 - revindex: export new APIs
70 - sha1write: make buffer const-correct
72 Borrows the bitmap index into packfiles from JGit to speed up
73 enumeration of objects involved in a commit range without having to
74 fully traverse the history.
77 * jk/refs-c-squelch-gcc (2013-10-24) 1 commit
78 - silence gcc array-bounds warning
83 * jk/robustify-parse-commit (2013-10-24) 6 commits
84 - checkout: do not die when leaving broken detached HEAD
85 - use parse_commit_or_die instead of custom message
86 - use parse_commit_or_die instead of segfaulting
87 - assume parse_commit checks for NULL commit
88 - assume parse_commit checks commit->object.parsed
89 - log_tree_diff: die when we fail to parse a commit
91 Will merge to 'next' after taking another look.
94 * mh/fetch-tags-in-addition-to-normal-refs (2013-10-24) 16 commits
95 - fetch, remote: properly convey --no-prune options to subprocesses
96 - builtin/remote.c:update(): use struct argv_array
97 - builtin/remote.c: reorder function definitions
98 - query_refspecs(): move some constants out of the loop
99 - fetch --prune: prune only based on explicit refspecs
100 - SQUASH??? --tags is no longer a short-hand
101 - fetch --tags: fetch tags *in addition to* other stuff
102 - builtin/fetch.c: reorder function definitions
103 - ref_remove_duplicates(): improve documentation comment
104 - ref_remove_duplicates(): simplify function
105 - ref_remove_duplicates(): avoid redundant bisection
106 - get_ref_map(): rename local variables
107 - api-remote.txt: correct section "struct refspec"
108 - t5510: check that "git fetch --prune --tags" does not prune branches
109 - t5510: prepare test refs more straightforwardly
110 - t5510: use the correct tag name in test
112 Some questionable paragraphs in the doc updates, but other than
113 that looks reasonably solid.
116 * nd/lift-path-max (2013-10-24) 2 commits
117 - checkout_entry(): clarify the use of topath[] parameter
118 - entry.c: convert checkout_entry to use strbuf
120 Will merge to 'next'.
123 * jk/pack-corruption-post-mortem (2013-10-25) 1 commit
124 - howto: add article on recovering a corrupted object
126 Will merge to 'next'.
129 * jk/reset-p-current-head-fix (2013-10-25) 2 commits
130 - reset: pass real rev name to add--interactive
131 - add-interactive: handle unborn branch in patch mode
133 "git reset -p HEAD" has codepath to special case it from resetting
134 to contents of other commits, but recent change broke it.
136 Will merge to 'next'.
139 * mf/graph-show-root (2013-10-25) 1 commit
140 - graph.c: mark root commit differently
142 Needs adjustments to some tests.
145 * nv/parseopt-opt-arg (2013-10-25) 1 commit
146 - rev-parse --parseopt: add the --sticked-long mode
148 Enhance "rev-parse --parseopt" mode to help parsing options with
149 an optional parameter.
151 --------------------------------------------------
154 * np/pack-v4 (2013-09-18) 90 commits
155 . packv4-parse.c: add tree offset caching
156 . t1050: replace one instance of show-index with verify-pack
157 . index-pack, pack-objects: allow creating .idx v2 with .pack v4
158 . unpack-objects: decode v4 trees
159 . unpack-objects: allow to save processed bytes to a buffer
162 Nico and Duy advancing the eternal vaporware pack-v4. This is here
163 primarily for wider distribution of the preview edition.
165 Temporarily ejected from 'pu', to try out jk/pack-bitmap, which
166 this topic conflicts with.
169 * sc/doc-howto-dumb-http (2013-10-16) 1 commit
170 . doc/howto: warn about (dumb)http server document being too old
172 The new text needs to go somewhere in the body of the document,
173 not before the title line.
176 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
177 - perf-lib: add test_perf_cleanup target
178 - perf-lib: split starting the test from the execution
180 Add test_perf_cleanup shell function to the perf suite, that allows
181 the script writers to define a test with a clean-up action.
183 Holding until needed.
186 * yt/shortened-rename (2013-10-18) 2 commits
187 - SQUASH??? style fixes and s/omit/shorten/ where appropriate
188 - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
190 Attempts to give more weight on the fact that a filepair represents
191 a rename than showing substring of the actual path when diffstat
192 lines are not wide enough.
194 I am not sure if that is solving a right problem, though.
197 * tr/merge-recursive-index-only (2013-07-07) 3 commits
198 - merge-recursive: -Xindex-only to leave worktree unchanged
199 - merge-recursive: untangle double meaning of o->call_depth
200 - merge-recursive: remove dead conditional in update_stages()
202 Holding until there is a caller to learn from.
205 * jc/ref-excludes (2013-09-03) 2 commits
206 - document --exclude option
207 - revision: introduce --exclude=<glob> to tame wildcards
209 People often wished a way to tell "git log --branches" (and "git
210 log --remotes --not --branches") to exclude some local branches
211 from the expansion of "--branches" (similarly for "--tags", "--all"
212 and "--glob=<pattern>"). Now they have one.
214 Needs a matching change to rev-parse.
217 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
218 - git-send-email: Cache generated message-ids, use them when prompting
219 - git-send-email: add optional 'choices' parameter to the ask sub
222 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
223 - ### DONTMERGE: needs better explanation on what config they need
224 - pack-refs.c: Add missing call to git_config()
225 - show-ref.c: Add missing call to git_config()
227 The changes themselves are probably good, but it is unclear what
228 basic setting needs to be read for which exact operation.
230 Waiting for clarification.
234 * jc/format-patch (2013-04-22) 2 commits
235 - format-patch: --inline-single
236 - format-patch: rename "no_inline" field
238 A new option to send a single patch to the standard output to be
239 appended at the bottom of a message. I personally have no need for
240 this, but it was easy enough to cobble together. Tests, docs and
241 stripping out more MIMEy stuff are left as exercises to interested
245 * jk/gitweb-utf8 (2013-04-08) 4 commits
246 - gitweb: Fix broken blob action parameters on blob/commitdiff pages
247 - gitweb: Don't append ';js=(0|1)' to external links
248 - gitweb: Make feed title valid utf8
249 - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
251 Various fixes to gitweb.
253 Drew Northup volunteered to take a look into this.
257 * jc/show-branch (2013-06-07) 5 commits
258 - show-branch: use commit slab to represent bitflags of arbitrary width
259 - show-branch.c: remove "all_mask"
260 - show-branch.c: abstract out "flags" operation
261 - show-branch.c: lift all_mask/all_revs to a global static
262 - show-branch.c: update comment style
264 Waiting for the final step to lift the hard-limit before sending it out.
266 --------------------------------------------------
269 * ap/remote-hg-unquote-cquote (2013-10-23) 1 commit
270 - remote-hg: unquote C-style paths when exporting
272 A fast-import stream expresses a pathname with funny characters by
273 quoting them in C style; remote-hg remote helper forgot to unquote
276 Will merge to 'next'.
279 * jl/pack-transfer-avoid-double-close (2013-10-23) 1 commit
280 - Clear fd after closing to avoid double-close error
282 The codepath that send_pack() calls pack_objects() mistakenly
283 closed the same file descriptor twice, leading to potentially
284 closing a wrong file descriptor that was opened in the meantime.
286 Will merge to 'next'.
287 Needs to be merged later to 'maint'.
290 * nd/magic-pathspec (2013-10-22) 1 commit
291 - Fix calling parse_pathspec with no paths nor PATHSPEC_PREFER_* flags
293 All callers to parse_pathspec() must choose between getting no
294 pathspec or one path that is limited to the current directory
295 when there is no paths given on the command line, but there were
296 two callers that violated this rule, triggering a BUG().
298 Will merge to 'next'.
301 * sb/git-svn-docs-indent-with-ht (2013-10-22) 1 commit
302 - git-svn docs: Use tabs consistently within the ascii doc
304 Will merge to 'next'.
307 * tr/gitk-doc-update (2013-10-22) 1 commit
308 - Documentation: revamp gitk(1)
310 Will merge to 'next'.
313 * tr/valgrind-test-fix (2013-10-22) 2 commits
314 - Revert "test-lib: allow prefixing a custom string before "ok N" etc."
315 - Revert "test-lib: support running tests under valgrind in parallel"
317 Will merge to 'next'.
320 * sb/repack-in-c (2013-10-22) 1 commit
321 (merged to 'next' on 2013-10-23 at 5d7ac72)
322 + Reword repack documentation to no longer state it's a script
324 Finishing touches to update documentation.
326 Will merge to 'master'.
329 * mm/checkout-auto-track-fix (2013-10-18) 2 commits
330 - checkout: proper error message on 'git checkout foo bar --'
331 - checkout: allow dwim for branch creation for "git checkout $branch --"
333 "git checkout topic", when there is not yet a local "topic" branch
334 but there is a unique remote-tracking branch for a remote "topic"
335 branch, pretended as if "git checkout -t -b topic remote/$r/topic"
336 (for that unique remote $r) was run. This hack however was not
337 implemented for "git checkout topic --".
339 Will merge to 'next'.
342 * hn/log-graph-color-octopus (2013-10-18) 1 commit
343 - graph: fix coloring around octopus merges
345 Will merge to 'next'.
348 * nd/gc-lock-against-each-other (2013-10-18) 1 commit
349 - gc: remove gc.pid file at end of execution
351 Will merge to 'next'.
354 * fc/styles (2013-10-16) 7 commits
355 - block-sha1/sha1.c: have SP around arithmetic operators
356 - base85.c: have SP around arithmetic operators
357 - archive.c: have SP around arithmetic operators
358 - alloc.c: have SP around arithmetic operators
359 - abspath.c: have SP around arithmetic operators
360 - alias: have SP around arithmetic operators
361 - C: have space around && and || operators
363 C coding style fixes. The ones near the tip have not been sent to
364 the list yet (they cover the same kind of style violation as the
365 second one) and I should send them to the list.
367 Will merge to 'next'.
370 * jk/remote-literal-string-leakfix (2013-10-15) 1 commit
371 (merged to 'next' on 2013-10-18 at 6abddac)
372 + remote: do not copy "origin" string literal
374 Will merge to 'master'.
377 * jk/split-broken-ident (2013-10-15) 1 commit
378 (merged to 'next' on 2013-10-18 at 8f4b8b7)
379 + split_ident: parse timestamp from end of line
381 Make the fall-back parsing of commit objects with broken author or
382 committer lines more robust to pick up the timestamps.
384 Will merge to 'master'.
387 * sg/prompt-svn-remote-fix (2013-10-15) 1 commit
388 (merged to 'next' on 2013-10-18 at 20b47eb)
389 + bash prompt: don't use '+=' operator in show upstream code path
391 Bash portability fix.
393 Will merge to 'master'.
396 * sg/t3600-nul-sha1-fix (2013-10-16) 1 commit
397 - t3600: fix broken "choking git rm" test
399 Will merge to 'next'.
402 * ak/submodule-foreach-quoting (2013-09-27) 1 commit
403 (merged to 'next' on 2013-10-14 at d77c5f1)
404 + submodule foreach: skip eval for more than one argument
406 A behavior change, but a worthwhile one: "git submodule foreach"
407 was treating its arguments as part of a single command to be
408 concatenated and passed to a shell, making writing buggy
411 This patch preserves the old "just pass it to the shell" behavior
412 when a single argument is passed to 'git submodule foreach' and
413 moves to a new "skip the shell and use the arguments passed
414 unmolested" behavior when more than one argument is passed.
416 The old behavior (always concatenating and passing to the shell)
417 was similar to the 'ssh' command, while the new behavior (switching
418 on the number of arguments) is what 'xterm -e' does.
420 May need more thought to make sure this change is advertised well
421 so that scripts that used multiple arguments but added their own
422 extra layer of quoting are not broken.
424 Will cook in 'next' for the rest of this cycle.
427 * ew/keepalive (2013-10-16) 2 commits
428 (merged to 'next' on 2013-10-16 at 56fd9f3)
429 + http: use curl's tcp keepalive if available
430 (merged to 'next' on 2013-10-14 at 24d786f)
431 + http: enable keepalive on TCP sockets
433 Will merge to 'master'.
436 * jk/http-auth-redirects (2013-10-24) 10 commits
437 (merged to 'next' on 2013-10-24 at 4bebb66)
438 + http.c: Spell the null pointer as NULL
439 + remote-curl: rewrite base url from info/refs redirects
440 + remote-curl: store url as a strbuf
441 + remote-curl: make refs_url a strbuf
442 + http: update base URLs when we see redirects
443 + http: provide effective url to callers
444 + http: hoist credential request out of handle_curl_result
445 (merged to 'next' on 2013-10-14 at a0642be)
446 + http: refactor options to http_get_*
447 + http_request: factor out curlinfo_strbuf
448 + http_get_file: style fixes
450 Handle the case where http transport gets redirected during the
451 authorization request better.
453 Will merge to 'master'.
456 * jl/submodule-mv (2013-10-13) 1 commit
457 - mv: Fix spurious warning when moving a file in presence of submodules
459 Moving a regular file in a repository with a .gitmodules file was
460 producing a warning 'Could not find section in .gitmodules where
463 Will merge to 'next'.
466 * kb/fast-hashmap (2013-10-22) 12 commits
467 - remove old hash.[ch] implementation
468 - read-cache.c: fix memory leaks caused by removed cache entries
469 - name-hash.c: remove cache entries instead of marking them CE_UNHASHED
470 - name-hash.c: use new hash map implementation for cache entries
471 - name-hash.c: remove unreferenced directory entries
472 - name-hash.c: use new hash map implementation for directories
473 - diffcore-rename.c: use new hash map implementation
474 - diffcore-rename.c: simplify finding exact renames
475 - diffcore-rename.c: move code around to prepare for the next patch
476 - buitin/describe.c: use new hash map implementation
477 - add a hashtable implementation that supports O(1) removal
478 - submodule: don't access the .gitmodules cache entry after removing it
480 Improvements to our hash table to get it to meet the needs of the
481 msysgit fscache project, with some nice performance improvements.
483 The preparatory clean-up to submodule from Jens is at the bottom. I
484 also squashed in a fix-up by Karsten found at $gmane/236468 (please
485 double-check the result).
487 Will merge to 'next'.
490 * jc/revision-range-unpeel (2013-10-15) 1 commit
491 (merged to 'next' on 2013-10-16 at d04ddfe)
492 + revision: do not peel tags used in range notation
494 "git rev-list --objects ^v1.0^ v1.0" gave v1.0 tag itself in the
495 output, but "git rev-list --objects v1.0^..v1.0" did not.
497 Will merge to 'master'.
500 * jc/upload-pack-send-symref (2013-10-22) 10 commits
501 (merged to 'next' on 2013-10-23 at 8ef5660)
502 + t5570: Update for clone-progress-to-stderr branch
503 + Merge branch 'jk/clone-progress-to-stderr' into jc/upload-pack-send-symref
504 + t5570: Update for symref capability
505 (merged to 'next' on 2013-10-16 at eb1ae25)
506 + clone: test the new HEAD detection logic
507 + connect: annotate refs with their symref information in get_remote_head()
508 + connect.c: make parse_feature_value() static
509 + upload-pack: send non-HEAD symbolic refs
510 + upload-pack: send symbolic ref information as capability
511 + upload-pack.c: do not pass confusing cb_data to mark_our_ref()
512 + t5505: fix "set-head --auto with ambiguous HEAD" test
514 One long-standing flaw in the pack transfer protocol used by "git
515 clone" was that there was no way to tell the other end which branch
516 "HEAD" points at, and the receiving end needed to guess. A new
517 capability has been defined in the pack protocol to convey this
518 information so that cloning from a repository with more than one
519 branches pointing at the same commit where the HEAD is at now
520 reliably sets the initial branch in the resulting repository.
522 Will merge to 'master'.
525 * jx/relative-path-regression-fix (2013-10-14) 3 commits
526 (merged to 'next' on 2013-10-18 at b4af45f)
527 + Use simpler relative_path when set_git_dir
528 (merged to 'next' on 2013-10-14 at 704b9ee)
529 + relative_path should honor dos-drive-prefix
530 + test: use unambigous leading path (/foo) for MSYS
532 Will merge to 'master' and later to 'maint'.
535 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
536 - git add: -u/-A now affects the entire working tree
538 Will merge to and cook in 'next' until Git 2.0.
541 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
542 - core.statinfo: remove as promised in Git 2.0
544 Will merge to and cook in 'next' until Git 2.0.
547 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
548 - push: switch default from "matching" to "simple"
550 Will merge to and cook in 'next' until Git 2.0.
553 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
554 - git add <pathspec>... defaults to "-A"
556 Updated endgame for "git add <pathspec>" that defaults to "--all"
557 aka "--no-ignore-removal".
559 Will merge to and cook in 'next' until Git 2.0.
562 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
563 - diff: remove "diff-files -q" in a version of Git in a distant future
565 Will merge to and cook in 'next' until a distant future.
567 --------------------------------------------------
570 * jh/shorten-refname (2013-05-07) 4 commits
571 . t1514: refname shortening is done after dereferencing symbolic refs
572 . shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
573 . t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
574 . t1514: Add tests of shortening refnames in strict/loose mode
576 When remotes/origin/HEAD is not a symbolic ref, "rev-parse
577 --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
578 "origin/HEAD", which is fixed with this series (if it is a symbolic
579 ref that points at remotes/origin/something, then it should show
580 "origin/something" and it already does).
582 Has been expecting a reroll, as an early part of a larger series.
585 Discarded due to inactivity, without prejudice.