@leroysheep / rag-system / commits / c58d77d896

What's cooking (2008/07 #05)

Junio C Hamano committed Aug 5, 2008 at 21:44 UTC c58d77d8960df7f7d95aef93b7af5330a510d5be
1 file changed +154 -116
whats-cooking.txt
+154 -116
index e0fe6aa8d8..9447fce872 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,6 +1,6 @@ -Subject: What's cooking in git.git (Jul 2008, issue #04; Wed, 09) +Subject: What's cooking in git.git (Jul 2008, issue #05; Sun, 13) -What's cooking in git.git (Jul 2008, issue #04; Wed, 09) +What's cooking in git.git (Jul 2008, issue #05; Sun, 13) -------------------------------------------------------- Here are the topics that have been cooking. Commits prefixed @@ -8,48 +8,94 @@ with '-' are only in 'pu' while commits prefixed with '+' are in 'next'. The topics list the commits in reverse chronological order. The topics -meant to be applied to the maintenance series have "maint-" in their -names. +meant to be merged to the maintenance series have "maint-" in their names. -It already is beginning to become clear what 1.6.0 will look like. What's -already in 'next' all are well intentioned (I do not guarantee they are -already bug-free --- that is what cooking them in 'next' is for) and are -good set of feature enhancements. Bigger changes will be: +I think most of the important stuff is already in 'next'. Let's start +talking about closing the merge window for 1.6.0. - * Port for MinGW. +---------------------------------------------------------------- +[New Topics] - * With the default Makefile settings, most of the programs will be - installed outside your $PATH, except for "git", "gitk", "git-gui" and - some server side programs that need to be accessible for technical - reasons. Invoking a git subcommand as "git-xyzzy" from the command - line has been deprecated since early 2006 (and officially announced in - 1.5.4 release notes); use of them from your scripts after adding - output from "git --exec-path" to the $PATH will still be supported in - 1.6.0, but users are again strongly encouraged to adjust their - scripts to use "git xyzzy" form, as we will stop installing - "git-xyzzy" hardlinks for built-in commands in later releases. +* sb/dashless (Sun Jul 13 15:36:15 2008 +0200) 3 commits + - Make usage strings dash-less + - t/: Use "test_must_fail git" instead of "! git" + - t/test-lib.sh: exit with small negagive int is ok with + test_must_fail + +* mv/dashless (Fri Jul 11 02:12:06 2008 +0200) 4 commits + - make remove-dashes: apply to scripts and programs as well, not + just to builtins + - git-bisect: use dash-less form on git bisect log + - t1007-hash-object.sh: use quotes for the test description + - t0001-init.sh: change confusing directory name + +* sp/maint-bash-completion-optim (Mon Jul 14 00:22:03 2008 +0000) 1 commit + + bash completion: Append space after file names have been completed + +Early parts are already merged to 'master' and need to be merged down to +maint as well, as this is about a "performance bug" that has been with us +almost forever. + +* ag/rewrite_one (Sat Jul 12 22:00:57 2008 +0400) 1 commit + + Fix quadratic performance in rewrite_one. + +* sp/win (Fri Jul 11 18:52:42 2008 +0200) 3 commits + + We need to check for msys as well as Windows in add--interactive. + + Convert CR/LF to LF in tag signatures + + Fixed text file auto-detection: treat EOF character 032 at the end + of file as printable + +* js/merge-rr (Sat Jul 12 15:56:19 2008 +0100) 2 commits + + Move MERGE_RR from .git/rr-cache/ into .git/ + + builtin-rerere: more carefully find conflict markers - * git-merge will be rewritten in C. +* sb/rerere-lib (Wed Jul 9 14:58:57 2008 +0200) 2 commits + + rerere: Separate libgit and builtin functions + + builtin-rerere: more carefully find conflict markers - * default pack and idx versions will be updated as scheduled for some - time ago. +* ls/mailinfo (Sun Jul 13 20:30:12 2008 +0200) 3 commits + - git-mailinfo: use strbuf's instead of fixed buffers + - Add some useful functions for strbuf manipulation. + - Make some strbuf_*() struct strbuf arguments const. - * GIT_CONFIG, which was only documented as affecting "git config", but - actually affected all git commands, now only affects "git config". - GIT_LOCAL_CONFIG, also only documented as affecting "git config" and - not different from GIT_CONFIG in a useful way, is removed. +* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit + - cherry: cache patch-ids to avoid repeating work ----------------------------------------------------------------- -[New Topics] +This does not seem to pass tests even on its own. -* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits - + Teach git-merge -X<option> again. - + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next - + builtin-merge.c: use parse_options_step() "incremental parsing" - machinery - + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next +* js/maint-pretty-mailmap (Sat Jul 12 00:28:18 2008 +0100) 1 commit + + Add pretty format %aN which gives the author name, respecting + .mailmap -I've described what this is in a separate message. +* js/more-win (Sun Jul 13 22:31:23 2008 +0200) 6 commits + - Allow add_path() to add non-existent directories to the path + - Allow the built-in exec path to be relative to the command + invocation path + - Fix relative built-in paths to be relative to the command + invocation + + help (Windows): Display HTML in default browser using Windows' + shell API + + help.c: Add support for htmldir relative to git_exec_path() + + Move code interpreting path relative to exec-dir to new function + system_path() + +The earlier parts are obvious; Dscho seemed to have some comments on the +later ones that are in 'pu'. + +* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits + - gitweb: use new Git::Repo API, and add optional caching + - Add new Git::Repo API + - gitweb: add test suite with Test::WWW::Mechanize::CGI + +This does not pass t9710, at least for me X-<. + +---------------------------------------------------------------- +[Will merge to master soon] + +* jc/rebase-orig-head (Tue Jul 8 00:12:22 2008 -0400) 2 commits + + Documentation: mention ORIG_HEAD in am, merge, and rebase + + Teach "am" and "rebase" to mark the original position with + ORIG_HEAD * jc/branch-merged (Tue Jul 8 17:55:47 2008 -0700) 3 commits + branch --merged/--no-merged: allow specifying arbitrary commit @@ -59,19 +105,81 @@ I've described what this is in a separate message. This builds on top of the parse-options enhancement series that has been cooking in 'next' for some time. +* om/rerere-careful (Mon Jul 7 14:42:48 2008 +0200) 1 commit + + builtin-rerere: more carefully find conflict markers + +* ls/maint-mailinfo-patch-label (Thu Jul 10 23:41:33 2008 +0200) 1 commit + + git-mailinfo: Fix getting the subject from the in-body [PATCH] + line + +---------------------------------------------------------------- +[Actively Cooking] + +* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits + + Teach git-merge -X<option> again. + + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next + + builtin-merge.c: use parse_options_step() "incremental parsing" + machinery + + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next + +I've described what this is in a separate message. + * rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits - + Documentation: Improve documentation for git-imap-send(1) - + imap-send.c: more style fixes - + imap-send.c: style fixes - + git-imap-send: Support SSL - + git-imap-send: Allow the program to be run from subdirectories of + - Documentation: Improve documentation for git-imap-send(1) + - imap-send.c: more style fixes + - imap-send.c: style fixes + - git-imap-send: Support SSL + - git-imap-send: Allow the program to be run from subdirectories of a git tree -* om/rerere-careful (Mon Jul 7 14:42:48 2008 +0200) 1 commit - + builtin-rerere: more carefully find conflict markers +Some people seem to prefer having this feature available also with gnutls. +If such a patch materializes soon, that would be good, but otherwise I'll +merge this as-is to 'next'. Such an enhancement can be done in-tree on +top of this series. + +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits + + Make "subtree" part more orthogonal to the rest of merge- + recursive. + + Teach git-pull to pass -X<option> to git-merge + + Teach git-merge to pass -X<option> to the backend strategy module + + git-merge-recursive-{ours,theirs} + + git-merge-file --ours, --theirs + +Punting a merge by discarding your own work in conflicting parts but still +salvaging the parts that are cleanly automerged. It is likely that this +will result in nonsense mishmash, but somehow often people want this, so +here they are. The interface to the backends is updated so that you can +say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now. + +* mv/merge-in-c (Sun Jul 13 08:13:55 2008 +0000) 19 commits + + reduce_heads(): thinkofix + + Add a new test for git-merge-resolve + + t6021: add a new test for git-merge-resolve + + Teach merge.log to "git-merge" again + + Build in merge + + Fix t7601-merge-pull-config.sh on AIX + + git-commit-tree: make it usable from other builtins + + Add new test case to ensure git-merge prepends the custom merge + message + + Add new test case to ensure git-merge reduces octopus parents when + possible + + Introduce reduce_heads() + + Introduce get_merge_bases_many() + + Add new test to ensure git-merge handles more than 25 refs. + + Introduce get_octopus_merge_bases() in commit.c + + git-fmt-merge-msg: make it usable from other builtins + + Move read_cache_unmerged() to read-cache.c + + Add new test to ensure git-merge handles pull.twohead and + pull.octopus + + Move parse-options's skip_prefix() to git-compat-util.h + + Move commit_list_count() to commit.c + + Move split_cmdline() to alias.c + +Sverre seems to have a yet another fixup on top of this that came late and +I haven't looked at. ---------------------------------------------------------------- -[Will merge to master soon] +[Graduated to "master"] * js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit + Allow cherry-picking root commits @@ -115,14 +223,6 @@ Adds 'e/dit' action to interactive add command. Makes the "your branch is ahead of the tracked one by N commits" logic and messages available to other commands; status and branch are updated. ----------------------------------------------------------------- -[Actively Cooking] - -* jc/rebase-orig-head (Tue Jul 8 00:12:22 2008 -0400) 2 commits - + Documentation: mention ORIG_HEAD in am, merge, and rebase - + Teach "am" and "rebase" to mark the original position with - ORIG_HEAD - * ph/parseopt-step-blame (Wed Jul 9 23:38:34 2008 +0200) 18 commits + revisions: refactor handle_revision_opt into parse_revision_opt. + git-shortlog: migrate to parse-options partially. @@ -148,61 +248,6 @@ Became active again ;-) This probably is ready for 'master' already, except for the last two which I only looked at the patch and have not used heavily in production yet. -* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits - + Make "subtree" part more orthogonal to the rest of merge- - recursive. - + Teach git-pull to pass -X<option> to git-merge - + Teach git-merge to pass -X<option> to the backend strategy module - + git-merge-recursive-{ours,theirs} - + git-merge-file --ours, --theirs - -Punting a merge by discarding your own work in conflicting parts but still -salvaging the parts that are cleanly automerged. It is likely that this -will result in nonsense mishmash, but somehow often people want this, so -here they are. The interface to the backends is updated so that you can -say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now. - -* mv/merge-in-c (Mon Jul 7 19:24:20 2008 +0200) 15 commits - + Build in merge - + Fix t7601-merge-pull-config.sh on AIX - + git-commit-tree: make it usable from other builtins - + Add new test case to ensure git-merge prepends the custom merge - message - + Add new test case to ensure git-merge reduces octopus parents when - possible - + Introduce reduce_heads() - + Introduce get_merge_bases_many() - + Add new test to ensure git-merge handles more than 25 refs. - + Introduce get_octopus_merge_bases() in commit.c - + git-fmt-merge-msg: make it usable from other builtins - + Move read_cache_unmerged() to read-cache.c - + Add new test to ensure git-merge handles pull.twohead and - pull.octopus - + Move parse-options's skip_prefix() to git-compat-util.h - + Move commit_list_count() to commit.c - + Move split_cmdline() to alias.c - ----------------------------------------------------------------- -[Graduated to "master"] - -* js/apply-root (Sun Jul 6 18:36:01 2008 -0700) 3 commits - + git-apply --directory: make --root more similar to GNU diff - + apply --root: thinkofix. - + Teach "git apply" to prepend a prefix with "--root=<root>" - -* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits - + Make default expiration period of reflog used for stash infinite - + Per-ref reflog expiry configuration - -As 1.6.0 will be a good time to make backward incompatible changes, the -tip commit makes the default expiry period of stash 'never', unless you -configure them to expire explicitly using gc.refs/stash.* variables. -Needs consensus, but I am guessing that enough people would want stash -that does not expire. - -* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit - + Allow per-command pager config - ---------------------------------------------------------------- [On Hold] @@ -249,22 +294,12 @@ need these to pass fsck. This fixes object transfer to ignore grafts. Another fix is needed to git-prune so that it ignores grafts but treats commits that are mentioned in grafts as reachable. -* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits - blame: show "previous" information in --porcelain/--incremental format - git-blame: refactor code to emit "porcelain format" output - + git-blame --reverse - + builtin-blame.c: allow more than 16 parents - + builtin-blame.c: move prepare_final() into a separate function. - + rev-list --children - + revision traversal: --children option -The blame that finds where each line in the original lines moved to. This -may help a GSoC project that wants to gather statistical overview of the -history. The final presentation may need tweaking (see the log message of -the commit ""git-blame --reverse" on the series). +This is for peeling to see what's behind the blamed commit, which may or +may not help applications like gitweb. -The tip two commits are for peeling to see what's behind the blamed -commit, which we should be able to separate out into an independent topic -from the rest.