Browse Source

What's cooking (2013/04 #01)

todo
Junio C Hamano 12 years ago
parent
commit
5f3c2eaeab
  1. 801
      whats-cooking.txt

801
whats-cooking.txt

@ -1,10 +1,10 @@ @@ -1,10 +1,10 @@
To: git@vger.kernel.org
Bcc: lwn@lwn.net
Subject: What's cooking in git.git (Mar 2013, #08; Fri, 29)
X-master-at: 631bc94e67383b66da190550866566f09d32f299
X-next-at: 26eb6e9fce877ff55db93fee605b878939872a5a
Subject: What's cooking in git.git (Apr 2013, #01; Mon, 1)
X-master-at: cc3e4eba723570bf77902c017611ee02bb86c8b3
X-next-at: 5a7d8b8c6ff8c59f4ad782e539b1d511ca6f2e63

What's cooking in git.git (Mar 2013, #08; Fri, 29)
What's cooking in git.git (Apr 2013, #01; Mon, 1)
--------------------------------------------------

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

* ap/combine-diff-ignore-whitespace (2013-03-14) 1 commit
(merged to 'next' on 2013-03-19 at dfb2c98)
+ Allow combined diff to ignore white-spaces
(this branch is used by ap/combine-diff-coalesce-lost.)
* bc/append-signed-off-by (2013-02-23) 13 commits
(merged to 'next' on 2013-03-26 at 0e3c79b)
+ git-commit: populate the edit buffer with 2 blank lines before s-o-b
+ Unify appending signoff in format-patch, commit and sequencer
+ format-patch: update append_signoff prototype
+ t4014: more tests about appending s-o-b lines
+ sequencer.c: teach append_signoff to avoid adding a duplicate newline
+ sequencer.c: teach append_signoff how to detect duplicate s-o-b
+ sequencer.c: always separate "(cherry picked from" from commit body
+ sequencer.c: require a conforming footer to be preceded by a blank line
+ sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
+ t/t3511: add some tests of 'cherry-pick -s' functionality
+ t/test-lib-functions.sh: allow to specify the tag name to test_commit
+ commit, cherry-pick -s: remove broken support for multiline rfc2822 fields
+ sequencer.c: rework search for start of footer to improve clarity

Originally merged to 'next' on 2013-03-18
Consolidates codepaths that inspect log-message-to-be and decide to
add a new Signed-off-by line in various commands. I think there is
no negative behaviour change in this series, but please report any
iffy behaviour change immediately if you notice one.

Teach "diff --cc" output to honor options to ignore various forms
of whitespace changes.

* jc/nobody-sets-src-peer-ref (2013-03-04) 1 commit
(merged to 'next' on 2013-03-26 at 9d13c02)
+ match_push_refs(): nobody sets src->peer_ref anymore

* jc/remove-treesame-parent-in-simplify-merges (2013-01-17) 1 commit
(merged to 'next' on 2013-03-26 at 7999dbe)
+ simplify-merges: drop merge from irrelevant side branch
Dead code removal.

The --simplify-merges logic did not cull irrelevant parents from a
merge that is otherwise not interesting with respect to the paths
we are following.
Even though I think this change is correct, please report
immediately if you find any unintended side effect.

This touches a fairly core part of the revision traversal
infrastructure; even though I think this change is correct, please
report immediately if you find any unintended side effect.

* jc/remove-export-from-config-mak-in (2013-03-05) 3 commits
(merged to 'next' on 2013-03-26 at a789220)
+ Fix `make install` when configured with autoconf
+ Makefile: do not export mandir/htmldir/infodir
+ config.mak.in: remove unused definitions

* jk/checkout-attribute-lookup (2013-03-20) 3 commits
(merged to 'next' on 2013-03-20 at 43a89e8)
+ t2003: work around path mangling issue on Windows
(merged to 'next' on 2013-03-19 at b063a55)
+ entry: fix filter lookup
+ t2003: modernize style
config.mak.in template had an "export" line to cause a few
common makefile variables to be exported; if they need to be
expoted for autoconf/configure users, they should also be exported
for people who write config.mak the same way. Move the "export" to
the main Makefile. Also, stop exporting mandir that used to be
exported (only) when config.mak.autogen was used. It would have
broken installation of manpages (but not other documentation
formats).

Codepath to stream blob object contents directly from the object
store to filesystem did not use the correct path to find conversion
filters when writing to temporary files.
Even though I think this change is correct, please report
immediately if you find any unintended side effect.


* jk/difftool-dir-diff-edit-fix (2013-03-14) 3 commits
(merged to 'next' on 2013-03-19 at e68014a)
+ difftool --dir-diff: symlink all files matching the working tree
+ difftool: avoid double slashes in symlink targets
+ git-difftool(1): fix formatting of --symlink description
* jk/common-make-variables-export-safety (2013-02-25) 1 commit
(merged to 'next' on 2013-03-26 at 8b7bb16)
+ Makefile: make mandir, htmldir and infodir absolute

Originally merged to 'next' on 2013-03-15
Make the three variables safer to be exported to submakes by
ensuring that they are full paths so that they can be used as
installation location.

"git difftool --dir-diff" made symlinks to working tree files when
preparing a temporary directory structure, so that accidental edits
of these files in the difftool are reflected back to the working
tree, but the logic to decide when to do so was not quite right.
Even though I think this change is correct, please report
immediately if you find any unintended side effect.


* kk/revwalk-slop-too-many-commit-within-a-second (2013-03-22) 1 commit
(merged to 'next' on 2013-03-26 at ea90e75)
+ Fix revision walk for commits with the same dates
* jk/index-pack-correct-depth-fix (2013-03-20) 1 commit
(merged to 'next' on 2013-03-26 at c56e839)
+ index-pack: always zero-initialize object_entry list

Allow the revision "slop" code to look deeper while commits with
exactly the same timestamps come next to each other (which can
often happen after a large "am" and "rebase" session).
"index-pack --fix-thin" used uninitialize value to compute delta
depths of objects it appends to the resulting pack.


* rr/tests-dedup-test-config (2013-03-19) 1 commit
(merged to 'next' on 2013-03-26 at d314299)
+ t4018,7810,7811: remove test_config() redefinition
* jk/pkt-line-cleanup (2013-03-21) 20 commits
(merged to 'next' on 2013-03-26 at 2bb3b75)
+ do not use GIT_TRACE_PACKET=3 in tests
+ remote-curl: always parse incoming refs
+ remote-curl: move ref-parsing code up in file
+ remote-curl: pass buffer straight to get_remote_heads
+ teach get_remote_heads to read from a memory buffer
+ pkt-line: share buffer/descriptor reading implementation
+ pkt-line: provide a LARGE_PACKET_MAX static buffer
+ pkt-line: move LARGE_PACKET_MAX definition from sideband
+ pkt-line: teach packet_read_line to chomp newlines
+ pkt-line: provide a generic reading function with options
+ pkt-line: drop safe_write function
+ pkt-line: move a misplaced comment
+ write_or_die: raise SIGPIPE when we get EPIPE
+ upload-archive: use argv_array to store client arguments
+ upload-archive: do not copy repo name
+ send-pack: prefer prefixcmp over memcmp in receive_status
+ fetch-pack: fix out-of-bounds buffer offset in get_ack
+ upload-pack: remove packet debugging harness
+ upload-pack: do not add duplicate objects to shallow list
+ upload-pack: use get_sha1_hex to parse "shallow" lines

Cleans up pkt-line API, implementation and its callers to make them
more robust. Even though I think this change is correct, please
report immediately if you find any unintended side effect.

* rs/archive-zip-raw-compression (2013-03-16) 1 commit
(merged to 'next' on 2013-03-19 at 8cc1cb3)
+ archive-zip: use deflateInit2() to ask for raw compressed data

Originally merged to 'next' on 2013-03-18
* jn/push-tests (2013-03-19) 3 commits
(merged to 'next' on 2013-03-26 at da891db)
+ push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi'
+ push test: simplify check of push result
+ push test: use test_config when appropriate

Update t5516 with style fixes.

* yd/doc-is-in-asciidoc (2013-03-21) 1 commit
(merged to 'next' on 2013-03-26 at a980af2)
+ CodingGuidelines: our documents are in AsciiDoc

* kb/name-hash (2013-02-27) 1 commit
(merged to 'next' on 2013-03-26 at 750490a)
+ name-hash.c: fix endless loop with core.ignorecase=true

* yd/doc-merge-annotated-tag (2013-03-21) 1 commit
(merged to 'next' on 2013-03-26 at a11162f)
+ Documentation: merging a tag is a special case
The code to keep track of what directory names are known to Git on
platforms with case insensitive filesystems can get confused upon
a hash collision between these pathnames and looped forever.

Document the 1.7.9 feature to merge a signed tag and keep that in
the mergetag header in the resulting commit better.
Even though I think this change is correct, please report
immediately if you find any unintended side effect.


* yd/use-test-config-unconfig (2013-03-25) 12 commits
(merged to 'next' on 2013-03-26 at 55b69a9)
+ t7600: use test_config to set/unset git config variables
+ t7502: remove clear_config
+ t7502: use test_config to set/unset git config variables
+ t9500: use test_config to set/unset git config variables
+ t7508: use test_config to set/unset git config variables
+ t7500: use test_config to set/unset git config variables
+ t5541: use test_config to set/unset git config variables
+ t5520: use test_config to set/unset git config variables
+ t4202: use test_config/test_unconfig to set/unset git config variables
+ t4034: use test_config/test_unconfig to set/unset git config variables
+ t4304: use test_config to set/unset git config variables
+ t3400: use test_config to set/unset git config variables
* nd/branch-show-rebase-bisect-state (2013-03-23) 7 commits
(merged to 'next' on 2013-03-26 at cd666f6)
+ status, branch: fix the misleading "bisecting" message
+ branch: show more information when HEAD is detached
+ status: show more info than "currently not on any branch"
+ wt-status: move wt_status_get_state() out to wt_status_print()
+ wt-status: split wt_status_state parsing function out
+ wt-status: move strbuf into read_and_strip_branch()
+ Merge branch 'jc/reflog-reverse-walk' into nd/branch-show-rebase-bisect-state

Bulk-update of the test suite.
"git status" shows a bit more info during a bisect/rebase session.


* nd/index-pack-threaded-fixes (2013-03-19) 2 commits
(merged to 'next' on 2013-03-26 at e508c77)
+ index-pack: guard nr_resolved_deltas reads by lock
+ index-pack: protect deepest_delta in multithread code

"index-pack --verify-stat" used a few counters outside protection
of mutex, possibly showing incorrect numbers.


* rr/test-3200-style (2013-03-20) 1 commit
(merged to 'next' on 2013-03-26 at 1214287)
+ t3200 (branch): modernize style

Churns.


* sr/am-show-final-message-in-applying-indicator (2013-03-21) 1 commit
(merged to 'next' on 2013-03-26 at 9ecb143)
+ git-am: show the final log message on "Applying:" indicator

In addition to the case where the user edits the log message with
the "e)dit" option of "am -i", replace the "Applying: this patch"
message with the final log message contents after applymsg hook
munges it.

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

* jc/sha1-name-object-peeler (2013-03-31) 2 commits
(merged to 'next' on 2013-04-01 at cdb4a18)
+ peel_onion(): teach $foo^{object} peeler
+ peel_onion: disambiguate to favor tree-ish when we know we want a tree-ish
(this branch is used by mh/rev-parse-verify-doc.)

There was no good way to ask "I have a random string that came from
outside world. I want to turn it into a 40-hex object name while
making sure such an object exists". A new peeling suffix ^{object}
can be used for that purpose, together with "rev-parse --verify".


* jm/branch-rename-nothing-error (2013-03-31) 1 commit
(merged to 'next' on 2013-04-01 at 5e5cdaf)
+ branch: give better message when no names specified for rename

"git branch -m" without any argument noticed an error, but with an
incorrect error message.

Will merge to 'master'.


* rr/prompt-revert-head (2013-03-31) 1 commit
(merged to 'next' on 2013-04-01 at 1fc21eb)
+ bash: teach __git_ps1 about REVERT_HEAD

The prompt string generator did not notice when we are in a middle
of a "git revert" session.

Will merge to 'master'.


* rr/send-email-perl-critique (2013-03-31) 3 commits
- send-email: use the three-arg form of open in recipients_cmd
- send-email: drop misleading function prototype
- send-email: use "return;" not "return undef;" on error codepaths

Broken down from an earlier discussion to pick up reasonable bits
with explanation, to demonstrate how it should be done.

Will merge to 'next'.


* tr/valgrind (2013-04-01) 4 commits
(merged to 'next' on 2013-04-01 at a973c52)
+ tests: notice valgrind error in test_must_fail
+ tests --valgrind: provide a mode without --track-origins
+ tests: parameterize --valgrind option
+ t/README: --valgrind already implies -v

Let us use not just memgrind but other *grind debuggers.

Will merge to 'master'.


* mh/rev-parse-verify-doc (2013-04-01) 2 commits
- SQUASH???
- rev-parse: clarify documentation for the --verify option
(this branch uses jc/sha1-name-object-peeler.)

"rev-parse --verify" was documented in a misleading way.


* rs/submodule-summary-limit (2013-04-01) 1 commit
(merged to 'next' on 2013-04-01 at 3c18cfe)
+ submodule summary: support --summary-limit=<n>

"submodule summary --summary-limit" option did not support
"--option=value" form.

Will merge to 'master'.


* tb/shared-perm (2013-04-01) 2 commits
- path.c: optimize adjust_shared_perm()
- optimize set_shared_perm() in path.c:
(this branch uses tb/cygwin-shared-repository.)

Simplifies adjust_shared_perm() implementation.


* nd/pretty-formats (2013-04-01) 12 commits
- pretty: support %>> that steal trailing spaces
- pretty: support truncating in %>, %< and %><
- pretty: support padding placeholders, %< %> and %><
- pretty: add %C(auto) for auto-coloring on the next placeholder
- pretty: two phase conversion for non utf-8 commits
- utf8: keep NULs in reencode_string()
- pretty: get the correct encoding for --pretty:format=%e
- pretty: save commit encoding from logmsg_reencode if the caller needs it
- utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences
- utf8.c: move display_mode_esc_sequence_len() for use by other functions
- pretty: share code between format_decoration and show_decorations
- pretty-formats.txt: wrap long lines

A mixed bag of a bugfix and two fun enhancements on pretty formats
placeholder.


* jl/submodule-deinit (2013-04-01) 1 commit
- submodule deinit: clarify work tree removal message

A finishing touch to the new topic in 1.8.3.

Will merge to 'next'.

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

* jc/format-patch (2013-02-21) 2 commits
- format-patch: --inline-single
- format-patch: rename "no_inline" field

A new option to send a single patch to the standard output to be
appended at the bottom of a message. I personally have no need for
this, but it was easy enough to cobble together. Tests, docs and
stripping out more MIMEy stuff are left as exercises to interested
parties.

Not ready for inclusion.

--------------------------------------------------
[Cooking]

* js/log-gpg (2013-03-27) 1 commit
- log: read gpg settings for signed commit verification
(merged to 'next' on 2013-03-29 at 9a1b2d3)
+ log: read gpg settings for signed commit verification

Teach "show/log" honor gpg.program configuration just like other
parts of the code that use GnuPG.

Will merge to 'next'.
Will merge to 'master'.


* jc/t5516-pushInsteadOf-vs-pushURL (2013-03-28) 1 commit
- t5516: test interaction between pushURL and pushInsteadOf correctly
(merged to 'next' on 2013-04-01 at bed2879)
+ t5516: test interaction between pushURL and pushInsteadOf correctly

Update a test to match the documented interaction between pushURL
and pushInsteadOf.

Will merge to 'next'.


* jk/merge-tree-added-identically (2013-03-27) 1 commit
- merge-tree: fix "same file added in subdir"
@ -164,71 +345,57 @@ of the repositories listed at @@ -164,71 +345,57 @@ of the repositories listed at
better by introducing remote.pushdefault (overrides the "origin"
thing) and branch.*.pushremote (overrides the branch.*.remote).

Expecting a reroll.

* sg/gpg-sig (2013-03-29) 5 commits

* sg/gpg-sig (2013-03-31) 5 commits
- pretty printing: extend %G? to include 'N' and 'U'
- merge/pull Check for untrusted good GPG signatures
- merge/pull: verify GPG signatures of commits being merged
- commit.c: also look at the first GPG status line
- commit.c/GPG signature verification: Also look at the first GPG status line
- Move commit GPG signature verification to commit.c

Teach "merge/pull" to optionally verify and reject commits that are
not signed properly.

Will merge to 'next'.


* tr/log-tree-optim (2013-03-28) 1 commit
- Avoid loading commits twice in log with diffs
(merged to 'next' on 2013-03-29 at 5a6795d)
+ Avoid loading commits twice in log with diffs

Optimize "log" that shows the difference between the parent and the
child.

Will merge to 'next'.
Will merge to 'master'.


* jk/config-with-empty-section (2013-03-29) 1 commit
- t1300: document some aesthetic failures of the config editor
(merged to 'next' on 2013-04-01 at 7972aa9)
+ t1300: document some aesthetic failures of the config editor

Document that "git config --unset" does not remove an empty section
head after removing the last variable in a section, and adding a
new variable does not try to reuse a leftover empty section head.

Will merge to 'next'.
Will merge to 'master'.


* jk/difftool-no-overwrite-on-copyback (2013-03-29) 5 commits
- t7800: run --dir-diff tests with and without symlinks
- t7800: fix tests when difftool uses --no-symlinks
- t7800: don't hide grep output
- difftool: don't overwrite modified files
- t7800: move '--symlinks' specific test to the end
(merged to 'next' on 2013-03-29 at 9f42d34)
+ t7800: run --dir-diff tests with and without symlinks
+ t7800: fix tests when difftool uses --no-symlinks
+ t7800: don't hide grep output
+ difftool: don't overwrite modified files
+ t7800: move '--symlinks' specific test to the end

Try to be careful when difftool backend allows the user to write
into the temporary files being shown *and* the user makes changes
to the working tree at the same time. One of the changes has to be
lost in such a case, but at least tell the user what he did.

Will merge to 'master'.


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

* jc/format-patch (2013-02-21) 2 commits
- format-patch: --inline-single
- format-patch: rename "no_inline" field

A new option to send a single patch to the standard output to be
appended at the bottom of a message. I personally have no need for
this, but it was easy enough to cobble together. Tests, docs and
stripping out more MIMEy stuff are left as exercises to interested
parties.

Not ready for inclusion.

--------------------------------------------------
[Cooking]

* jc/apply-ws-fix-tab-in-indent (2013-03-29) 2 commits
(merged to 'next' on 2013-03-29 at 26eb6e9)
+ test: resurrect q_to_tab
@ -255,13 +422,14 @@ of the repositories listed at @@ -255,13 +422,14 @@ of the repositories listed at


* ap/combine-diff-coalesce-lost (2013-03-25) 1 commit
- combine-diff: coalesce lost lines optimally
(merged to 'next' on 2013-03-29 at f6a05ca)
+ combine-diff: coalesce lost lines optimally

Attempts to minimize "diff -c/--cc" output by coalescing the same
lines removed from the parents better, but with an O(n^2)
complexity.

Will merge to 'next' to see if people with real-world usage scream.
Will cook in 'next' to see if people with real-world usage scream.


* bk/document-commit-tree-S (2013-03-25) 1 commit
@ -271,71 +439,80 @@ of the repositories listed at @@ -271,71 +439,80 @@ of the repositories listed at
Will merge to 'master'.


* jk/check-corrupt-objects-carefully (2013-03-27) 10 commits
- clone: leave repo in place after checkout errors
- clone: run check_everything_connected
- clone: die on errors from unpack_trees
- add tests for cloning corrupted repositories
- streaming_write_entry: propagate streaming errors
- add test for streaming corrupt blobs
- avoid infinite loop in read_istream_loose
- read_istream_filtered: propagate read error from upstream
- check_sha1_signature: check return value from read_istream
- stream_blob_to_fd: detect errors reading from stream
* jk/check-corrupt-objects-carefully (2013-03-29) 10 commits
(merged to 'next' on 2013-03-29 at b6a04a7)
+ clone: leave repo in place after checkout errors
+ clone: run check_everything_connected
+ clone: die on errors from unpack_trees
+ add tests for cloning corrupted repositories
+ streaming_write_entry: propagate streaming errors
+ add test for streaming corrupt blobs
+ avoid infinite loop in read_istream_loose
+ read_istream_filtered: propagate read error from upstream
+ check_sha1_signature: check return value from read_istream
+ stream_blob_to_fd: detect errors reading from stream

Have the streaming interface and other codepaths more carefully
examine for corrupt objects.

The message in the last one may want to be updated.
$gmane/219229
Will merge to 'master'.


* js/iterm-is-on-osx (2013-03-25) 1 commit
- git-web--browse: recognize iTerm as a GUI terminal on OS X
* js/iterm-is-on-osx (2013-03-29) 1 commit
(merged to 'next' on 2013-04-01 at 201fed2)
+ git-web--browse: recognize any TERM_PROGRAM as a GUI terminal on OS X

Add more logic to detect graphic environment of OS X.
Add more logic to detect graphic environment of OS X by simply
checking TERM_PROGRAM has some value, not Apple_Terminal, to detect
iTerm.app and any other.

We may want to simplify it down to just "is there TERM_PROGRAM?",
but I am not an OS X user.
Will merge to 'master'.


* tb/cygwin-shared-repository (2013-03-25) 1 commit
- Make core.sharedRepository work under cygwin 1.7
(merged to 'next' on 2013-03-29 at dbeb068)
+ Make core.sharedRepository work under cygwin 1.7
(this branch is used by tb/shared-perm.)

Cygwin port has a faster-but-lying lstat(2) emulation whose
incorrectness does not matter in practice except for a few
codepaths, and setting permission bits to directories is a codepath
that needs to use a more correct one.

Will merge to 'next'.
Will merge to 'master'.


* jc/directory-attrs-regression-fix (2013-03-28) 6 commits
- t: check that a pattern without trailing slash matches a directory
- dir.c::match_pathname(): pay attention to the length of string parameters
- dir.c::match_pathname(): adjust patternlen when shifting pattern
- dir.c::match_basename(): pay attention to the length of string parameters
- attr.c::path_matches(): special case paths that end with a slash
- attr.c::path_matches(): the basename is part of the pathname
(merged to 'next' on 2013-03-29 at a3dce2b)
+ t: check that a pattern without trailing slash matches a directory
+ dir.c::match_pathname(): pay attention to the length of string parameters
+ dir.c::match_pathname(): adjust patternlen when shifting pattern
+ dir.c::match_basename(): pay attention to the length of string parameters
+ attr.c::path_matches(): special case paths that end with a slash
+ attr.c::path_matches(): the basename is part of the pathname

Fix 1.8.1.x regression that stopped matching "dir" (without
trailing slash) to a directory "dir".

Will merge to 'next'.
Will merge to 'master'.


* nd/checkout-paths-reduce-match-pathspec-calls (2013-03-27) 1 commit
- checkout: avoid unnecessary match_pathspec calls
(merged to 'next' on 2013-03-29 at fbcc004)
+ checkout: avoid unnecessary match_pathspec calls

Consolidate repeated pathspec matches on the same paths, while
fixing a bug in "git checkout dir/" code started from an unmerged
index.

Will merge to 'next'.
Will merge to 'master'.


* jc/merge-tag-object (2013-03-19) 1 commit
- merge: a random object may not necssarily be a commit
* jc/merge-tag-object (2013-04-01) 3 commits
- t6200: test message for merging of an annotated tag
- t6200: use test_config/test_unconfig
(merged to 'next' on 2013-03-29 at aeec39c)
+ merge: a random object may not necssarily be a commit

"git merge $(git rev-parse v1.8.2)" behaved quite differently from
"git merge v1.8.2" as if v1.8.2 were written as v1.8.2^0 and did
@ -346,66 +523,33 @@ of the repositories listed at @@ -346,66 +523,33 @@ of the repositories listed at
(i.e. the name appears in refs/tags/) to decide when to special
case merging of tags.

We may actually want to call the current behaviour a feature,
though. After all, the user went to great length to feed something
different from the normal "v1.8.2" to the command.

Will merge to 'next'.


* jk/index-pack-correct-depth-fix (2013-03-20) 1 commit
(merged to 'next' on 2013-03-26 at c56e839)
+ index-pack: always zero-initialize object_entry list

"index-pack --fix-thin" used uninitialize value to compute delta
depths of objects it appends to the resulting pack.

Will merge to 'master'.


* jn/push-tests (2013-03-19) 3 commits
(merged to 'next' on 2013-03-26 at da891db)
+ push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi'
+ push test: simplify check of push result
+ push test: use test_config when appropriate

Update t5516 with style fixes.

Will merge to 'master'.


* nd/index-pack-threaded-fixes (2013-03-19) 2 commits
(merged to 'next' on 2013-03-26 at e508c77)
+ index-pack: guard nr_resolved_deltas reads by lock
+ index-pack: protect deepest_delta in multithread code

"index-pack --verify-stat" used a few counters outside protection
of mutex, possibly showing incorrect numbers.

Will merge to 'master'.


* kb/status-ignored-optim (2013-03-19) 8 commits
- dir.c: git-status: avoid is_excluded checks for tracked files
- dir.c: replace is_path_excluded with now equivalent is_excluded API
- dir.c: unify is_excluded and is_path_excluded APIs
- dir.c: move prep_exclude and factor out parts of last_exclude_matching
- dir.c: git-status --ignored: don't list empty directories as ignored
- dir.c: git-status --ignored: don't list empty ignored directories
- dir.c: git-status --ignored: don't list files in ignored directories
- dir.c: git-status --ignored: don't drop ignored directories
(merged to 'next' on 2013-04-01 at 0c12ed9)
+ dir.c: git-status: avoid is_excluded checks for tracked files
+ dir.c: replace is_path_excluded with now equivalent is_excluded API
+ dir.c: unify is_excluded and is_path_excluded APIs
+ dir.c: move prep_exclude and factor out parts of last_exclude_matching
+ dir.c: git-status --ignored: don't list empty directories as ignored
+ dir.c: git-status --ignored: don't list empty ignored directories
+ dir.c: git-status --ignored: don't list files in ignored directories
+ dir.c: git-status --ignored: don't drop ignored directories

"git status --ignored" had many corner case bugs. Also the command
has been optimized by taking advantage of the fact that paths that
are already known to the index do not have to be checked against
the .gitignore mechanism most of the time.

Expecting a review from others; this codepath is used not only by
status but also in add and clean, so a bug in it can result in lost
data.
Will cook in 'next'.

This codepath is used not only by status but also in add and clean,
so a bug in it can result in lost data. Extra sets of eyeballs are
very much appreciated.

* jn/add-2.0-u-A-sans-pathspec (2013-03-20) 5 commits

* jn/add-2.0-u-A-sans-pathspec (2013-04-01) 5 commits
- git add: -u/-A now affects the entire working tree
- add -A: only show pathless 'add -A' warning when changes exist outside cwd
- add -u: only show pathless 'add -u' warning when changes exist outside cwd
@ -420,39 +564,19 @@ of the repositories listed at @@ -420,39 +564,19 @@ of the repositories listed at
$gmane/219342


* rr/test-3200-style (2013-03-20) 1 commit
(merged to 'next' on 2013-03-26 at 1214287)
+ t3200 (branch): modernize style

Churns.

Will merge to 'master'.


* tr/packed-object-info-wo-recursion (2013-03-27) 3 commits
- sha1_file: remove recursion in unpack_entry
- Refactor parts of in_delta_base_cache/cache_or_unpack_entry
- sha1_file: remove recursion in packed_object_info
(merged to 'next' on 2013-03-29 at b1c3858)
+ sha1_file: remove recursion in unpack_entry
+ Refactor parts of in_delta_base_cache/cache_or_unpack_entry
+ sha1_file: remove recursion in packed_object_info

Attempts to reduce the stack footprint of sha1_object_info()
and unpack_entry() codepaths.

Will merge to 'next'.

Will cook in 'next'.

* sr/am-show-final-message-in-applying-indicator (2013-03-21) 1 commit
(merged to 'next' on 2013-03-26 at 9ecb143)
+ git-am: show the final log message on "Applying:" indicator

In addition to the case where the user edits the log message with
the "e)dit" option of "am -i", replace the "Applying: this patch"
message with the final log message contents after applymsg hook
munges it.

Will merge to 'master'.


* nd/magic-pathspecs (2013-03-23) 45 commits
* nd/magic-pathspecs (2013-03-31) 45 commits
- Rename field "raw" to "_raw" in struct pathspec
- pathspec: support :(glob) syntax
- pathspec: make --literal-pathspecs disable pathspec magic
@ -511,19 +635,6 @@ of the repositories listed at @@ -511,19 +635,6 @@ of the repositories listed at
Will merge to 'master'.


* nd/branch-show-rebase-bisect-state (2013-03-23) 7 commits
(merged to 'next' on 2013-03-26 at cd666f6)
+ status, branch: fix the misleading "bisecting" message
+ branch: show more information when HEAD is detached
+ status: show more info than "currently not on any branch"
+ wt-status: move wt_status_get_state() out to wt_status_print()
+ wt-status: split wt_status_state parsing function out
+ wt-status: move strbuf into read_and_strip_branch()
+ Merge branch 'jc/reflog-reverse-walk' into nd/branch-show-rebase-bisect-state

Will merge to 'master'.


* jc/add-2.0-delete-default (2013-03-08) 3 commits
- git add <pathspec>... defaults to "-A"
- git add: start preparing for "git add <pathspec>..." to default to "-A"
@ -540,107 +651,16 @@ of the repositories listed at @@ -540,107 +651,16 @@ of the repositories listed at
Will cook in 'next' until Git 2.0.


* jc/nobody-sets-src-peer-ref (2013-03-04) 1 commit
(merged to 'next' on 2013-03-26 at 9d13c02)
+ match_push_refs(): nobody sets src->peer_ref anymore

Dead code removal.

Even though I think this change is correct, please report
immediately if you find any unintended side effect.

Will merge to 'master' in the 4th batch (Risky).


* kb/name-hash (2013-02-27) 1 commit
(merged to 'next' on 2013-03-26 at 750490a)
+ name-hash.c: fix endless loop with core.ignorecase=true

The code to keep track of what directory names are known to Git on
platforms with case insensitive filesystems can get confused upon
a hash collision between these pathnames and looped forever.

Even though I think this change is correct, please report
immediately if you find any unintended side effect.

Will merge to 'master' in the 4th batch (Risky).


* tr/line-log (2013-03-28) 5 commits
- Speed up log -L... -M
- log -L: :pattern:file syntax to find by funcname
- Implement line-history search (git log -L)
- Export rewrite_parents() for 'log -L'
- Refactor parse_loc

Rerolled.
(merged to 'next' on 2013-04-01 at 5be920c)
+ Speed up log -L... -M
+ log -L: :pattern:file syntax to find by funcname
+ Implement line-history search (git log -L)
+ Export rewrite_parents() for 'log -L'
+ Refactor parse_loc

Will merge to 'next'.


* jk/common-make-variables-export-safety (2013-02-25) 1 commit
(merged to 'next' on 2013-03-26 at 8b7bb16)
+ Makefile: make mandir, htmldir and infodir absolute

Make the three variables safer to be exported to submakes by
ensuring that they are full paths so that they can be used as
installation location.

Even though I think this change is correct, please report
immediately if you find any unintended side effect.

Will merge to 'master' in the 4th batch (Risky).


* jk/pkt-line-cleanup (2013-03-21) 20 commits
(merged to 'next' on 2013-03-26 at 2bb3b75)
+ do not use GIT_TRACE_PACKET=3 in tests
+ remote-curl: always parse incoming refs
+ remote-curl: move ref-parsing code up in file
+ remote-curl: pass buffer straight to get_remote_heads
+ teach get_remote_heads to read from a memory buffer
+ pkt-line: share buffer/descriptor reading implementation
+ pkt-line: provide a LARGE_PACKET_MAX static buffer
+ pkt-line: move LARGE_PACKET_MAX definition from sideband
+ pkt-line: teach packet_read_line to chomp newlines
+ pkt-line: provide a generic reading function with options
+ pkt-line: drop safe_write function
+ pkt-line: move a misplaced comment
+ write_or_die: raise SIGPIPE when we get EPIPE
+ upload-archive: use argv_array to store client arguments
+ upload-archive: do not copy repo name
+ send-pack: prefer prefixcmp over memcmp in receive_status
+ fetch-pack: fix out-of-bounds buffer offset in get_ack
+ upload-pack: remove packet debugging harness
+ upload-pack: do not add duplicate objects to shallow list
+ upload-pack: use get_sha1_hex to parse "shallow" lines

Cleans up pkt-line API, implementation and its callers to make them
more robust. Even though I think this change is correct, please
report immediately if you find any unintended side effect.

Will merge to 'master' in the 3rd batch (Risky).


* jc/remove-export-from-config-mak-in (2013-03-05) 3 commits
(merged to 'next' on 2013-03-26 at a789220)
+ Fix `make install` when configured with autoconf
+ Makefile: do not export mandir/htmldir/infodir
+ config.mak.in: remove unused definitions

config.mak.in template had an "export" line to cause a few
common makefile variables to be exported; if they need to be
expoted for autoconf/configure users, they should also be exported
for people who write config.mak the same way. Move the "export" to
the main Makefile. Also, stop exporting mandir that used to be
exported (only) when config.mak.autogen was used. It would have
broken installation of manpages (but not other documentation
formats).

Even though I think this change is correct, please report
immediately if you find any unintended side effect.

Will merge to 'master' in the 4th batch (Risky).
Will merge down to 'master' with warts and all, hoping they get
fixed eventually in-tree.


* jc/push-2.0-default-to-simple (2013-03-18) 15 commits
@ -661,124 +681,3 @@ of the repositories listed at @@ -661,124 +681,3 @@ of the repositories listed at
- t5404: do not assume the "matching" push is the default

Will cook in 'next' until Git 2.0.


* bc/append-signed-off-by (2013-02-23) 13 commits
(merged to 'next' on 2013-03-26 at 0e3c79b)
+ git-commit: populate the edit buffer with 2 blank lines before s-o-b
+ Unify appending signoff in format-patch, commit and sequencer
+ format-patch: update append_signoff prototype
+ t4014: more tests about appending s-o-b lines
+ sequencer.c: teach append_signoff to avoid adding a duplicate newline
+ sequencer.c: teach append_signoff how to detect duplicate s-o-b
+ sequencer.c: always separate "(cherry picked from" from commit body
+ sequencer.c: require a conforming footer to be preceded by a blank line
+ sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
+ t/t3511: add some tests of 'cherry-pick -s' functionality
+ t/test-lib-functions.sh: allow to specify the tag name to test_commit
+ commit, cherry-pick -s: remove broken support for multiline rfc2822 fields
+ sequencer.c: rework search for start of footer to improve clarity

Consolidates codepaths that inspect log-message-to-be and decide to
add a new Signed-off-by line in various commands. I think there is
no negative behaviour change in this series, but please report any
iffy behaviour change immediately if you notice one.

Will merge to 'master' in the 3rd batch (Risky).

--------------------------------------------------
[Discarded]

* nd/read-directory-recursive-optim (2013-02-17) 1 commit
. read_directory: avoid invoking exclude machinery on tracked files

"git status" has been optimized by taking advantage of the fact
that paths that are already known to the index do not have to be
checked against the .gitignore mechanism under some conditions.
Even though I think this change is correct, please report
immediately if you find any unintended side effect.

kb/status-ignored-optim supersedes this.


* jc/add-2.0-u-A-sans-pathspec (2013-03-14) 1 commit
. git add: -u/-A now affects the entire working tree

"git add -u/-A" without pathspec has traditonally limited its
operation to the current directory and its subdirectories, but in
Git 1.8.2 we started encouraging users to be more explicit to
specify "." when they mean it (and use ":/" to make it affect the
entire working tree). With this, we finally change the behaviour
and make it affect the entire working tree in Git 2.0.

jn/add-2.0-u-A-sans-pathspec supersedes this.


* ja/directory-attrs (2013-03-20) 1 commit
. trailing slash required in .gitattributes

Now part of jc/directory-attrs-regression-fix.


* hv/config-from-strbuf (2013-03-10) 4 commits
. teach config parsing to read from strbuf
. config: make parsing stack struct independent from actual data source
. config: drop file pointer validity check in get_next_char()
. config: factor out config file stack management

Was expecting a reroll.
$gmane/217811


* mb/gitweb-highlight-link-target (2012-12-20) 1 commit
. Highlight the link target line in Gitweb using CSS

Was expecting a reroll.
$gmane/211935


* mb/remote-default-nn-origin (2012-07-11) 6 commits
. Teach get_default_remote to respect remote.default.
. Test that plain "git fetch" uses remote.default when on a detached HEAD.
. Teach clone to set remote.default.
. Teach "git remote" about remote.default.
. Teach remote.c about the remote.default configuration setting.
. Rename remote.c's default_remote_name static variables.

When the user does not specify what remote to interact with, we
often attempt to use 'origin'. This can now be customized via a
configuration variable.

Was expecting a reroll.
$gmane/210151

"The first remote becomes the default" bit is better done as a
separate step.


* mg/qnx6 (2013-02-25) 1 commit
. QNX: newer QNX 6.x.x is not so crippled

Not ready for inclusion.


* po/help-guides (2013-03-03) 5 commits
. help doc: include --guide option description
. help.c: add list_common_guides_help() function
. help.c: add --guide option
. help.c: use OPT_COUNTUP
. show 'git help <guide>' usage, with examples

Give more visibility to "concept guides" to help "git help" users.

Was (and still is) expecting a reroll.
$gmane/217384


* jk/t7800-modernize (2013-03-23) 3 commits
. t7800: run --dir-diff tests with and without symlinks
. t7800: fix tests when difftool uses --no-symlinks
. t7800: don't hide grep output

Superseded by jk/difftool-no-overwrite-on-copyback.


Loading…
Cancel
Save