What's cooking in git.git (Feb 2012, #03; Thu, 9) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. Compared to the recent activity level on discussions of new features on the list, some people may be wondering if the rate of advancement of the 'master' and 'next' branches is getting throttled. That is because it is. Now the obviously good bits that have been cooking during the feature freeze are pushed out to 'master', I'd want to make sure we can have a timely release of v1.7.9.1 so that people can start benefiting from the features and fixes introduced in v1.7.9 more smoothly and sooner, and that is where my focus lies at this moment. I've been picking up new topics and adding them to 'pu' only "as time and attention permit" basis, and this mode of operation probably will continue throughout the second week of the post v1.7.9 cycle (cf. http://tinyurl.com/gitcal). I would like to see more people test the tip of 'pu' as soon as possible to make sure the fixes to 'git merge' give more pleasant user experience than stock 1.7.9 release. Things to expect are: * "git merge --ff-only v3.2" that should fast-forward to the commit that is tagged should fast-forward, without creating the merge commit that records the contents taken from v3.2 tag (the topic jc/merge-ff-only-stronger-than-signed-merge in 'next' should take care of this issue); * "git merge --no-edit v3.2" does not spawn an editor, but does create the merge commit to record the contents taken from v3.2 tag (the topic jn/merge-no-edit-fix in 'pu' should take care of this issue). You can find the changes described here in the integration branches of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- [Graduated to "master"] * bl/gitweb-project-filter (2012-02-01) 8 commits (merged to 'next' on 2012-02-01 at 2c96ce7) + gitweb: Make project search respect project_filter + gitweb: improve usability of projects search form + gitweb: place links to parent directories in page header + gitweb: show active project_filter in project_list page header + gitweb: limit links to alternate forms of project_list to active project_filter + gitweb: add project_filter to limit project list to a subdirectory + gitweb: prepare git_get_projects_list for use outside 'forks'. + gitweb: move hard coded .git suffix out of git_get_projects_list "gitweb" allows intermediate entries in the directory hierarchy that leads to a projects to be clicked, which in turn shows the list of projects inside that directory. * jc/maint-request-pull-for-tag (2012-01-31) 1 commit (merged to 'next' on 2012-02-01 at 7649f18) + request-pull: explicitly ask tags/$name to be pulled When asking for a tag to be pulled, "request-pull" shows the name of the tag prefixed with "tags/" * jn/svn-fe (2012-02-02) 47 commits (merged to 'next' on 2012-02-05 at e9d3917) + vcs-svn: suppress a -Wtype-limits warning + vcs-svn: allow import of > 4GiB files + vcs-svn: rename check_overflow arguments for clarity (merged to 'next' on 2012-02-01 at 9288c95) + vcs-svn/svndiff.c: squelch false "unused" warning from gcc + Merge branch 'svn-fe' of git://repo.or.cz/git/jrn into jn/svn-fe + vcs-svn: reset first_commit_done in fast_export_init + Merge branch 'db/text-delta' into svn-fe + vcs-svn: do not initialize report_buffer twice + Merge branch 'db/text-delta' into svn-fe + vcs-svn: avoid hangs from corrupt deltas + vcs-svn: guard against overflow when computing preimage length + Merge branch 'db/delta-applier' into db/text-delta + vcs-svn: implement text-delta handling + Merge branch 'db/delta-applier' into db/text-delta + Merge branch 'db/delta-applier' into svn-fe + vcs-svn: cap number of bytes read from sliding view + test-svn-fe: split off "test-svn-fe -d" into a separate function + vcs-svn: let deltas use data from preimage + vcs-svn: let deltas use data from postimage + vcs-svn: verify that deltas consume all inline data + vcs-svn: implement copyfrom_data delta instruction + vcs-svn: read instructions from deltas + vcs-svn: read inline data from deltas + vcs-svn: read the preimage when applying deltas + vcs-svn: parse svndiff0 window header + vcs-svn: skeleton of an svn delta parser + vcs-svn: make buffer_read_binary API more convenient + vcs-svn: learn to maintain a sliding view of a file + Makefile: list one vcs-svn/xdiff object or header per line + Merge branch 'db/svn-fe-code-purge' into svn-fe + vcs-svn: drop obj_pool + vcs-svn: drop treap + vcs-svn: drop string_pool + vcs-svn: pass paths through to fast-import + Merge branch 'db/strbufs-for-metadata' into db/svn-fe-code-purge + Merge branch 'db/length-as-hash' (early part) into db/svn-fe-code-purge + Merge branch 'db/vcs-svn-incremental' into svn-fe + vcs-svn: avoid using ls command twice + vcs-svn: use mark from previous import for parent commit + vcs-svn: handle filenames with dq correctly + vcs-svn: quote paths correctly for ls command + vcs-svn: eliminate repo_tree structure + vcs-svn: add a comment before each commit + vcs-svn: save marks for imported commits + vcs-svn: use higher mark numbers for blobs + vcs-svn: set up channel to read fast-import cat-blob response + Merge commit 'v1.7.5' into svn-fe Originally merged to 'next' on 2012-01-29. "vcs-svn"/"svn-fe" learned to read dumps with svn-deltas and support incremental imports. * jx/i18n-more-marking (2012-02-01) 2 commits (merged to 'next' on 2012-02-05 at 44e8cf6) + i18n: format_tracking_info "Your branch is behind" message + i18n: git-commit whence_s "merge/cherry-pick" message Marks a few more messages we forgot to mark for i18n. * rt/completion-branch-edit-desc (2012-01-29) 1 commit (merged to 'next' on 2012-02-01 at 0627ebf) + completion: --edit-description option for git-branch Originally merged to 'next' on 2012-01-31. -------------------------------------------------- [New Topics] * jk/config-include (2012-02-06) 2 commits - config: add include directive - docs: add a basic description of the config API An assignment to the include.path pseudo-variable causes the named file to be included in-place when Git looks up configuration variables. * jk/maint-tag-show-fixes (2012-02-08) 3 commits (merged to 'next' on 2012-02-08 at 18459c4) + tag: do not show non-tag contents with "-n" + tag: die when listing missing or corrupt objects + tag: fix output of "tag -n" when errors occur Bugfixes to "git tag -n" that lacked much error checking. * mm/empty-loose-error-message (2012-02-06) 1 commit (merged to 'next' on 2012-02-07 at f119cac) + fsck: give accurate error message on empty loose object files Updates the error message emitted when we see an empty loose object. * nd/columns (2012-02-08) 15 commits - column: Fix some compiler and sparse warnings - column: add a corner-case test to t3200 - columns: minimum coding style fixes - tag: add --column - column: support piping stdout to external git-column process - status: add --column - branch: add --column - help: reuse print_columns() for help -a - column: add column.ui for default column output settings - column: support columns with different widths - column: add columnar layout - Stop starting pager recursively - Add git-column and column mode parsing - column: add API to print items in columns - Save terminal width before setting up pager The "show list of ..." mode of a handful of commands learn to produce column-oriented output. Expecting a reroll. * jc/maint-commit-ignore-i-t-a (2012-02-07) 1 commit - commit: ignore intent-to-add entries instead of refusing Replaces the nd/commit-ignore-i-t-a series that was made unnecessary complicated by bad suggestions I made earlier. * jk/userdiff-config-simplify (2012-02-07) 1 commit - drop odd return value semantics from userdiff_config Code cleanup. * js/add-e-submodule-fix (2012-02-07) 1 commit (merged to 'next' on 2012-02-08 at c8e2d28) + add -e: do not show difference in a submodule that is merely dirty "add -e" learned not to show a diff for an otherwise unmodified submodule that only has uncommitted local changes in the patch prepared by for the user to edit. * nd/cache-tree-api-refactor (2012-02-07) 1 commit (merged to 'next' on 2012-02-08 at a9abbca) + cache-tree: update API to take abitrary flags Code cleanup. * tg/tag-points-at (2012-02-08) 1 commit - tag: add --points-at list option Will merge to 'next'. * jl/maint-submodule-relative (2012-02-09) 2 commits - submodules: always use a relative path from gitdir to work tree - submodules: always use a relative path to gitdir * jn/merge-no-edit-fix (2012-02-09) 1 commit - merge: do not launch an editor on "--no-edit $tag" (this branch uses jc/merge-ff-only-stronger-than-signed-merge.) * ld/git-p4-expanded-keywords (2012-02-09) 2 commits - git-p4: initial demonstration of possible RCS keyword fixup - git-p4: add test case for RCS keywords * mp/make-cleanse-x-for-exe (2012-02-09) 1 commit (merged to 'next' on 2012-02-09 at 35cc89d) + Explicitly set X to avoid potential build breakage -------------------------------------------------- [Stalled] * jc/advise-push-default (2011-12-18) 1 commit - push: hint to use push.default=upstream when appropriate Peff had a good suggestion outlining an updated code structure so that somebody new can try to dip his or her toes in the development. Any takers? * ss/git-svn-prompt-sans-terminal (2012-01-04) 3 commits - fixup! 15eaaf4 - git-svn, perl/Git.pm: extend Git::prompt helper for querying users - perl/Git.pm: "prompt" helper to honor GIT_ASKPASS and SSH_ASKPASS The bottom one has been replaced with a rewrite based on comments from Ævar. The second one needs more work, both in perl/Git.pm and prompt.c, to give precedence to tty over SSH_ASKPASS when terminal is available. * jc/split-blob (2012-01-24) 6 commits - chunked-object: streaming checkout - chunked-object: fallback checkout codepaths - bulk-checkin: support chunked-object encoding - bulk-checkin: allow the same data to be multiply hashed - new representation types in the packstream - varint-in-pack: refactor varint encoding/decoding Not ready. I finished the streaming checkout codepath, but as explained in 127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30), these are still early steps of a long and painful journey. At least pack-objects and fsck need to learn the new encoding for the series to be usable locally, and then index-pack/unpack-objects needs to learn it to be used remotely. Given that I heard a lot of noise that people want large files, and that I was asked by somebody at GitTogether'11 privately for an advice on how to pay developers (not me) to help adding necessary support, I am somewhat dissapointed that the original patch series that was sent almost two months ago still remains here without much comments and updates from the developer community. I even made the interface to the logic that decides where to split chunks easily replaceable, and I deliberately made the logic in the original patch extremely stupid to entice others, especially the "bup" fanboys, to come up with a better logic, thinking that giving people an easy target to shoot for, they may be encouraged to help out. The plan is not working :-(. -------------------------------------------------- [Cooking] * bw/inet-pton-ntop-compat (2012-02-05) 1 commit (merged to 'next' on 2012-02-06 at 61303e6) + Drop system includes from inet_pton/inet_ntop compatibility wrappers The inclusion order of header files bites Solaris again and this fixes it. * jc/branch-desc-typoavoidance (2012-02-05) 2 commits (merged to 'next' on 2012-02-06 at 9fb0568) + branch --edit-description: protect against mistyped branch name + tests: add write_script helper function (this branch is tangled with jk/tests-write-script.) Typo in "git branch --edit-description my-tpoic" was not diagnosed. * jc/checkout-out-of-unborn (2012-02-06) 1 commit (merged to 'next' on 2012-02-07 at 60eb328) + git checkout -b: allow switching out of an unborn branch I was fairly negative on this one, but Michael Haggerty and Peff convinced me that selling this as "'checkout -b' that lack the <start point> is about creating a new branch from my current state" is perfectly fine. * jc/maint-mailmap-output (2012-02-06) 1 commit (merged to 'next' on 2012-02-06 at 0a21425) + mailmap: always return a plain mail address from map_user() map_user() was not rewriting its output correctly, which resulted in the user visible symptom that "git blame -e" sometimes showed excess '>' at the end of email addresses. * jc/merge-ff-only-stronger-than-signed-merge (2012-02-05) 1 commit (merged to 'next' on 2012-02-06 at 0fabf12) + merge: do not create a signed tag merge under --ff-only option (this branch is used by jn/merge-no-edit-fix.) "git merge --ff-only $tag" failed because it cannot record the required mergetag without creating a merge, but this is so common operation for branch that is used _only_ to follow the upstream, so it is allowed to fast-forward without recording the mergetag. * tt/profile-build-fix (2012-02-09) 2 commits (merged to 'next' on 2012-02-09 at 1c183af) + Makefile: fix syntax for older make (merged to 'next' on 2012-02-07 at c8c5f3f) + Fix build problems related to profile-directed optimization * nd/diffstat-gramnum (2012-02-03) 1 commit (merged to 'next' on 2012-02-05 at 7335ecc) + Use correct grammar in diffstat summary line The commands in the "git diff" family and "git apply --stat" that count the number of files changed and the number of lines inserted/deleted have been updated to match the output from "diffstat". This also opens the door to i18n this line. * jk/grep-binary-attribute (2012-02-02) 9 commits (merged to 'next' on 2012-02-05 at 9dffa7e) + grep: pre-load userdiff drivers when threaded + grep: load file data after checking binary-ness + grep: respect diff attributes for binary-ness + grep: cache userdiff_driver in grep_source + grep: drop grep_buffer's "name" parameter + convert git-grep to use grep_source interface + grep: refactor the concept of "grep source" into an object + grep: move sha1-reading mutex into low-level code + grep: make locking flag global Fixes a longstanding bug that there was no way to tell "git grep" that a path may look like text but it is not, which "git diff" can do using the attributes system. Now "git grep" honors the same "binary" (or "-diff") attribute. * jc/parse-date-raw (2012-02-03) 2 commits (merged to 'next' on 2012-02-07 at 486ae6e) + parse_date(): '@' prefix forces git-timestamp + parse_date(): allow ancient git-timestamp "rebase" and "commit --amend" failed to work on commits with ancient timestamps near year 1970. * jk/git-dir-lookup (2012-02-02) 1 commit (merged to 'next' on 2012-02-05 at 1856d74) + standardize and improve lookup rules for external local repos When you have both .../foo and .../foo.git, "git clone .../foo" did not favor the former but the latter. * jk/prompt-fallback-to-tty (2012-02-03) 2 commits (merged to 'next' on 2012-02-06 at c0c995a) + prompt: fall back to terminal if askpass fails + prompt: clean up strbuf usage The code to ask for password did not fall back to the terminal input when GIT_ASKPASS is set but does not work (e.g. lack of X with GUI askpass helper). * jk/tests-write-script (2012-02-03) 2 commits (merged to 'next' on 2012-02-05 at 4264ffa) + t0300: use write_script helper + tests: add write_script helper function (this branch is tangled with jc/branch-desc-typoavoidance.) * jn/gitweb-search-utf-8 (2012-02-03) 1 commit (merged to 'next' on 2012-02-05 at 055e446) + gitweb: Allow UTF-8 encoded CGI query parameters and path_info Search box in "gitweb" did not accept non-ASCII characters correctly. * jn/rpm-spec (2012-02-03) 1 commit (merged to 'next' on 2012-02-05 at dba940b) + git.spec: Workaround localized messages not put in any RPM Fix breakage in v1.7.9 Makefile; rpmbuild notices an unpackaged but installed *.mo file and fails. * fc/zsh-completion (2012-02-06) 3 commits (merged to 'next' on 2012-02-06 at c94dd12) + completion: simplify __gitcomp and __gitcomp_nl implementations + completion: use ls -1 instead of rolling a loop to do that ourselves + completion: work around zsh option propagation bug Fix git subcommand completion for zsh (in contrib/completion). * nd/find-pack-entry-recent-cache-invalidation (2012-02-01) 2 commits (merged to 'next' on 2012-02-01 at e26aed0) + find_pack_entry(): do not keep packed_git pointer locally + sha1_file.c: move the core logic of find_pack_entry() into fill_pack_entry() * nd/pack-objects-parseopt (2012-02-01) 3 commits (merged to 'next' on 2012-02-05 at d0dc25d) + pack-objects: convert to use parse_options() + pack-objects: remove bogus comment + pack-objects: do not accept "--index-version=version," "pack-objects" learned use parse-options, losing custom command line parsing code. -------------------------------------------------- [Discarded] * nd/commit-ignore-i-t-a (2012-02-06) 4 commits . commit: remove commit.ignoreIntentToAdd, assume it's always true . commit: turn commit.ignoreIntentToAdd to true by default . commit: introduce a config key to allow as-is commit with i-t-a entries . cache-tree: update API to take abitrary flags Instead of using configuration to selectively delay bugfixes like this series does, let's sell it as a pure bugfix. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html