Browse Source

What's cooking (2013/01 #06)

todo
Junio C Hamano 12 years ago
parent
commit
70e0e3ee1b
  1. 684
      whats-cooking.txt

684
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 (Jan 2013, #05; Fri, 11)
X-master-at: a27d83aee906a767ae12dc39cd0aa5b42448bd6c
X-next-at: b8b30b1c3494e2bbefedcefe98fd2bab94927a80
Subject: What's cooking in git.git (Jan 2013, #06; Mon, 14)
X-master-at: eacf0117752780bf418d352a6ad2f033aeda1cce
X-next-at: 6b4d555ffede903f47d5e5fa51348b27b331f791

What's cooking in git.git (Jan 2013, #05; Fri, 11)
What's cooking in git.git (Jan 2013, #06; Mon, 14)
--------------------------------------------------

Here are the topics that have been cooking. Commits prefixed with
@ -20,265 +20,228 @@ repositories listed at @@ -20,265 +20,228 @@ repositories listed at
http://git-blame.blogspot.com/p/git-public-repositories.html

--------------------------------------------------
[Graduated to "master"]

* as/api-allocation-doc (2013-01-06) 1 commit
(merged to 'next' on 2013-01-08 at c80b544)
+ api-allocation-growing.txt: encourage better variable naming


* as/dir-c-cleanup (2012-12-28) 10 commits
(merged to 'next' on 2013-01-08 at 5aee090)
+ dir.c: rename free_excludes() to clear_exclude_list()
+ dir.c: refactor is_path_excluded()
+ dir.c: refactor is_excluded()
+ dir.c: refactor is_excluded_from_list()
+ dir.c: rename excluded() to is_excluded()
+ dir.c: rename excluded_from_list() to is_excluded_from_list()
+ dir.c: rename path_excluded() to is_path_excluded()
+ dir.c: rename cryptic 'which' variable to more consistent name
+ Improve documentation and comments regarding directory traversal API
+ api-directory-listing.txt: update to match code
(this branch is used by as/check-ignore.)

Refactor and generally clean up the directory traversal API
implementation.


* aw/rebase-am-failure-detection (2012-10-11) 1 commit
(merged to 'next' on 2013-01-07 at 9e2ee43)
+ rebase: Handle cases where format-patch fails
[New Topics]

Originally merged to 'next' on 2013-01-02
* jc/cvsimport-upgrade (2013-01-14) 8 commits
- t9600: adjust for new cvsimport
- t9600: further prepare for sharing
- cvsimport-3: add a sample test
- cvsimport: make tests reusable for cvsimport-3
- cvsimport: start adding cvsps 3.x support
- cvsimport: introduce a version-switch wrapper
- cvsimport: allow setting a custom cvsps (2.x) program name
- Makefile: add description on PERL/PYTHON_PATH

The most important part of this series is the addition of the new
cvsimport by Eric Raymond that works with cvsps 3.x. Given some
distros have inertia to be conservative, Git with cvsimport that
does not work with both 3.x will block adoption of cvsps 3.x by
them, and shipping Git with cvsimport that does not work with cvsps
2.x will block such a version of Git, so we'll do the proven "both
old and new are available, but we aim to deprecate and remove the
old one in due time" strategy that we used successfully in the
past.


* as/pre-push-hook (2013-01-14) 3 commits
- Add sample pre-push hook script
- push: Add support for pre-push hooks
- hooks: Add function to check if a hook exists

Add an extra hook so that "git push" that is run without making
sure what is being pushed is sane can be checked and rejected (as
opposed to the user deciding not pushing).


* dl/am-hg-locale (2013-01-14) 1 commit
- am: invoke perl's strftime in C locale

Datestamp recorded in "Hg" format patch was reformatted incorrectly
to an e-mail looking date using locale dependant strftime, causing
patch application to fail.


* jk/config-parsing-cleanup (2013-01-14) 7 commits
- [DONTMERGE] reroll coming
- submodule: simplify memory handling in config parsing
- submodule: use match_config_key when parsing config
- userdiff: drop parse_driver function
- convert some config callbacks to match_config_key
- archive-tar: use match_config_key when parsing config
- config: add helper function for parsing key names

Save output from format-patch command in a temporary file, just in
case it aborts, to give a better failure-case behaviour.
Expecting a reroll.

* mp/diff-algo-config (2013-01-14) 3 commits
- diff: Introduce --diff-algorithm command line option
- config: Introduce diff.algorithm variable
- git-completion.bash: Autocomplete --minimal and --histogram for git-diff

* jc/comment-cygwin-win32api-in-makefile (2013-01-06) 1 commit
(merged to 'next' on 2013-01-08 at dea04e8)
+ Makefile: add comment on CYGWIN_V15_WIN32API
Add diff.algorithm configuration so that the user does not type
"diff --histogram".

Expecting a reroll.

* jc/maint-fmt-merge-msg-no-edit-lose-credit (2012-12-28) 1 commit
(merged to 'next' on 2013-01-07 at 497bf10)
+ merge --no-edit: do not credit people involved in the side branch
* ph/rebase-preserve-all-merges (2013-01-14) 1 commit
- rebase --preserve-merges: keep all merge commits including empty ones

Originally merged to 'next' on 2013-01-02
An earlier change to add --keep-empty option broke "git rebase
--preserve-merges" and lost merge commits that end up being the
same as its parent.

Stop spending cycles to compute information to be placed on
commented lines in "merge --no-edit".
Will merge to 'next'.

* rs/archive-tar-config-parsing-fix (2013-01-14) 1 commit
- archive-tar: fix sanity check in config parsing

* jk/config-uname (2013-01-03) 1 commit
(merged to 'next' on 2013-01-08 at f986500)
+ Makefile: hoist uname autodetection to config.mak.uname
Configuration parsing for tar.* configuration variables were
broken; Peff's config parsing clean-up topic will address the same
breakage, so this may be superseded by that other topic.

Move the bits to set fallback default based on the platform from
the main Makefile to a separate file, so that it can be included in
Makefiles in subdirectories.

* rs/pretty-use-prefixcmp (2013-01-14) 1 commit
- pretty: use prefixcmp instead of memcmp on NUL-terminated strings

* jl/interrupt-clone-remove-separate-git-dir (2013-01-05) 1 commit
(merged to 'next' on 2013-01-08 at 568f874)
+ clone: support atomic operation with --separate-git-dir
Will merge to 'next'.

When "git clone --separate-git-dir" is interrupted, we failed to
remove the real location we created the repository.
--------------------------------------------------
[Graduated to "master"]

* ap/status-ignored-in-ignored-directory (2013-01-07) 3 commits
(merged to 'next' on 2013-01-10 at 20f7476)
+ status: always report ignored tracked directories
(merged to 'next' on 2013-01-07 at 2a20b19)
+ git-status: Test --ignored behavior
+ dir.c: Make git-status --ignored more consistent

* mz/pick-unborn (2012-12-23) 2 commits
(merged to 'next' on 2013-01-07 at c6c062b)
+ learn to pick/revert into unborn branch
+ tests: move test_cmp_rev to test-lib-functions
Output from "git status --ignored" showed an unexpected interaction
with "--untracked".

Originally merged to 'next' on 2013-01-02

Allows "git cherry-pick $commit" when you do not have any history
behind HEAD yet.
* fc/remote-testgit-feature-done (2012-10-29) 1 commit
(merged to 'next' on 2013-01-10 at 3132a60)
+ remote-testgit: properly check for errors

In the longer term, tightening rules is a good thing to do, and
because nobody who has worked in the remote helper area seems to be
interested in reviewing this, I would assume they do not think
such a retroactive tightening will affect their remote helpers. So
let's advance this topic to see what happens.

* nd/wildmatch (2013-01-01) 18 commits
(merged to 'next' on 2013-01-07 at 2a39f7d)
+ wildmatch: replace variable 'special' with better named ones
+ compat/fnmatch: respect NO_FNMATCH* even on glibc
+ wildmatch: fix "**" special case
+ t3070: Disable some failing fnmatch tests
+ test-wildmatch: avoid Windows path mangling
+ Support "**" wildcard in .gitignore and .gitattributes
+ wildmatch: make /**/ match zero or more directories
+ wildmatch: adjust "**" behavior
+ wildmatch: fix case-insensitive matching
+ wildmatch: remove static variable force_lower_case
+ wildmatch: make wildmatch's return value compatible with fnmatch
+ t3070: disable unreliable fnmatch tests
+ Integrate wildmatch to git
+ wildmatch: follow Git's coding convention
+ wildmatch: remove unnecessary functions
+ Import wildmatch from rsync
+ ctype: support iscntrl, ispunct, isxdigit and isprint
+ ctype: make sane_ctype[] const array
(this branch is used by nd/retire-fnmatch.)

Originally merged to 'next' on 2013-01-01
* jc/blame-no-follow (2012-09-21) 2 commits
(merged to 'next' on 2013-01-10 at 201c7f4)
+ blame: pay attention to --no-follow
+ diff: accept --no-follow option

Allows pathname patterns in .gitignore and .gitattributes files
with double-asterisks "foo/**/bar" to match any number of directory
hierarchies.
Teaches "--no-follow" option to "git blame" to disable its
whole-file rename detection.


* rs/leave-base-name-in-name-field-of-tar (2013-01-05) 1 commit
(merged to 'next' on 2013-01-08 at 98f325e)
+ archive-tar: split long paths more carefully
* jc/format-patch-reroll (2013-01-03) 9 commits
(merged to 'next' on 2013-01-07 at 0e007e6)
+ format-patch: give --reroll-count a short synonym -v
+ format-patch: document and test --reroll-count
+ format-patch: add --reroll-count=$N option
+ get_patch_filename(): split into two functions
+ get_patch_filename(): drop "just-numbers" hack
+ get_patch_filename(): simplify function signature
+ builtin/log.c: stop using global patch_suffix
+ builtin/log.c: drop redundant "numbered_files" parameter from make_cover_letter()
+ builtin/log.c: drop unused "numbered" parameter from make_cover_letter()

Improve compatibility with implementations of "tar" that do not
like empty name field in header (with the additional prefix field
holding everything).
Originally merged to 'next' on 2013-01-04

Teach "format-patch" to prefix v4- to its output files for the
fourth iteration of a patch series, to make it easier for the
submitter to keep separate copies for iterations.

* tb/test-shell-lint (2013-01-02) 1 commit
(merged to 'next' on 2013-01-07 at 0bca54a)
+ test: Add check-non-portable-shell.pl

Originally merged to 'next' on 2013-01-04
* jc/merge-blobs (2012-12-26) 5 commits
(merged to 'next' on 2013-01-08 at 582ca38)
+ merge-tree: fix d/f conflicts
+ merge-tree: add comments to clarify what these functions are doing
+ merge-tree: lose unused "resolve_directories"
+ merge-tree: lose unused "flags" from merge_list
+ Which merge_file() function do you mean?

Check for common mistakes in the test scripts, based on simple
pattern-matching.
Update the disused merge-tree proof-of-concept code.

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

* jk/maint-fast-import-doc-reorder (2013-01-09) 2 commits
(merged to 'next' on 2013-01-10 at 9f3950d)
+ git-fast-import(1): reorganise options
+ git-fast-import(1): combine documentation of --[no-]relative-marks

Will merge to 'master'.


* jk/shortlog-no-wrap-doc (2013-01-09) 1 commit
(merged to 'next' on 2013-01-10 at c79898a)
+ git-shortlog(1): document behaviour of zero-width wrap

Will merge to 'master'.


* rt/commit-cleanup-config (2013-01-10) 1 commit
- commit: make default of "cleanup" option configurable

Add a configuration variable to set default clean-up mode other
than "strip".

Will merge to 'next'.


* jc/custom-comment-char (2013-01-10) 1 commit
- Allow custom "comment char"

An illustration to show codepaths that need to be touched to change
the hint lines in the edited text to begin with something other
than '#'.


* jn/maint-trim-vim-contrib (2013-01-10) 1 commit
- contrib/vim: simplify instructions for old vim support

Will merge to 'next'.


* mz/reset-misc (2013-01-10) 22 commits
- reset [--mixed]: use diff-based reset whether or not pathspec was given
- [SQUASH???] script portability fixes
- reset: allow reset on unborn branch
- reset $sha1 $pathspec: require $sha1 only to be treeish
- reset [--mixed] --quiet: don't refresh index
- reset.c: finish entire cmd_reset() whether or not pathspec is given
- reset [--mixed]: don't write index file twice
- reset.c: move lock, write and commit out of update_index_refresh()
- reset.c: move update_index_refresh() call out of read_from_tree()
- reset: avoid redundant error message
- reset --keep: only write index file once
- reset.c: replace switch by if-else
- reset.c: share call to die_if_unmerged_cache()
- [SQUASH???] style fixes
- reset.c: extract function for updating {ORIG,}HEAD
- reset.c: remove unnecessary variable 'i'
- [SQUASH???] style fix
- reset.c: extract function for parsing arguments
- reset: don't allow "git reset -- $pathspec" in bare repo
- reset.c: pass pathspec around instead of (prefix, argv) pair
- reset $pathspec: exit with code 0 if successful
- reset $pathspec: no need to discard index

Various 'reset' optimizations and clean-ups, followed by a change
to allow "git reset" to work even on an unborn branch.
* jk/unify-exit-code-by-receiving-signal (2013-01-06) 1 commit
(merged to 'next' on 2013-01-08 at 5ebf940)
+ run-command: encode signal death as a positive integer

The internal logic had to deal with two representations of a death
of a child process by a signal.

* pe/doc-email-env-is-trumped-by-config (2013-01-10) 1 commit
- git-commit-tree(1): correct description of defaults

In the precedence order, the environment variable $EMAIL comes
between the built-in default (i.e. taking value by asking the
system's gethostname() etc.) and the user.email configuration
variable; the documentation implied that it is stronger than the
configuration like $GIT_COMMITTER_EMAIL is, which is wrong.
* jn/xml-depends-on-asciidoc-conf (2013-01-06) 1 commit
(merged to 'next' on 2013-01-08 at 4faf8d4)
+ docs: manpage XML depends on asciidoc.conf

Will merge to 'next'.

* nd/upload-pack-shallow-must-be-commit (2013-01-08) 1 commit
(merged to 'next' on 2013-01-10 at a8b3ba5)
+ upload-pack: only accept commits from "shallow" line

* ds/completion-silence-in-tree-path-probe (2013-01-11) 1 commit
- git-completion.bash: silence "not a valid object" errors
A minor consistency check patch that does not have much relevance
to the real world.

An internal ls-tree call made by completion code only to probe if
a path exists in the tree recorded in a commit object leaked error
messages when the path is not there. It is not an error at all and
should not be shown to the end user.

Will merge to 'next'.
* nz/send-email-headers-are-case-insensitive (2013-01-06) 1 commit
(merged to 'next' on 2013-01-10 at cf4c9c9)
+ git-send-email: treat field names as case-insensitively

When user spells "cc:" in lowercase in the fake "header" in the
trailer part, send-email failed to pick up the addresses from
there. As e-mail headers field names are case insensitive, this
script should follow suit and treat "cc:" and "Cc:" the same way.

* er/replace-cvsimport (2013-01-11) 4 commits
- t9604: fixup for new cvsimport
- t9600: fixup for new cvsimport
- t/lib-cvs.sh: allow cvsps version 3.x.
- cvsimport: rewrite to use cvsps 3.x to fix major bugs

Rewrite of cvsimport to talk with cvsps 3.x; this negatively
affects existing users of cvsimport that only have cvsps 2.x and
use -o, -M and -m options (they cannot use the old cvsimport with
old cvsps 2.x in the fall-back mode, even though these options are
supported by the old one), but it is not known how common they are.
* rs/zip-tests (2013-01-07) 4 commits
(merged to 'next' on 2013-01-08 at 8e37423)
+ t5003: check if unzip supports symlinks
+ t5000, t5003: move ZIP tests into their own script
+ t0024, t5000: use test_lazy_prereq for UNZIP
+ t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead

For people who work with complex CVS histories that needs cvsps 3.x
to import correctly, this version should be a definite improvement,
so I would love to see small wrinkles in the new implementation
straightened out. Help from people with Python experience would be
appreciated in reviewing and patching.
Updates zip tests to skip some that cannot be handled on platform
unzip.


* nd/fetch-depth-is-broken (2013-01-11) 3 commits
- fetch: elaborate --depth action
- upload-pack: fix off-by-one depth calculation in shallow clone
- fetch: add --unshallow for turning shallow repo into complete one
* rs/zip-with-uncompressed-size-in-the-header (2013-01-06) 1 commit
(merged to 'next' on 2013-01-08 at d9ec30e)
+ archive-zip: write uncompressed size into header even with streaming

"git fetch --depth" was broken in at least three ways. The
resulting history was deeper than specified by one commit, it was
unclear how to wipe the shallowness of the repository with the
command, and documentation was misleading.
Improve compatibility of our zip output to fill uncompressed size
in the header, which we can do without seeking back (even though it
should not be necessary).

Will merge to 'next'.
--------------------------------------------------
[Stalled]

* mp/complete-paths (2013-01-11) 1 commit
- git-completion.bash: add support for path completion

* jc/no-git-config-in-clone (2013-01-11) 1 commit
- clone: do not export and unexport GIT_CONFIG
The completion script used to let the default completer to suggest
pathnames, which gave too many irrelevant choices (e.g. "git add"
would not want to add an unmodified path). Teach it to use a more
git-aware logic to enumerate only relevant ones.

We stopped paying attention to $GIT_CONFIG environment that points
at a single configuration file from any command other than "git config"
quite a while ago, but "git clone" internally set, exported, and
then unexported the variable during its operation unnecessarily.
Waiting for area-experts' help and review.

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

* jl/submodule-deinit (2012-12-04) 1 commit
- submodule: add 'deinit' command
@ -377,14 +340,99 @@ repositories listed at @@ -377,14 +340,99 @@ repositories listed at
--------------------------------------------------
[Cooking]

* nz/send-email-headers-are-case-insensitive (2013-01-06) 1 commit
(merged to 'next' on 2013-01-10 at cf4c9c9)
+ git-send-email: treat field names as case-insensitively
* rt/commit-cleanup-config (2013-01-10) 1 commit
- commit: make default of "cleanup" option configurable

When user spells "cc:" in lowercase in the fake "header" in the
trailer part, send-email failed to pick up the addresses from
there. As e-mail headers field names are case insensitive, this
script should follow suit and treat "cc:" and "Cc:" the same way.
Add a configuration variable to set default clean-up mode other
than "strip".

Will merge to 'next'.


* jc/custom-comment-char (2013-01-10) 1 commit
- Allow custom "comment char"

An illustration to show codepaths that need to be touched to change
the hint lines in the edited text to begin with something other
than '#'.


* jn/maint-trim-vim-contrib (2013-01-10) 1 commit
- contrib/vim: simplify instructions for old vim support

Will merge to 'next'.


* mz/reset-misc (2013-01-10) 22 commits
- reset [--mixed]: use diff-based reset whether or not pathspec was given
- [SQUASH???] script portability fixes
- reset: allow reset on unborn branch
- reset $sha1 $pathspec: require $sha1 only to be treeish
- reset [--mixed] --quiet: don't refresh index
- reset.c: finish entire cmd_reset() whether or not pathspec is given
- reset [--mixed]: don't write index file twice
- reset.c: move lock, write and commit out of update_index_refresh()
- reset.c: move update_index_refresh() call out of read_from_tree()
- reset: avoid redundant error message
- reset --keep: only write index file once
- reset.c: replace switch by if-else
- reset.c: share call to die_if_unmerged_cache()
- [SQUASH???] style fixes
- reset.c: extract function for updating {ORIG,}HEAD
- reset.c: remove unnecessary variable 'i'
- [SQUASH???] style fix
- reset.c: extract function for parsing arguments
- reset: don't allow "git reset -- $pathspec" in bare repo
- reset.c: pass pathspec around instead of (prefix, argv) pair
- reset $pathspec: exit with code 0 if successful
- reset $pathspec: no need to discard index

Various 'reset' optimizations and clean-ups, followed by a change
to allow "git reset" to work even on an unborn branch.


* pe/doc-email-env-is-trumped-by-config (2013-01-10) 1 commit
(merged to 'next' on 2013-01-14 at 6b4d555)
+ git-commit-tree(1): correct description of defaults

In the precedence order, the environment variable $EMAIL comes
between the built-in default (i.e. taking value by asking the
system's gethostname() etc.) and the user.email configuration
variable; the documentation implied that it is stronger than the
configuration like $GIT_COMMITTER_EMAIL is, which is wrong.


* ds/completion-silence-in-tree-path-probe (2013-01-11) 1 commit
- git-completion.bash: silence "not a valid object" errors

An internal ls-tree call made by completion code only to probe if
a path exists in the tree recorded in a commit object leaked error
messages when the path is not there. It is not an error at all and
should not be shown to the end user.

Will merge to 'next'.


* nd/fetch-depth-is-broken (2013-01-11) 3 commits
- fetch: elaborate --depth action
- upload-pack: fix off-by-one depth calculation in shallow clone
- fetch: add --unshallow for turning shallow repo into complete one

"git fetch --depth" was broken in at least three ways. The
resulting history was deeper than specified by one commit, it was
unclear how to wipe the shallowness of the repository with the
command, and documentation was misleading.

Will merge to 'next'.


* jc/no-git-config-in-clone (2013-01-11) 1 commit
- clone: do not export and unexport GIT_CONFIG

We stopped paying attention to $GIT_CONFIG environment that points
at a single configuration file from any command other than "git config"
quite a while ago, but "git clone" internally set, exported, and
then unexported the variable during its operation unnecessarily.


* mk/complete-tcsh (2013-01-07) 1 commit
@ -406,7 +454,7 @@ repositories listed at @@ -406,7 +454,7 @@ repositories listed at

contrib/subtree updates.

Will merge to 'next'.
Rerolled?


* ap/log-mailmap (2013-01-10) 11 commits
@ -427,23 +475,6 @@ repositories listed at @@ -427,23 +475,6 @@ repositories listed at
the mailmap.


* nd/upload-pack-shallow-must-be-commit (2013-01-08) 1 commit
(merged to 'next' on 2013-01-10 at a8b3ba5)
+ upload-pack: only accept commits from "shallow" line

A minor consistency check patch that does not have much relevance
to the real world.


* jc/blame-no-follow (2012-09-21) 2 commits
(merged to 'next' on 2013-01-10 at 201c7f4)
+ blame: pay attention to --no-follow
+ diff: accept --no-follow option

Teaches "--no-follow" option to "git blame" to disable its
whole-file rename detection.


* jc/push-2.0-default-to-simple (2013-01-08) 11 commits
(merged to 'next' on 2013-01-09 at 74c3498)
+ doc: push.default is no longer "matching"
@ -461,23 +492,6 @@ repositories listed at @@ -461,23 +492,6 @@ repositories listed at
Will cook in 'next' until Git 2.0 ;-).


* jk/unify-exit-code-by-receiving-signal (2013-01-06) 1 commit
(merged to 'next' on 2013-01-08 at 5ebf940)
+ run-command: encode signal death as a positive integer

The internal logic had to deal with two representations of a death
of a child process by a signal.

Will merge to 'master'.


* jn/xml-depends-on-asciidoc-conf (2013-01-06) 1 commit
(merged to 'next' on 2013-01-08 at 4faf8d4)
+ docs: manpage XML depends on asciidoc.conf

Will merge to 'master'.


* nd/clone-no-separate-git-dir-with-bare (2013-01-10) 1 commit
- clone: forbid --bare --separate-git-dir <dir>

@ -485,59 +499,32 @@ repositories listed at @@ -485,59 +499,32 @@ repositories listed at


* nd/parse-pathspec (2013-01-11) 20 commits
- Convert more init_pathspec() to parse_pathspec()
- Convert add_files_to_cache to take struct pathspec
- Convert {read,fill}_directory to take struct pathspec
- Convert refresh_index to take struct pathspec
- Convert report_path_error to take struct pathspec
- checkout: convert read_tree_some to take struct pathspec
- Convert unmerge_cache to take struct pathspec
- Convert read_cache_preload() to take struct pathspec
- add: convert to use parse_pathspec
- archive: convert to use parse_pathspec
- ls-files: convert to use parse_pathspec
- rm: convert to use parse_pathspec
- checkout: convert to use parse_pathspec
- rerere: convert to use parse_pathspec
- status: convert to use parse_pathspec
- commit: convert to use parse_pathspec
- clean: convert to use parse_pathspec
- Export parse_pathspec() and convert some get_pathspec() calls
- Add parse_pathspec() that converts cmdline args to struct pathspec
- pathspec: save the non-wildcard length part
. Convert more init_pathspec() to parse_pathspec()
. Convert add_files_to_cache to take struct pathspec
. Convert {read,fill}_directory to take struct pathspec
. Convert refresh_index to take struct pathspec
. Convert report_path_error to take struct pathspec
. checkout: convert read_tree_some to take struct pathspec
. Convert unmerge_cache to take struct pathspec
. Convert read_cache_preload() to take struct pathspec
. add: convert to use parse_pathspec
. archive: convert to use parse_pathspec
. ls-files: convert to use parse_pathspec
. rm: convert to use parse_pathspec
. checkout: convert to use parse_pathspec
. rerere: convert to use parse_pathspec
. status: convert to use parse_pathspec
. commit: convert to use parse_pathspec
. clean: convert to use parse_pathspec
. Export parse_pathspec() and convert some get_pathspec() calls
. Add parse_pathspec() that converts cmdline args to struct pathspec
. pathspec: save the non-wildcard length part

Uses the parsed pathspec structure in more places where we used to
use the raw "array of strings" pathspec.

Unfortunately, this conflicts a couple of topics in flight. I tried
to be careful while resolving conflicts, though.


* rs/zip-tests (2013-01-07) 4 commits
(merged to 'next' on 2013-01-08 at 8e37423)
+ t5003: check if unzip supports symlinks
+ t5000, t5003: move ZIP tests into their own script
+ t0024, t5000: use test_lazy_prereq for UNZIP
+ t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead

Updates zip tests to skip some that cannot be handled on platform
unzip.

I've renamed the t5002 in the original to t5003 to avoid name
clashes with another topic in flight.

Will merge to 'master'.


* rs/zip-with-uncompressed-size-in-the-header (2013-01-06) 1 commit
(merged to 'next' on 2013-01-08 at d9ec30e)
+ archive-zip: write uncompressed size into header even with streaming

Improve compatibility of our zip output to fill uncompressed size
in the header, which we can do without seeking back (even though it
should not be necessary).

Will merge to 'master'.
Ejected from 'pu' for now; will take a look at the rerolled one
later ($gmane/213340).


* jc/doc-maintainer (2013-01-03) 2 commits
@ -549,17 +536,6 @@ repositories listed at @@ -549,17 +536,6 @@ repositories listed at
document was originally written.


* fc/remote-testgit-feature-done (2012-10-29) 1 commit
(merged to 'next' on 2013-01-10 at 3132a60)
+ remote-testgit: properly check for errors

In the longer term, tightening rules is a good thing to do, and
because nobody who has worked in the remote helper area seems to be
interested in reviewing this, I would assume they do not think
such a retroactive tightening will affect their remote helpers. So
let's advance this topic to see what happens.


* mo/cvs-server-updates (2012-12-09) 18 commits
(merged to 'next' on 2013-01-08 at 75e2d11)
+ t9402: Use TABs for indentation
@ -586,57 +562,24 @@ repositories listed at @@ -586,57 +562,24 @@ repositories listed at
Will cook in 'next' for a while to see if anybody screams.


* ap/status-ignored-in-ignored-directory (2013-01-07) 3 commits
(merged to 'next' on 2013-01-10 at 20f7476)
+ status: always report ignored tracked directories
(merged to 'next' on 2013-01-07 at 2a20b19)
+ git-status: Test --ignored behavior
+ dir.c: Make git-status --ignored more consistent

Output from "git status --ignored" showed an unexpected interaction
with "--untracked".


* as/check-ignore (2013-01-10) 12 commits
- t0008: avoid brace expansion
- add git-check-ignore sub-command
- setup.c: document get_pathspec()
- add.c: extract new die_if_path_beyond_symlink() for reuse
- add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse
- pathspec.c: rename newly public functions for clarity
- add.c: move pathspec matchers into new pathspec.c for reuse
- add.c: remove unused argument from validate_pathspec()
- dir.c: improve docs for match_pathspec() and match_pathspec_depth()
- dir.c: provide clear_directory() for reclaiming dir_struct memory
- dir.c: keep track of where patterns came from
- dir.c: use a single struct exclude_list per source of excludes
(merged to 'next' on 2013-01-14 at 9df2afc)
+ t0008: avoid brace expansion
+ add git-check-ignore sub-command
+ setup.c: document get_pathspec()
+ add.c: extract new die_if_path_beyond_symlink() for reuse
+ add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse
+ pathspec.c: rename newly public functions for clarity
+ add.c: move pathspec matchers into new pathspec.c for reuse
+ add.c: remove unused argument from validate_pathspec()
+ dir.c: improve docs for match_pathspec() and match_pathspec_depth()
+ dir.c: provide clear_directory() for reclaiming dir_struct memory
+ dir.c: keep track of where patterns came from
+ dir.c: use a single struct exclude_list per source of excludes

Add a new command "git check-ignore" for debugging .gitignore
files.

Will merge to 'next'.


* jc/format-patch-reroll (2013-01-03) 9 commits
(merged to 'next' on 2013-01-07 at 0e007e6)
+ format-patch: give --reroll-count a short synonym -v
+ format-patch: document and test --reroll-count
+ format-patch: add --reroll-count=$N option
+ get_patch_filename(): split into two functions
+ get_patch_filename(): drop "just-numbers" hack
+ get_patch_filename(): simplify function signature
+ builtin/log.c: stop using global patch_suffix
+ builtin/log.c: drop redundant "numbered_files" parameter from make_cover_letter()
+ builtin/log.c: drop unused "numbered" parameter from make_cover_letter()

Originally merged to 'next' on 2013-01-04

Teach "format-patch" to prefix v4- to its output files for the
fourth iteration of a patch series, to make it easier for the
submitter to keep separate copies for iterations.

Will merge to 'master'.


* nd/retire-fnmatch (2013-01-01) 7 commits
(merged to 'next' on 2013-01-07 at ab31f9b)
@ -657,19 +600,6 @@ repositories listed at @@ -657,19 +600,6 @@ repositories listed at
Will cook in 'next' a bit longer than other topics.


* jc/merge-blobs (2012-12-26) 5 commits
(merged to 'next' on 2013-01-08 at 582ca38)
+ merge-tree: fix d/f conflicts
+ merge-tree: add comments to clarify what these functions are doing
+ merge-tree: lose unused "resolve_directories"
+ merge-tree: lose unused "flags" from merge_list
+ Which merge_file() function do you mean?

Update the disused merge-tree proof-of-concept code.

Will merge to 'master'.


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

@ -677,8 +607,7 @@ repositories listed at @@ -677,8 +607,7 @@ repositories listed at
$gmane/211935


* zk/clean-report-failure (2013-01-10) 2 commits
- [SQUASH???] style fixes
* zk/clean-report-failure (2013-01-14) 1 commit
- git-clean: Display more accurate delete messages

"git clean" states what it is going to remove and then goes on to
@ -686,18 +615,7 @@ repositories listed at @@ -686,18 +615,7 @@ repositories listed at
removed after recursing into a directory, which makes the output
confusing and even wrong.

Will merge to 'next' after squashing the style fix in.


* mp/complete-paths (2013-01-11) 1 commit
- git-completion.bash: add support for path completion

The completion script used to let the default completer to suggest
pathnames, which gave too many irrelevant choices (e.g. "git add"
would not want to add an unmodified path). Teach it to use a more
git-aware logic to enumerate only relevant ones.

Waiting for area-experts' help and review.
Will merge to 'next'.


* bc/append-signed-off-by (2013-01-01) 12 commits
@ -716,3 +634,17 @@ repositories listed at @@ -716,3 +634,17 @@ repositories listed at

Expecting a reroll.
$gmane/212507

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

* er/replace-cvsimport (2013-01-12) 7 commits
. t/lib-cvs: cvsimport no longer works without Python >= 2.7
. t9605: test for cvsps commit ordering bug
. t9604: fixup for new cvsimport
. t9600: fixup for new cvsimport
. t/lib-cvs.sh: allow cvsps version 3.x.
. t/t960[123]: remove leftover scripts
. cvsimport: rewrite to use cvsps 3.x to fix major bugs

Rerolled as jc/cvsimport-upgrade.

Loading…
Cancel
Save