diff --git a/whats-cooking.txt b/whats-cooking.txt index ea9050959c..807bfa0340 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -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 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 -------------------------------------------------- [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 contrib/subtree updates. - Will merge to 'next'. + Rerolled? * ap/log-mailmap (2013-01-10) 11 commits @@ -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 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 @@ -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 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 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 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 $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 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 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.