From: Junio C Hamano Date: Sun, 21 Oct 2012 21:47:54 +0000 (-0700) Subject: What's cooking (2012/10 #07) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=30f4c66e634760a81ab27a236fe1f2482f6f7856;p=thirdparty%2Fgit.git What's cooking (2012/10 #07) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index fea902b091..1a7ae028f3 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,19 +1,19 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Oct 2012, #06; Fri, 19) +Subject: What's cooking in git.git (Oct 2012, #07; Sun, 21) X-master-at: 8ead1bfe111085ef1ad7759e67340f074996b244 X-next-at: 5b9a629a33877c671b6ebea47248afda0dc32545 -What's cooking in git.git (Oct 2012, #06; Fri, 19) +What's cooking in git.git (Oct 2012, #07; Sun, 21) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. -The 1.8.0 release is expected to be tagged this weekend, after which -I'd disappear for a few weeks, and Git will be in steady and good -hands of Jeff King (thanks) in the meantime. +The 1.8.0 release has been tagged. I'd disappear for a few weeks +without carrying a computer, and Git will be in steady hands of Jeff +King (thanks) in the meantime. You can find the changes described here in the integration branches of the repositories listed at @@ -23,159 +23,33 @@ repositories listed at -------------------------------------------------- [New Topics] -* js/mingw-fflush-errno (2012-10-17) 1 commit - (merged to 'next' on 2012-10-18 at 43d6ebb) - + maybe_flush_or_die: move a too-loose Windows specific error - - Will merge to 'master' in the first batch after 1.8.0 ships. - - -* mo/cvs-server-cleanup (2012-10-16) 10 commits - (merged to 'next' on 2012-10-18 at 5a60da1) - + cvsserver status: provide real sticky info - + cvsserver: cvs add: do not expand directory arguments - + cvsserver: use whole CVS rev number in-process; don't strip "1." prefix - + cvsserver: split up long lines in req_{status,diff,log} - + cvsserver: clean up client request handler map comments - + cvsserver: remove unused functions _headrev and gethistory - + cvsserver update: comment about how we shouldn't remove a user-modified file - + cvsserver: add comments about database schema/usage - + cvsserver: removed unused sha1Or-k mode from kopts_from_path - + cvsserver t9400: add basic 'cvs log' test - (this branch is used by mo/cvs-server-updates.) - - -* mo/cvs-server-updates (2012-10-16) 10 commits - - cvsserver Documentation: new cvs ... -r support - - cvsserver: add t9402 to test branch and tag refs - - cvsserver: support -r and sticky tags for most operations - - cvsserver: Add version awareness to argsfromdir - - cvsserver: generalize getmeta() to recognize commit refs - - cvsserver: implement req_Sticky and related utilities - - cvsserver: add misc commit lookup, file meta data, and file listing functions - - cvsserver: define a tag name character escape mechanism - - cvsserver: cleanup extra slashes in filename arguments - - cvsserver: factor out git-log parsing logic - (this branch uses mo/cvs-server-cleanup.) - - -* ta/doc-cleanup (2012-10-18) 5 commits - - Documentation/howto: convert plain text files to asciidoc - - Documentation/technical: convert plain text files to asciidoc - - Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt - - Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1 - - Split over-long synopsis in git-fetch-pack.txt into several lines - - Misapplication of a patch fixed; the ones near the tip needs to - update the links to point at the html files, though. - - -* lt/diff-stat-show-0-lines (2012-10-17) 1 commit - - Fix "git diff --stat" for interesting - but empty - file changes - - We failed to mention a file without any content change but whose - permission bit was modified, or (worse yet) a new file without any - content in the "git diff --stat" output. - - -* jc/prettier-pretty-note (2012-10-19) 7 commits - - Documentation: decribe format-patch --notes - - format-patch --notes: show notes after three-dashes - - format-patch: append --signature after notes - - pretty_print_commit(): do not append notes message - - pretty: prepare notes message at a centralized place - - format_note(): simplify API - - pretty: remove reencode_commit_message() - - Needs updates to the placeholder documentation. - - -* jk/sh-setup-in-filter-branch (2012-10-18) 2 commits - (merged to 'next' on 2012-10-18 at 3864adc) - + filter-branch: use git-sh-setup's ident parsing functions - + git-sh-setup: refactor ident-parsing functions - - Will merge to 'master' in the second batch after 1.8.0 ships. - - -* jk/strbuf-detach-always-non-null (2012-10-18) 1 commit - (merged to 'next' on 2012-10-18 at 54561c7) - + strbuf: always return a non-NULL value from strbuf_detach - - Will merge to 'master' in the first batch after 1.8.0 ships. - - -* nd/status-long (2012-10-18) 1 commit - (merged to 'next' on 2012-10-18 at 53940a1) - + status: add --long output format option - - Allow an earlier "--short" option on the command line to be - countermanded with the "--long" option for "git status" and "git - commit". - - Will merge to 'master' in the second batch after 1.8.0 ships. - - -* rs/branch-del-symref (2012-10-18) 5 commits - (merged to 'next' on 2012-10-18 at 68ee254) - + branch: show targets of deleted symrefs, not sha1s - + branch: skip commit checks when deleting symref branches - + branch: delete symref branch, not its target - + branch: factor out delete_branch_config() - + branch: factor out check_branch_commit() - - A symbolic ref refs/heads/SYM was not correctly removed with - "git branch -d SYM"; the command removed the ref pointed by - SYM instead. +* jc/maint-fetch-tighten-refname-check (2012-10-19) 1 commit + - get_fetch_map(): tighten checks on dest refs - Will merge to 'master' in the second batch after 1.8.0 ships. + This was split out from discarded jc/maint-push-refs-all topic. -* sz/maint-curl-multi-timeout (2012-10-18) 1 commit - - Fix potential hang in https handshake +* jh/symbolic-ref-d (2012-10-21) 1 commit + - git symbolic-ref --delete $symref - Sometimes curl_multi_timeout() function suggested a wrong timeout - value when there is no file descriptors to wait on and the http - transport ended up sleeping for minutes in select(2) system call. - Detect this and reduce the wait timeout in such a case. + Add "symbolic-ref -d SYM" to delete a symbolic ref SYM. + It is already possible to remove a symbolic ref with "update-ref -d + --no-deref", but it may be a good addition for completeness. -* jc/same-encoding (2012-10-18) 1 commit - - reencode_string(): introduce and use same_encoding() - Various codepaths checked if two encoding names are the same using - ad-hoc code and some of them ended up asking iconv() to convert - between "utf8" and "UTF-8". The former is not a valid way to spell - the encoding name, but often people use it by mistake, and we - equated them in some but not all codepaths. Introduce a new helper - function to make these codepaths consistent. +* jh/update-ref-d-through-symref (2012-10-21) 2 commits + - Fix failure to delete a packed ref through a symref + - t1400-update-ref: Add test verifying bug with symrefs in delete_ref() + (this branch uses rs/branch-del-symref.) + "update-ref -d --deref SYM" to delete a ref through a symbolic ref + that points to it did not remove it correctly. -* nd/tree-walk-enum-cleanup (2012-10-19) 1 commit - - tree-walk: use enum interesting instead of integer -------------------------------------------------- [Stalled] -* mh/ceiling (2012-09-29) 9 commits - - t1504: stop resolving symlinks in GIT_CEILING_DIRECTORIES - - longest_ancestor_length(): resolve symlinks before comparing paths - - longest_ancestor_length(): use string_list_longest_prefix() - - longest_ancestor_length(): always add a slash to the end of prefixes - - longest_ancestor_length(): explicitly filter list before loop - - longest_ancestor_length(): use string_list_split() - - Introduce new function real_path_if_valid() - - real_path_internal(): add comment explaining use of cwd - - Introduce new static function real_path_internal() - - Elements of GIT_CEILING_DIRECTORIES list may not match the real - pathname we obtain from getcwd(), leading the GIT_DIR discovery - logic to escape the ceilings the user thought to have specified. - - The solution felt a bit unnecessarily convoluted to me. - Expecting a reroll. - - * rc/maint-complete-git-p4 (2012-09-24) 1 commit (merged to 'next' on 2012-09-25 at 116e58f) + Teach git-completion about git p4 @@ -198,17 +72,6 @@ repositories listed at Has the "is this really blue?" issue Peff raised resolved??? -* fa/vcs-svn (2012-10-07) 4 commits - - vcs-svn: remove repo_tree - - vcs-svn/svndump: rewrite handle_node(), begin|end_revision() - - vcs-svn/svndump: restructure node_ctx, rev_ctx handling - - svndump: move struct definitions to .h - (this branch uses fa/remote-svn.) - - A follow-up to a GSoC project, but seems not quite ready. - Will discard. - - * jc/maint-name-rev (2012-09-17) 7 commits - describe --contains: use "name-rev --algorithm=weight" - name-rev --algorithm=weight: tests and documentation @@ -269,46 +132,6 @@ repositories listed at Stalled mostly due to lack of responses. -* ph/credential-refactor (2012-09-02) 5 commits - - wincred: port to generic credential helper - - Merge branch 'ef/win32-cred-helper' into ph/credential-refactor - - osxkeychain: port to generic credential helper implementation - - gnome-keyring: port to generic helper implementation - - contrib: add generic credential helper - - Attempts to refactor to share code among OSX keychain, Gnome keyring - and Win32 credential helpers. - - -* ms/contrib-thunderbird-updates (2012-08-31) 2 commits - - [SQUASH] minimum fixup - - Thunderbird: fix appp.sh format problems - - Update helper to send out format-patch output using Thunderbird. - Seems to have design regression for silent users. - - -* jx/test-real-path (2012-08-27) 1 commit - - test: set the realpath of CWD as TRASH_DIRECTORY - - Running tests with the "trash" directory elsewhere with the "--root" - option did not work well if the directory was specified by a symbolic - link pointing at it. - - Seems broken as it makes $(pwd) and TRASH_DIRECTORY inconsistent. - Will discard. - - -* jc/maint-push-refs-all (2012-08-27) 2 commits - - get_fetch_map(): tighten checks on dest refs - - [BROKEN] fetch/push: allow refs/*:refs/* - - Allows pushing and fetching everything including refs/stash. - This is broken (see the log message there). - - Not ready. - - * jc/add-delete-default (2012-08-13) 1 commit (merged to 'next' on 2012-10-11 at bd9e5cb) + git add: notice removal of tracked paths by default @@ -323,17 +146,6 @@ repositories listed at Waiting for comments. -* tx/relative-in-the-future (2012-08-16) 2 commits - - date: show relative dates in the future - - date: refactor the relative date logic from presentation - - Not my itch; rewritten an earlier submission by Tom Xue into - somewhat more maintainable form, though it breaks existing i18n. - - Waiting for a voluteer to fix it up. - Otherwise may discard. - - * 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. @@ -351,39 +163,156 @@ repositories listed at "The first remote becomes the default" bit is better done as a separate step. +-------------------------------------------------- +[Cooking] -* jc/split-blob (2012-04-03) 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 - - packfile: use varint functions +* mh/ceiling (2012-10-21) 8 commits + - string_list_longest_prefix(): remove function + - normalize_ceiling_entry(): resolve symlinks + - longest_ancestor_length(): require prefix list entries to be normalized + - longest_ancestor_length(): take a string_list argument for prefixes + - longest_ancestor_length(): use string_list_split() + - Introduce new function real_path_if_valid() + - real_path_internal(): add comment explaining use of cwd + - Introduce new static function real_path_internal() - Not ready. + Elements of GIT_CEILING_DIRECTORIES list may not match the real + pathname we obtain from getcwd(), leading the GIT_DIR discovery + logic to escape the ceilings the user thought to have specified. - 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 disappointed that the original patch series - that was sent long time 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" fanbois, 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 :-<. +* js/mingw-fflush-errno (2012-10-17) 1 commit + (merged to 'next' on 2012-10-18 at 43d6ebb) + + maybe_flush_or_die: move a too-loose Windows specific error + + Will merge to 'master' in the first batch after 1.8.0 ships. + + +* mo/cvs-server-cleanup (2012-10-16) 10 commits + (merged to 'next' on 2012-10-18 at 5a60da1) + + cvsserver status: provide real sticky info + + cvsserver: cvs add: do not expand directory arguments + + cvsserver: use whole CVS rev number in-process; don't strip "1." prefix + + cvsserver: split up long lines in req_{status,diff,log} + + cvsserver: clean up client request handler map comments + + cvsserver: remove unused functions _headrev and gethistory + + cvsserver update: comment about how we shouldn't remove a user-modified file + + cvsserver: add comments about database schema/usage + + cvsserver: removed unused sha1Or-k mode from kopts_from_path + + cvsserver t9400: add basic 'cvs log' test + (this branch is used by mo/cvs-server-updates.) + + +* mo/cvs-server-updates (2012-10-16) 10 commits + - cvsserver Documentation: new cvs ... -r support + - cvsserver: add t9402 to test branch and tag refs + - cvsserver: support -r and sticky tags for most operations + - cvsserver: Add version awareness to argsfromdir + - cvsserver: generalize getmeta() to recognize commit refs + - cvsserver: implement req_Sticky and related utilities + - cvsserver: add misc commit lookup, file meta data, and file listing functions + - cvsserver: define a tag name character escape mechanism + - cvsserver: cleanup extra slashes in filename arguments + - cvsserver: factor out git-log parsing logic + (this branch uses mo/cvs-server-cleanup.) + + +* ta/doc-cleanup (2012-10-18) 5 commits + - Documentation/howto: convert plain text files to asciidoc + - Documentation/technical: convert plain text files to asciidoc + - Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt + - Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1 + - Split over-long synopsis in git-fetch-pack.txt into several lines + + Misapplication of a patch fixed; the ones near the tip needs to + update the links to point at the html files, though. + + +* lt/diff-stat-show-0-lines (2012-10-17) 1 commit + - Fix "git diff --stat" for interesting - but empty - file changes + + We failed to mention a file without any content change but whose + permission bit was modified, or (worse yet) a new file without any + content in the "git diff --stat" output. + + +* jc/prettier-pretty-note (2012-10-19) 7 commits + - Documentation: decribe format-patch --notes + - format-patch --notes: show notes after three-dashes + - format-patch: append --signature after notes + - pretty_print_commit(): do not append notes message + - pretty: prepare notes message at a centralized place + - format_note(): simplify API + - pretty: remove reencode_commit_message() + + Needs updates to the placeholder documentation. + + +* jk/sh-setup-in-filter-branch (2012-10-18) 2 commits + (merged to 'next' on 2012-10-18 at 3864adc) + + filter-branch: use git-sh-setup's ident parsing functions + + git-sh-setup: refactor ident-parsing functions + + Will merge to 'master' in the second batch after 1.8.0 ships. + + +* jk/strbuf-detach-always-non-null (2012-10-18) 1 commit + (merged to 'next' on 2012-10-18 at 54561c7) + + strbuf: always return a non-NULL value from strbuf_detach + + Will merge to 'master' in the first batch after 1.8.0 ships. + + +* nd/status-long (2012-10-18) 1 commit + (merged to 'next' on 2012-10-18 at 53940a1) + + status: add --long output format option + + Allow an earlier "--short" option on the command line to be + countermanded with the "--long" option for "git status" and "git + commit". + + Will merge to 'master' in the second batch after 1.8.0 ships. + + +* rs/branch-del-symref (2012-10-18) 5 commits + (merged to 'next' on 2012-10-18 at 68ee254) + + branch: show targets of deleted symrefs, not sha1s + + branch: skip commit checks when deleting symref branches + + branch: delete symref branch, not its target + + branch: factor out delete_branch_config() + + branch: factor out check_branch_commit() + (this branch is used by jh/update-ref-d-through-symref.) + + A symbolic ref refs/heads/SYM was not correctly removed with + "git branch -d SYM"; the command removed the ref pointed by + SYM instead. + + Will merge to 'master' in the second batch after 1.8.0 ships. + + +* sz/maint-curl-multi-timeout (2012-10-19) 1 commit + - Fix potential hang in https handshake + + Sometimes curl_multi_timeout() function suggested a wrong timeout + value when there is no file descriptors to wait on and the http + transport ended up sleeping for minutes in select(2) system call. + Detect this and reduce the wait timeout in such a case. + + +* jc/same-encoding (2012-10-18) 1 commit + - reencode_string(): introduce and use same_encoding() + + Various codepaths checked if two encoding names are the same using + ad-hoc code and some of them ended up asking iconv() to convert + between "utf8" and "UTF-8". The former is not a valid way to spell + the encoding name, but often people use it by mistake, and we + equated them in some but not all codepaths. Introduce a new helper + function to make these codepaths consistent. + + +* nd/tree-walk-enum-cleanup (2012-10-19) 1 commit + - tree-walk: use enum interesting instead of integer --------------------------------------------------- -[Cooking] * jk/maint-http-init-not-in-result-handler (2012-10-12) 2 commits (merged to 'next' on 2012-10-16 at cc88829) @@ -656,7 +585,6 @@ repositories listed at + Add svndump_init_fd to allow reading dumps from arbitrary FDs + Add git-remote-testsvn to Makefile + Implement a remote helper for svn in C - (this branch is used by fa/vcs-svn.) A GSoC project. Will merge to 'master' in the first batch after 1.8.0 ships. @@ -738,3 +666,95 @@ repositories listed at 406. Will merge to 'master' in the first batch after 1.8.0 ships. + +-------------------------------------------------- +[Discarded] + +* fa/vcs-svn (2012-10-07) 4 commits + - vcs-svn: remove repo_tree + - vcs-svn/svndump: rewrite handle_node(), begin|end_revision() + - vcs-svn/svndump: restructure node_ctx, rev_ctx handling + - svndump: move struct definitions to .h + (this branch uses fa/remote-svn.) + + A follow-up to a GSoC project, but seems not quite ready. + + +* ph/credential-refactor (2012-09-02) 5 commits + - wincred: port to generic credential helper + - Merge branch 'ef/win32-cred-helper' into ph/credential-refactor + - osxkeychain: port to generic credential helper implementation + - gnome-keyring: port to generic helper implementation + - contrib: add generic credential helper + + Attempts to refactor to share code among OSX keychain, Gnome keyring + and Win32 credential helpers. Turns out that the sharing wasn't + big enough to worth the churn. + + +* ms/contrib-thunderbird-updates (2012-08-31) 2 commits + - [SQUASH] minimum fixup + - Thunderbird: fix appp.sh format problems + + Update helper to send out format-patch output using Thunderbird. + Seems to have design regression for silent users. + + +* jx/test-real-path (2012-08-27) 1 commit + - test: set the realpath of CWD as TRASH_DIRECTORY + + Running tests with the "trash" directory elsewhere with the "--root" + option did not work well if the directory was specified by a symbolic + link pointing at it. + + Seems broken as it makes $(pwd) and TRASH_DIRECTORY inconsistent. + + +* jc/maint-push-refs-all (2012-08-27) 2 commits + - get_fetch_map(): tighten checks on dest refs + - [BROKEN] fetch/push: allow refs/*:refs/* + + This is broken (see the log message there). "git fetch/push + $there 'refs/*:refs/*'" already propagates heads, tags, notes, + etc. hierarchies; an attempt to propagate refs/stash will fail + against an older version of the other side and is not worth + supporting. + + +* tx/relative-in-the-future (2012-08-16) 2 commits + - date: show relative dates in the future + - date: refactor the relative date logic from presentation + + Not my itch; rewritten an earlier submission by Tom Xue into + somewhat more maintainable form, though it breaks existing i18n. + + Was waiting for a voluteer to fix it up, which never happend. + + +* jc/split-blob (2012-04-03) 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 + - packfile: use varint functions + + 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 disappointed that the original patch series + that was sent long time 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" fanbois, 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 :-<.