1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Oct 2013, #05; Wed, 23)
4 X-master-at: 3d092bfc6f2d9a998967979f926c661e9762601c
5 X-next-at: 1c32b8d241eeeb98707f52c99ac71d905c99b673
7 What's cooking in git.git (Oct 2013, #05; Wed, 23)
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 --------------------------------------------------
20 [Graduated to "master"]
22 * bc/gnome-keyring (2013-10-16) 16 commits
23 (merged to 'next' on 2013-10-18 at 25024aa)
24 + contrib/git-credential-gnome-keyring.c: support really ancient gnome-keyring
25 + contrib/git-credential-gnome-keyring.c: support ancient gnome-keyring
26 + contrib/git-credential-gnome-keyring.c: report failure to store password
27 + contrib/git-credential-gnome-keyring.c: use glib messaging functions
28 + contrib/git-credential-gnome-keyring.c: use glib memory allocation functions
29 + contrib/git-credential-gnome-keyring.c: use secure memory for reading passwords
30 + contrib/git-credential-gnome-keyring.c: use secure memory functions for passwds
31 + contrib/git-credential-gnome-keyring.c: use gnome helpers in keyring_object()
32 + contrib/git-credential-gnome-keyring.c: set Gnome application name
33 + contrib/git-credential-gnome-keyring.c: ensure buffer is non-empty before accessing
34 + contrib/git-credential-gnome-keyring.c: strlen() returns size_t, not ssize_t
35 + contrib/git-credential-gnome-keyring.c: exit non-zero when called incorrectly
36 + contrib/git-credential-gnome-keyring.c: add static where applicable
37 + contrib/git-credential-gnome-keyring.c: *style* use "if ()" not "if()" etc.
38 + contrib/git-credential-gnome-keyring.c: remove unused die() function
39 + contrib/git-credential-gnome-keyring.c: remove unnecessary pre-declarations
41 Cleanups and tweaks for credential handling to work with ancient versions
42 of the gnome-keyring library that are still in use.
45 * hu/cherry-pick-previous-branch (2013-10-10) 1 commit
46 (merged to 'next' on 2013-10-14 at 090934f)
47 + cherry-pick: handle "-" after parsing options
49 "git cherry-pick" without further options would segfault.
51 Could use a follow-up to handle '-' after argv[1] better.
54 * jc/pack-objects (2013-02-04) 1 commit
55 (merged to 'next' on 2013-10-14 at 8e8feb6)
56 + pack-objects: shrink struct object_entry
59 * jc/prompt-upstream (2013-10-14) 1 commit
60 (merged to 'next' on 2013-10-14 at 270ef7b)
61 + git-prompt.sh: optionally show upstream branch name
63 An enhancement to the GIT_PS1_SHOWUPSTREAM facility.
66 * mg/more-textconv (2013-05-10) 7 commits
67 (merged to 'next' on 2013-10-14 at 8a12490)
68 + grep: honor --textconv for the case rev:path
69 + grep: allow to use textconv filters
70 + t7008: demonstrate behavior of grep with textconv
71 + cat-file: do not die on --textconv without textconv filters
72 + show: honor --textconv for blobs
73 + diff_opt: track whether flags have been set explicitly
74 + t4030: demonstrate behavior of show with textconv
76 Make "git grep" and "git show" pay attention to --textconv when
77 dealing with blob objects.
80 * po/dot-url (2013-10-15) 3 commits
81 (merged to 'next' on 2013-10-15 at 312d0af)
82 + doc/cli: make "dot repository" an independent bullet point
83 (merged to 'next' on 2013-09-20 at 6a12786)
84 + config doc: update dot-repository notes
85 + doc: command line interface (cli) dot-repository dwimmery
87 Explain how '.' can be used to refer to the "current repository"
90 --------------------------------------------------
93 * ap/remote-hg-unquote-cquote (2013-10-23) 1 commit
94 - remote-hg: unquote C-style paths when exporting
96 A fast-import stream expresses a pathname with funny characters by
97 quoting them in C style; remote-hg remote helper forgot to unquote
100 Will merge to 'next'.
103 * jl/pack-transfer-avoid-double-close (2013-10-23) 1 commit
104 - Clear fd after closing to avoid double-close error
106 The codepath that send_pack() calls pack_objects() mistakenly
107 closed the same file descriptor twice, leading to potentially
108 closing a wrong file descriptor that was opened in the meantime.
110 Will merge to 'next'.
111 Needs to be merged later to 'maint'.
114 * nd/magic-pathspec (2013-10-22) 1 commit
115 - Fix calling parse_pathspec with no paths nor PATHSPEC_PREFER_* flags
117 All callers to parse_pathspec() must choose between getting no
118 pathspec or one path that is limited to the current directory
119 when there is no paths given on the command line, but there were
120 two callers that violated this rule, triggering a BUG().
122 Will merge to 'next'.
125 * sb/git-svn-docs-indent-with-ht (2013-10-22) 1 commit
126 - git-svn docs: Use tabs consistently within the ascii doc
128 Will merge to 'next'.
131 * tr/gitk-doc-update (2013-10-22) 1 commit
132 - Documentation: revamp gitk(1)
134 Will merge to 'next'.
137 * tr/valgrind-test-fix (2013-10-22) 2 commits
138 - Revert "test-lib: allow prefixing a custom string before "ok N" etc."
139 - Revert "test-lib: support running tests under valgrind in parallel"
141 Will merge to 'next'.
144 * sb/repack-in-c (2013-10-22) 1 commit
145 (merged to 'next' on 2013-10-23 at 5d7ac72)
146 + Reword repack documentation to no longer state it's a script
148 Finishing touches to update documentation.
150 Will merge to 'master'.
152 --------------------------------------------------
155 * np/pack-v4 (2013-09-18) 90 commits
156 - packv4-parse.c: add tree offset caching
157 - t1050: replace one instance of show-index with verify-pack
158 - index-pack, pack-objects: allow creating .idx v2 with .pack v4
159 - unpack-objects: decode v4 trees
160 - unpack-objects: allow to save processed bytes to a buffer
163 Nico and Duy advancing the eternal vaporware pack-v4. This is here
164 primarily for wider distribution of the preview edition.
167 * sc/doc-howto-dumb-http (2013-10-16) 1 commit
168 . doc/howto: warn about (dumb)http server document being too old
170 The new text needs to go somewhere in the body of the document,
171 not before the title line.
174 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
175 - perf-lib: add test_perf_cleanup target
176 - perf-lib: split starting the test from the execution
178 Add test_perf_cleanup shell function to the perf suite, that allows
179 the script writers to define a test with a clean-up action.
181 Holding until needed.
184 * yt/shortened-rename (2013-10-18) 2 commits
185 - SQUASH??? style fixes and s/omit/shorten/ where appropriate
186 - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
188 Attempts to give more weight on the fact that a filepair represents
189 a rename than showing substring of the actual path when diffstat
190 lines are not wide enough.
192 I am not sure if that is solving a right problem, though.
195 * tr/merge-recursive-index-only (2013-07-07) 3 commits
196 - merge-recursive: -Xindex-only to leave worktree unchanged
197 - merge-recursive: untangle double meaning of o->call_depth
198 - merge-recursive: remove dead conditional in update_stages()
200 Holding until there is a caller to learn from.
203 * jc/ref-excludes (2013-09-03) 2 commits
204 - document --exclude option
205 - revision: introduce --exclude=<glob> to tame wildcards
207 People often wished a way to tell "git log --branches" (and "git
208 log --remotes --not --branches") to exclude some local branches
209 from the expansion of "--branches" (similarly for "--tags", "--all"
210 and "--glob=<pattern>"). Now they have one.
212 Needs a matching change to rev-parse.
215 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
216 - git-send-email: Cache generated message-ids, use them when prompting
217 - git-send-email: add optional 'choices' parameter to the ask sub
220 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
221 - ### DONTMERGE: needs better explanation on what config they need
222 - pack-refs.c: Add missing call to git_config()
223 - show-ref.c: Add missing call to git_config()
225 The changes themselves are probably good, but it is unclear what
226 basic setting needs to be read for which exact operation.
228 Waiting for clarification.
232 * jh/shorten-refname (2013-05-07) 4 commits
233 - t1514: refname shortening is done after dereferencing symbolic refs
234 - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
235 - t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
236 - t1514: Add tests of shortening refnames in strict/loose mode
238 When remotes/origin/HEAD is not a symbolic ref, "rev-parse
239 --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
240 "origin/HEAD", which is fixed with this series (if it is a symbolic
241 ref that points at remotes/origin/something, then it should show
242 "origin/something" and it already does).
244 Expecting a reroll, as an early part of a larger series.
248 * jc/format-patch (2013-04-22) 2 commits
249 - format-patch: --inline-single
250 - format-patch: rename "no_inline" field
252 A new option to send a single patch to the standard output to be
253 appended at the bottom of a message. I personally have no need for
254 this, but it was easy enough to cobble together. Tests, docs and
255 stripping out more MIMEy stuff are left as exercises to interested
259 * jk/gitweb-utf8 (2013-04-08) 4 commits
260 - gitweb: Fix broken blob action parameters on blob/commitdiff pages
261 - gitweb: Don't append ';js=(0|1)' to external links
262 - gitweb: Make feed title valid utf8
263 - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
265 Various fixes to gitweb.
267 Drew Northup volunteered to take a look into this.
271 * jc/show-branch (2013-06-07) 5 commits
272 - show-branch: use commit slab to represent bitflags of arbitrary width
273 - show-branch.c: remove "all_mask"
274 - show-branch.c: abstract out "flags" operation
275 - show-branch.c: lift all_mask/all_revs to a global static
276 - show-branch.c: update comment style
278 Waiting for the final step to lift the hard-limit before sending it out.
280 --------------------------------------------------
283 * mm/checkout-auto-track-fix (2013-10-18) 2 commits
284 - checkout: proper error message on 'git checkout foo bar --'
285 - checkout: allow dwim for branch creation for "git checkout $branch --"
287 "git checkout topic", when there is not yet a local "topic" branch
288 but there is a unique remote-tracking branch for a remote "topic"
289 branch, pretended as if "git checkout -t -b topic remote/$r/topic"
290 (for that unique remote $r) was run. This hack however was not
291 implemented for "git checkout topic --".
293 Will merge to 'next'.
296 * hn/log-graph-color-octopus (2013-10-18) 1 commit
297 - graph: fix coloring around octopus merges
299 Will merge to 'next'.
302 * nd/gc-lock-against-each-other (2013-10-18) 1 commit
303 - gc: remove gc.pid file at end of execution
305 Will merge to 'next'.
308 * fc/styles (2013-10-16) 7 commits
309 - block-sha1/sha1.c: have SP around arithmetic operators
310 - base85.c: have SP around arithmetic operators
311 - archive.c: have SP around arithmetic operators
312 - alloc.c: have SP around arithmetic operators
313 - abspath.c: have SP around arithmetic operators
314 - alias: have SP around arithmetic operators
315 - C: have space around && and || operators
317 C coding style fixes. The ones near the tip have not been sent to
318 the list yet (they cover the same kind of style violation as the
319 second one) and I should send them to the list.
321 Will merge to 'next'.
324 * jk/remote-literal-string-leakfix (2013-10-15) 1 commit
325 (merged to 'next' on 2013-10-18 at 6abddac)
326 + remote: do not copy "origin" string literal
328 Will merge to 'master'.
331 * jk/split-broken-ident (2013-10-15) 1 commit
332 (merged to 'next' on 2013-10-18 at 8f4b8b7)
333 + split_ident: parse timestamp from end of line
335 Make the fall-back parsing of commit objects with broken author or
336 committer lines more robust to pick up the timestamps.
338 Will merge to 'master'.
341 * sg/prompt-svn-remote-fix (2013-10-15) 1 commit
342 (merged to 'next' on 2013-10-18 at 20b47eb)
343 + bash prompt: don't use '+=' operator in show upstream code path
345 Bash portability fix.
347 Will merge to 'master'.
350 * sg/t3600-nul-sha1-fix (2013-10-16) 1 commit
351 - t3600: fix broken "choking git rm" test
353 Will merge to 'next'.
356 * ak/submodule-foreach-quoting (2013-09-27) 1 commit
357 (merged to 'next' on 2013-10-14 at d77c5f1)
358 + submodule foreach: skip eval for more than one argument
360 A behavior change, but a worthwhile one: "git submodule foreach"
361 was treating its arguments as part of a single command to be
362 concatenated and passed to a shell, making writing buggy
365 This patch preserves the old "just pass it to the shell" behavior
366 when a single argument is passed to 'git submodule foreach' and
367 moves to a new "skip the shell and use the arguments passed
368 unmolested" behavior when more than one argument is passed.
370 The old behavior (always concatenating and passing to the shell)
371 was similar to the 'ssh' command, while the new behavior (switching
372 on the number of arguments) is what 'xterm -e' does.
374 May need more thought to make sure this change is advertised well
375 so that scripts that used multiple arguments but added their own
376 extra layer of quoting are not broken.
378 Will cook in 'next' for the rest of this cycle.
381 * ew/keepalive (2013-10-16) 2 commits
382 (merged to 'next' on 2013-10-16 at 56fd9f3)
383 + http: use curl's tcp keepalive if available
384 (merged to 'next' on 2013-10-14 at 24d786f)
385 + http: enable keepalive on TCP sockets
387 Will merge to 'master'.
390 * jk/http-auth-redirects (2013-10-14) 9 commits
391 - remote-curl: rewrite base url from info/refs redirects
392 - remote-curl: store url as a strbuf
393 - remote-curl: make refs_url a strbuf
394 - http: update base URLs when we see redirects
395 - http: provide effective url to callers
396 - http: hoist credential request out of handle_curl_result
397 (merged to 'next' on 2013-10-14 at a0642be)
398 + http: refactor options to http_get_*
399 + http_request: factor out curlinfo_strbuf
400 + http_get_file: style fixes
402 Handle the case where http transport gets redirected during the
403 authorization request better.
405 Will merge to 'next'.
408 * jl/submodule-mv (2013-10-13) 1 commit
409 - mv: Fix spurious warning when moving a file in presence of submodules
411 Moving a regular file in a repository with a .gitmodules file was
412 producing a warning 'Could not find section in .gitmodules where
415 Will merge to 'next'.
418 * kb/fast-hashmap (2013-10-22) 12 commits
419 - remove old hash.[ch] implementation
420 - read-cache.c: fix memory leaks caused by removed cache entries
421 - name-hash.c: remove cache entries instead of marking them CE_UNHASHED
422 - name-hash.c: use new hash map implementation for cache entries
423 - name-hash.c: remove unreferenced directory entries
424 - name-hash.c: use new hash map implementation for directories
425 - diffcore-rename.c: use new hash map implementation
426 - diffcore-rename.c: simplify finding exact renames
427 - diffcore-rename.c: move code around to prepare for the next patch
428 - buitin/describe.c: use new hash map implementation
429 - add a hashtable implementation that supports O(1) removal
430 - submodule: don't access the .gitmodules cache entry after removing it
432 Improvements to our hash table to get it to meet the needs of the
433 msysgit fscache project, with some nice performance improvements.
435 The preparatory clean-up to submodule from Jens is at the bottom. I
436 also squashed in a fix-up by Karsten found at $gmane/236468 (please
437 double-check the result).
439 Will merge to 'next'.
442 * jc/revision-range-unpeel (2013-10-15) 1 commit
443 (merged to 'next' on 2013-10-16 at d04ddfe)
444 + revision: do not peel tags used in range notation
446 "git rev-list --objects ^v1.0^ v1.0" gave v1.0 tag itself in the
447 output, but "git rev-list --objects v1.0^..v1.0" did not.
449 Will merge to 'master'.
452 * jc/upload-pack-send-symref (2013-10-22) 10 commits
453 (merged to 'next' on 2013-10-23 at 8ef5660)
454 + t5570: Update for clone-progress-to-stderr branch
455 + Merge branch 'jk/clone-progress-to-stderr' into jc/upload-pack-send-symref
456 + t5570: Update for symref capability
457 (merged to 'next' on 2013-10-16 at eb1ae25)
458 + clone: test the new HEAD detection logic
459 + connect: annotate refs with their symref information in get_remote_head()
460 + connect.c: make parse_feature_value() static
461 + upload-pack: send non-HEAD symbolic refs
462 + upload-pack: send symbolic ref information as capability
463 + upload-pack.c: do not pass confusing cb_data to mark_our_ref()
464 + t5505: fix "set-head --auto with ambiguous HEAD" test
466 One long-standing flaw in the pack transfer protocol used by "git
467 clone" was that there was no way to tell the other end which branch
468 "HEAD" points at, and the receiving end needed to guess. A new
469 capability has been defined in the pack protocol to convey this
470 information so that cloning from a repository with more than one
471 branches pointing at the same commit where the HEAD is at now
472 reliably sets the initial branch in the resulting repository.
474 Will merge to 'master'.
477 * jx/relative-path-regression-fix (2013-10-14) 3 commits
478 (merged to 'next' on 2013-10-18 at b4af45f)
479 + Use simpler relative_path when set_git_dir
480 (merged to 'next' on 2013-10-14 at 704b9ee)
481 + relative_path should honor dos-drive-prefix
482 + test: use unambigous leading path (/foo) for MSYS
484 Will merge to 'master' and later to 'maint'.
487 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
488 - git add: -u/-A now affects the entire working tree
490 Will merge to and cook in 'next' until Git 2.0.
493 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
494 - core.statinfo: remove as promised in Git 2.0
496 Will merge to and cook in 'next' until Git 2.0.
499 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
500 - push: switch default from "matching" to "simple"
502 Will merge to and cook in 'next' until Git 2.0.
505 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
506 - git add <pathspec>... defaults to "-A"
508 Updated endgame for "git add <pathspec>" that defaults to "--all"
509 aka "--no-ignore-removal".
511 Will merge to and cook in 'next' until Git 2.0.
514 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
515 - diff: remove "diff-files -q" in a version of Git in a distant future
517 Will merge to and cook in 'next' until a distant future.