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
--------------------------------------------------
[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
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
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
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.
"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)
+ 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.
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 :-<.