What's cooking (2012/05 #07)

todo
Junio C Hamano 2012-05-31 16:01:41 -07:00
parent 3ac151e3bd
commit aa4b9301c9
1 changed files with 187 additions and 152 deletions

View File

@ -1,9 +1,9 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (May 2012, #06; Wed, 23)
X-master-at: bd578b507fa79f94009ae1c1a436dc14cf7e6002
X-next-at: be95121998f97475e9491ebbe005f08e85f054ef
Subject: What's cooking in git.git (May 2012, #07; Thu, 31)
X-master-at: b2478aa0858811c29061ed32c2686468b89d7296
X-next-at: 11af7cdeca7ffbfb4387fb8253081fd22c3dd697

What's cooking in git.git (May 2012, #06; Wed, 23)
What's cooking in git.git (May 2012, #07; Thu, 31)
--------------------------------------------------

Here are the topics that have been cooking. Commits prefixed with '-' are
@ -17,49 +17,24 @@ repositories listed at
--------------------------------------------------
[Graduated to "master"]

* bp/diff-no-index-strbuf-fix (2012-05-16) 2 commits
(merged to 'next' on 2012-05-18 at b2c26bb)
+ diff --no-index: don't leak buffers in queue_diff
+ diff --no-index: reset temporary buffer lengths on directory iteration
* ap/checkout-no-progress-for-non-tty (2012-05-24) 1 commit
(merged to 'next' on 2012-05-24 at dc473bd)
+ checkout: no progress messages if !isatty(2).

Fix regressions to "git diff --no-index" when it recurses down.
"git checkout" gave progress display even when the standard error
stream was not connected to the tty, which made little sense.

* hv/submodule-alt-odb (2012-05-14) 1 commit
(merged to 'next' on 2012-05-18 at 2f17ac8)
+ teach add_submodule_odb() to look for alternates
* fc/git-complete-helper-fix (2012-05-20) 2 commits
(merged to 'next' on 2012-05-23 at 6124da2)
+ completion: add support for backwards compatibility
+ completion: rename internal helpers _git and _gitk

When peeking into object stores of submodules, the code forgot that they
might borrow objects from alternate object stores on their own.
Would help people who relied on (unofficial) _git/_gitk helper in their
completion tweaks.

* js/rebase-i-p-test-fix (2012-05-18) 1 commit
(merged to 'next' on 2012-05-18 at b7482fc)
+ Fix t3411.3 to actually rebase something

* js/rev-parse-doc-fix (2012-05-18) 1 commit
(merged to 'next' on 2012-05-18 at c16f1c7)
+ rev-parse doc: --git-dir does not always show a relative path

* rs/archive-tree-in-tip-simplify (2012-05-18) 2 commits
(merged to 'next' on 2012-05-18 at a8ca614)
+ archive-tar: keep const in checksum calculation
+ archive: simplify refname handling

--------------------------------------------------
[New Topics]

* fc/git-prompt-script (2012-05-22) 5 commits
- completion: split __git_ps1 into a separate script
- completion: remove executable mode
- Merge branch 'fc/git-complete-helper' into fc/git-prompt-script
- tests: add tests for the bash prompt functions in the completion script
- tests: move code to run tests under bash into a helper library
(this branch is tangled with sg/bash-prompt.)

Looked reasonable from my point of view, but I am not familiar with the
direction in which larger "bash completion" project folks are going, so
people more knowledgeable than myself need to help me guiding this topic.

* jk/fetch-pack-remove-dups-optim (2012-05-22) 5 commits
* jk/fetch-pack-remove-dups-optim (2012-05-24) 6 commits
(merged to 'next' on 2012-05-24 at cf56fe6)
+ fetch-pack: sort incoming heads list earlier
(merged to 'next' on 2012-05-23 at 6057c21)
+ fetch-pack: avoid quadratic loop in filter_refs
+ fetch-pack: sort the list of incoming refs
@ -67,10 +42,41 @@ people more knowledgeable than myself need to help me guiding this topic.
+ fetch-pack: avoid quadratic behavior in remove_duplicates
+ fetch-pack: sort incoming heads

The way "fetch-pack" taht is given multiple references to fetch tried to
The way "fetch-pack" that is given multiple references to fetch tried to
remove duplicates was very inefficient.

Will merge to master.
* jk/format-person-part-buffer-limit (2012-05-22) 1 commit
(merged to 'next' on 2012-05-23 at ef025b0)
+ pretty: avoid buffer overflow in format_person_part

* jk/ident-gecos-strbuf (2012-05-24) 22 commits
(merged to 'next' on 2012-05-24 at 7148763)
+ format-patch: do not use bogus email addresses in message ids
+ ident: reject bogus email addresses with IDENT_STRICT
+ ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT
+ format-patch: use GIT_COMMITTER_EMAIL in message ids
+ ident: let callers omit name with fmt_indent
+ ident: refactor NO_DATE flag in fmt_ident
+ ident: reword empty ident error message
(merged to 'next' on 2012-05-23 at 6fce816)
+ format-patch: refactor get_patch_filename
+ ident: trim whitespace from default name/email
+ ident: use a dynamic strbuf in fmt_ident
+ ident: use full dns names to generate email addresses
+ ident: report passwd errors with a more friendly message
+ drop length limitations on gecos-derived names and emails
+ ident: don't write fallback username into git_default_name
+ fmt_ident: drop IDENT_WARN_ON_NO_NAME code
+ format-patch: use default email for generating message ids
+ ident: trim trailing newline from /etc/mailname
+ move git_default_* variables to ident.c
+ move identity config parsing to ident.c
+ fmt-merge-msg: don't use static buffer in record_person
+ http-push: do not access git_default_email directly
+ ident: split setup_ident into separate functions

Fixes quite a lot of brokenness when ident information needs to be taken
from the system and cleans up the code.

* jk/ident-split-fix (2012-05-22) 1 commit
(merged to 'next' on 2012-05-23 at 811c9ec)
@ -79,14 +85,10 @@ Will merge to master.
An author/committer name that is a single character was mishandled as an
invalid name by mistake.

Will merge to master and later to maint.

* jk/pretty-commit-header-incomplete-line (2012-05-22) 1 commit
(merged to 'next' on 2012-05-23 at f788433)
+ avoid segfault when reading header of malformed commits

Will merge to master and later to maint.

* mh/fetch-pack-constness (2012-05-22) 4 commits
(merged to 'next' on 2012-05-23 at be95121)
+ cmd_fetch_pack(): respect constness of argv parameter
@ -96,6 +98,42 @@ Will merge to master and later to maint.

Tighten constness of some local variables in a callchain.

* mh/ref-api (2012-05-24) 1 commit
(merged to 'next' on 2012-05-24 at c8d54c0)
+ Avoid sorting if references are added to ref_cache in order

* mh/ref-api-lazy-loose (2012-05-20) 1 commit
(merged to 'next' on 2012-05-23 at c41a30a)
+ free_ref_entry(): do not trigger reading of loose refs

The code to lazily read loose refs by mistake unnecessarily read the refs
in a subhierarchy when we free the data for the subhierarchy.

* mh/test-keep-prove-cache (2012-05-20) 1 commit
(merged to 'next' on 2012-05-23 at 870d1f9)
+ t/Makefile: retain cache t/.prove across prove runs

* ng/pack-objects-cleanup (2012-05-18) 2 commits
(merged to 'next' on 2012-05-23 at f90b1ba)
+ pack-objects: refactor write_object() into helper functions
+ pack-objects, streaming: turn "xx >= big_file_threshold" to ".. > .."

* rs/dir-strbuf-read-recursive-fix (2012-05-11) 2 commits
(merged to 'next' on 2012-05-23 at 2e22549)
+ dir: simplify fill_directory()
+ dir: respect string length argument of read_directory_recursive()

* rs/maint-grep-F (2012-05-21) 4 commits
(merged to 'next' on 2012-05-23 at b24143c)
+ grep: stop leaking line strings with -f
+ grep: support newline separated pattern list
+ grep: factor out do_append_grep_pat()
+ grep: factor out create_grep_pat()

"git grep -e '$pattern'", unlike the case where the patterns are read from
a file, did not treat individual lines in the given pattern argument as
separate regular expressions as it should.

* rs/refs-string-slice (2012-05-22) 4 commits
(merged to 'next' on 2012-05-23 at d224de1)
+ refs: do not create ref_entry when searching
@ -106,35 +144,79 @@ Tighten constness of some local variables in a callchain.
Avoid unnecessary temporary allocations while looking for matching refs
inside refs API.

* cr/persistent-https (2012-05-23) 1 commit
- Add persistent-https to contrib
* rs/xdiff-fast-hash-fix (2012-05-23) 3 commits
(merged to 'next' on 2012-05-23 at 8df26a5)
+ xdiff: import new 32-bit version of count_masked_bytes()
+ xdiff: avoid more compiler warnings with XDL_FAST_HASH on 32-bit machines
+ xdiff: avoid compiler warnings with XDL_FAST_HASH on 32-bit machines

A remote helper that acts as a proxy that caches ssl session for the
https:// transport is added to the contrib/ area.

* jk/format-person-part-buffer-limit (2012-05-22) 1 commit
(merged to 'next' on 2012-05-23 at ef025b0)
+ pretty: avoid buffer overflow in format_person_part

Will merge to master and later to maint.

* nd/stream-index-pack (2012-05-23) 6 commits
- sha1_loose_object_info: do not complain out loud on non-existent objects
- index-pack: avoid collision test when verifying in-repo pack
- index-pack: use streaming interface for collision test on large blobs
- index-pack: factor out unpack core from get_data_from_pack
- index-pack: use streaming interface on large blobs (most of the time)
- index-pack: hash non-delta objects while reading from stream

Use streaming API to read from the object store to avoid having to hold
a large blob object in-core while running index-pack.

The later 3 patches in the series looked a bit suspect.
* sp/sh-windows-pwd (2012-05-16) 1 commit
(merged to 'next' on 2012-05-23 at 63004c3)
+ git-sh-setup: define workaround wrappers before they are used

* va/git-p4-test (2012-05-23) 2 commits
- git-p4: Verify detection of "empty" branch creation
- git-p4: Test changelists touching two branches

Rerolled and Acked by Pete.

--------------------------------------------------
[New Topics]

* jl/submodule-report-new-path-once (2012-05-29) 1 commit
(merged to 'next' on 2012-05-30 at e482dd9)
+ submodules: print "registered for path" message only once

Will merge to master by 1.7.11 final.

* mm/levenstein-penalize-deletion-less (2012-05-29) 1 commit
(merged to 'next' on 2012-05-30 at b2a0346)
+ Reduce cost of deletion in levenstein distance (4 -> 3)

Will merge to master by 1.7.11 final.

* nd/exclude-workaround-top-heavy (2012-05-29) 2 commits
- exclude: do strcmp as much as possible before fnmatch
- Unindent excluded_from_list()

* nd/stream-pack-objects (2012-05-29) 1 commit
- pack-objects: use streaming interface for reading large loose blobs

* vr/rebase-autosquash-does-not-imply-i (2012-05-29) 1 commit
(merged to 'next' on 2012-05-30 at 10dd3af)
+ Do not autosquash in case of an implied interactive rebase

Will merge to master by 1.7.11 final.

* nh/empty-rebase (2012-05-29) 1 commit
(merged to 'next' on 2012-05-30 at 270703a)
+ cherry-pick: regression fix for empty commits

Will merge to master by 1.7.11 final.

* ef/maint-rebase-error-message (2012-05-30) 1 commit
(merged to 'next' on 2012-05-30 at 5194fe3)
+ rebase: report invalid commit correctly

Will merge to master by 1.7.11 final.

* jk/clone-local (2012-05-30) 2 commits
- clone: allow --no-local to turn off local optimizations
- docs/clone: mention that --local may be ignored

* jk/no-more-asciidoc7 (2012-05-30) 2 commits
- docs: drop antique comment from Makefile
- docs: drop asciidoc7compatible flag

* jk/no-op-push-message (2012-05-30) 1 commit
- improve no-op push output

* ef/http-o-depends-on-gvf (2012-05-31) 1 commit
(merged to 'next' on 2012-05-31 at 11af7cd)
+ Makefile: add missing GIT-VERSION-FILE dependency

Will merge to master by 1.7.11 final.

--------------------------------------------------
[Stalled]

@ -170,7 +252,6 @@ topic so a reroll, if comes, should build on top of them.
- apply: split load_preimage() helper function out
- apply: refactor read_file_or_gitlink()
- apply: clear_image() clears things a bit more
(this branch is tangled with jc/wip-apply-3way.)

"git apply" learns to wiggle the base version and perform three-way merge
when a patch does not exactly apply to the version you have.
@ -229,91 +310,38 @@ not working :-(.
--------------------------------------------------
[Cooking]

* jk/ident-gecos-strbuf (2012-05-22) 15 commits
(merged to 'next' on 2012-05-23 at 6fce816)
+ format-patch: refactor get_patch_filename
+ ident: trim whitespace from default name/email
+ ident: use a dynamic strbuf in fmt_ident
+ ident: use full dns names to generate email addresses
+ ident: report passwd errors with a more friendly message
+ drop length limitations on gecos-derived names and emails
+ ident: don't write fallback username into git_default_name
+ fmt_ident: drop IDENT_WARN_ON_NO_NAME code
+ format-patch: use default email for generating message ids
+ ident: trim trailing newline from /etc/mailname
+ move git_default_* variables to ident.c
+ move identity config parsing to ident.c
+ fmt-merge-msg: don't use static buffer in record_person
+ http-push: do not access git_default_email directly
+ ident: split setup_ident into separate functions
* fc/git-prompt-script (2012-05-22) 5 commits
- completion: split __git_ps1 into a separate script
- completion: remove executable mode
- Merge branch 'fc/git-complete-helper' into fc/git-prompt-script
- tests: add tests for the bash prompt functions in the completion script
- tests: move code to run tests under bash into a helper library
(this branch is tangled with sg/bash-prompt.)

Fixes quite a lot of brokenness when ident information needs to be taken
from the system and cleans up the code.
The last remaining sticking point is what to do with the duplicated shell
function.

Will merge to master.
* cr/persistent-https (2012-05-30) 1 commit
- Add persistent-https to contrib

* js/submodule-relative (2012-05-23) 2 commits
A remote helper that acts as a proxy that caches ssl session for the
https:// transport is added to the contrib/ area.

* nd/stream-index-pack (2012-05-24) 4 commits
- index-pack: use streaming interface for collision test on large blobs
- index-pack: factor out unpack core from get_data_from_pack
- index-pack: use streaming interface on large blobs (most of the time)
- index-pack: hash non-delta objects while reading from stream

Use streaming API to read from the object store to avoid having to hold
a large blob object in-core while running index-pack.

* js/submodule-relative (2012-05-29) 3 commits
- t7403-*.sh: Avoid use of the nonportable '==' operator
- submodule: fix handling of relative superproject origin URLs
- submodule: document handling of relative superproject origin URLs

* mh/ref-api-lazy-loose (2012-05-20) 1 commit
(merged to 'next' on 2012-05-23 at c41a30a)
+ free_ref_entry(): do not trigger reading of loose refs

The code to lazily read loose refs by mistake unnecessarily read the refs
in a subhierarchy when we free the data for the subhierarchy.

Will merge to master.

* mh/test-keep-prove-cache (2012-05-20) 1 commit
(merged to 'next' on 2012-05-23 at 870d1f9)
+ t/Makefile: retain cache t/.prove across prove runs

* ng/pack-objects-cleanup (2012-05-18) 2 commits
(merged to 'next' on 2012-05-23 at f90b1ba)
+ pack-objects: refactor write_object() into helper functions
+ pack-objects, streaming: turn "xx >= big_file_threshold" to ".. > .."

* rs/maint-grep-F (2012-05-21) 4 commits
(merged to 'next' on 2012-05-23 at b24143c)
+ grep: stop leaking line strings with -f
+ grep: support newline separated pattern list
+ grep: factor out do_append_grep_pat()
+ grep: factor out create_grep_pat()

"git grep -F", unlike the case where it reads from a file, did not treat
individual lines in the given pattern argument as separate patterns as it
should.

Will merge to master and later to maint.

* rs/xdiff-fast-hash-fix (2012-05-23) 3 commits
(merged to 'next' on 2012-05-23 at 8df26a5)
+ xdiff: import new 32-bit version of count_masked_bytes()
+ xdiff: avoid more compiler warnings with XDL_FAST_HASH on 32-bit machines
+ xdiff: avoid compiler warnings with XDL_FAST_HASH on 32-bit machines

Will merge to master.

* sp/sh-windows-pwd (2012-05-16) 1 commit
(merged to 'next' on 2012-05-23 at 63004c3)
+ git-sh-setup: define workaround wrappers before they are used

Will merge to master.

* fc/git-complete-helper-fix (2012-05-20) 2 commits
(merged to 'next' on 2012-05-23 at 6124da2)
+ completion: add support for backwards compatibility
+ completion: rename internal helpers _git and _gitk

Will merge to master.

* rs/dir-strbuf-read-recursive-fix (2012-05-11) 2 commits
(merged to 'next' on 2012-05-23 at 2e22549)
+ dir: simplify fill_directory()
+ dir: respect string length argument of read_directory_recursive()

Will merge to master.
Reroll went to v7 but hasn't settled yet.

* mm/push-default-switch-warning (2012-04-26) 2 commits
- t5541: warning message is given even with --quiet
@ -331,3 +359,10 @@ Will squash the two, but this has to wait for a few release cycles.
+ git-daemon wrapper to wait until daemon is ready

Reverted from 'next' to replace it with js/daemon-test-race-fix.

* jc/revert-nh-empty-rebase (2012-05-23) 1 commit
. Revert nh/empty-rebase topic

The earlier series was found to regress the more important "cherry-pick";
I'd prefer to see it fixed, but in case if it does not happen soon, this
is a fallback measure that can be merged before 1.7.11 final.