@leroysheep / Socializer / commits / 4915eac8b0

What's cooking (2008/07 #01)

Junio C Hamano committed Aug 5, 2008 at 21:44 UTC 4915eac8b03121c7c9a2889bca25192cd3fb3045
1 file changed +203 -126
whats-cooking.txt
+203 -126
index ef248c813f..4776370384 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,6 +1,6 @@ -Subject: What's cooking in git.git (Jun 2008, issue #04; Mon, 30) +Subject: What's cooking in git.git (Jul 2008, issue #01; Tue, 01) -What's cooking in git.git (Jun 2008, issue #04; Mon, 30) +What's cooking in git.git (Jul 2008, issue #01; Tue, 01) -------------------------------------------------------- Here are the topics that have been cooking. Commits prefixed @@ -11,20 +11,25 @@ The topics list the commits in reverse chronological order. The topics meant to be applied 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 +It already is beginning to become clear what 1.6.0 will look like. Wha= +t'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 +already bug-free --- that is what cooking them in 'next' is for) and ar= +e good set of feature enhancements. Bigger changes will be: * MinGW will be in. * With the default Makefile settings, most of the programs will be - installed outside your $PATH, except for "git", "gitk", "git-gui" and + installed outside your $PATH, except for "git", "gitk", "git-gui" an= +d 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 + 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 + output from "git --exec-path" to the $PATH will still be supported i= +n 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. @@ -34,119 +39,25 @@ good set of feature enhancements. Bigger changes will be: * default pack and idx versions will be updated as scheduled for some time ago. ----------------------------------------------------------------- -[Will merge to master soon] - -* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits - + Keep some git-* programs in $(bindir) - + Move all dashed-form commands to libexecdir - -Scheduled for 1.6.0. We'll leave server-side programs in $(bindir) so -that ssh clients can ask for "git-program" and find them on the $PATH. -Next major release after 1.6.0 would most likely remove the hardlinks to -built-in commands, but not yet. - -* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit - + merge: remove deprecated summary and diffstat options and config - variables - -* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 4 commits - + Revert "Make clients ask for "git program" over ssh and local - transport" - + Make clients ask for "git program" over ssh and local transport - + Prepare execv_git_cmd() for removal of builtins from the - filesystem - + git-shell: accept "git foo" form + * 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. ---------------------------------------------------------------- -[Actively Cooking] - -* jk/maint-fetch-ref-hier (Fri Jun 27 00:01:41 2008 -0400) 2 commits - + fetch: give a hint to the user when local refs fail to update - + fetch: report local storage errors in status table - -When the remote used to have "foo" branch but now has "foo/bar", fetch -refuses to delete the existing remote tracking branch "foo" to create a -new remote tracking branch "foo/bar", but the error message was -confusing. - -* jc/maint-reset (Wed Jun 25 18:16:36 2008 -0700) 1 commit - + Allow "git-reset path" when unambiguous - -We used to require "git-reset -- path" even when there is no ambiguity -(i.e. path cannot be mistaken as a valid tree-ish and it is a filename in -the work tree). - -* js/maint-clone-insteadof (Fri Jun 27 13:55:23 2008 +0100) 2 commits - + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig - + clone: respect url.insteadOf setting in global configs - -"git clone" did not honor "url.InsteadOf" in $HOME/.gitconfig. I think -Daniel's "Let's get rid of internal use of GIT_CONFIG" makes sense (even -though it feels very scary), and it would make the solution much simpler, -but it came late and it is already past my bedtime, so... - -* tr/send-email-ssl (Thu Jun 26 23:03:21 2008 +0200) 2 commits - + git-send-email: prevent undefined variable warnings if no - encryption is set - + git-send-email: add support for TLS via Net::SMTP::SSL - -* kb/send-email-fifo (Wed Jun 25 15:44:40 2008 -0700) 1 commit - + git-send-email: Accept fifos as well as files - -Two minor send-email feature enhancements for 1.6.0. +[New Topics] -* jc/checkdiff (Sun Jun 29 16:49:06 2008 -0400) 7 commits - + Fix t4017-diff-retval for white-space from wc - + Update sample pre-commit hook to use "diff --check" - + diff --check: detect leftover conflict markers - + Teach "diff --check" about new blank lines at end - + checkdiff: pass diff_options to the callback - + check_and_emit_line(): rename and refactor - + diff --check: explain why we do not care whether old side is - binary +* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit + + Add another fast-import example, this time for .zip files -Allows us to replace the sample pre-commit hook that was not aware of the -line termination convention per path nor newer whitespace breakage rules. +* js/apply-root (Tue Jul 1 00:44:47 2008 +0100) 1 commit + + Teach "git apply" to prepend a prefix with "--root=3D<root>" -* np/pack-default (Wed Jun 25 00:25:53 2008 -0400) 2 commits - + pack.indexversion config option now defaults to 2 - + repack.usedeltabaseoffset config option now defaults to "true" +* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit + + Only use GIT_CONFIG in "git config", not other programs -Updates the default value for pack.indexversion to 2 and use delta-base -offset encoding of the packfiles by default. - -* js/apply-recount (Fri Jun 27 18:43:09 2008 +0100) 1 commit - + Allow git-apply to recount the lines in a hunk (AKA recountdiff) - -A good ingredient for implementing "apply --edit". - -* dz/apply-again (Fri Jun 27 14:39:12 2008 -0400) 1 commit - + git-apply: handle a patch that touches the same path more than - once better - -Allows us to feed a patch that touches the same path more than once. - -* 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. - -* jc/merge-theirs (Sat Jun 28 17:28:22 2008 -0700) 3 commits - + 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 -s recursive other" now. +---------------------------------------------------------------- +[Will merge to master soon] * j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits + compat/pread.c: Add a forward declaration to fix a warning @@ -198,8 +109,42 @@ say "git merge -Xours -s recursive other" now. No explanation necessary ;-) -* mv/merge-in-c (Mon Jun 30 03:39:58 2008 +0200) 13 commits +---------------------------------------------------------------- +[Actively Cooking] + +* 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. + +We may want to change the commit topology used to represent a stash, as +proposed in $gmane/85055 by Nana earlier. + +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 4 commits + - Make "subtree" part more orthogonal to the rest of merge- + recursive. + + 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 st= +ill +salvaging the parts that are cleanly automerged. It is likely that thi= +s +will result in nonsense mishmash, but somehow often people want this, s= +o +here they are. The interface to the backends is updated so that you ca= +n +say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now. + +* mv/merge-in-c (Tue Jul 1 04:37:50 2008 +0200) 14 commits - Build in merge + - 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 @@ -216,7 +161,7 @@ No explanation necessary ;-) - Move commit_list_count() to commit.c - Move split_cmdline() to alias.c -The last one is still in flux. +I think this is getting there. Will be in 'next' soon. * dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits + Eliminate an unnecessary chdir("..") @@ -238,28 +183,154 @@ rerere to be updated in the index automatically. - Migrate git-blame to parse-option partially. - parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option. - parse-opt: fake short strings for callers to believe in. - - parse-opt: do not pring errors on unknown options, return -2 + - parse-opt: do not print errors on unknown options, return -2 intead. - parse-opt: create parse_options_step. - parse-opt: Export a non NORETURN usage dumper. - parse-opt: have parse_options_{start,end}. +I recall Pierre said something about cleaning up the last one when he +finds time, but other than that vague recollection, I lost track of thi= +s +series. I am tempted to fork a few topics off of the pen=C3=BAltimo on= +e to +convert a few more commands as examples and merge the result to 'next'. + ---------------------------------------------------------------- [Graduated to "master"] +* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit + + Remove the use of '--' in merge program invocation + +I got tired of waiting for success reports from people who use various +backends. We will hear breakages if this breaks things anyway, and if = +it +does, it is a fairly simple single patch to revert. + +* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits + + Keep some git-* programs in $(bindir) + + Move all dashed-form commands to libexecdir + +We'll leave server-side programs in $(bindir) so that ssh clients can a= +sk +for "git-program" and find them on the $PATH. Next major release after +1.6.0 would most likely remove the hardlinks to built-in commands, but = +not +yet. + +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits + + Prepare execv_git_cmd() for removal of builtins from the + filesystem + + git-shell: accept "git foo" form + +The botched "client asks 'git foo'" is not included. It will be long +after everybody runs 1.6.0. + +* jk/maint-fetch-ref-hier (Fri Jun 27 00:01:41 2008 -0400) 2 commits + + fetch: give a hint to the user when local refs fail to update + + fetch: report local storage errors in status table + +When the remote used to have "foo" branch but now has "foo/bar", fetch +refuses to delete the existing remote tracking branch "foo" to create a +new remote tracking branch "foo/bar", but the error message was +confusing. + +Need to backmerge to 'maint' after a while. + +* jc/maint-reset (Wed Jun 25 18:16:36 2008 -0700) 1 commit + + Allow "git-reset path" when unambiguous + +We used to require "git-reset -- path" even when there is no ambiguity +(i.e. path cannot be mistaken as a valid tree-ish and it is a filename = +in +the work tree). + +Need to backmerge to 'maint' after a while. + +* js/maint-clone-insteadof (Fri Jun 27 13:55:23 2008 +0100) 2 commits + + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig + + clone: respect url.insteadOf setting in global configs + +"git clone" did not honor "url.InsteadOf" in $HOME/.gitconfig. I think +Daniel's "Let's get rid of internal use of GIT_CONFIG" makes sense (eve= +n +though it feels very scary), and it would make the solution much simple= +r, +but these two are independently good fix for now. I'll queue GIT_CONFI= +G +one in 'next' and when it graduates the unsetenv() solution in these wi= +ll +become no-op. + +* tr/send-email-ssl (Thu Jun 26 23:03:21 2008 +0200) 2 commits + + git-send-email: prevent undefined variable warnings if no + encryption is set + + git-send-email: add support for TLS via Net::SMTP::SSL + +* kb/send-email-fifo (Wed Jun 25 15:44:40 2008 -0700) 1 commit + + git-send-email: Accept fifos as well as files + +Two minor send-email feature enhancements. + +* jc/checkdiff (Sun Jun 29 16:49:06 2008 -0400) 7 commits + + Fix t4017-diff-retval for white-space from wc + + Update sample pre-commit hook to use "diff --check" + + diff --check: detect leftover conflict markers + + Teach "diff --check" about new blank lines at end + + checkdiff: pass diff_options to the callback + + check_and_emit_line(): rename and refactor + + diff --check: explain why we do not care whether old side is + binary + +Allows us to replace the sample pre-commit hook that was not aware of t= +he +line termination convention per path nor newer whitespace breakage rule= +s. + +* np/pack-default (Wed Jun 25 00:25:53 2008 -0400) 2 commits + + pack.indexversion config option now defaults to 2 + + repack.usedeltabaseoffset config option now defaults to "true" + +Updates the default value for pack.indexversion to 2 and use delta-base +offset encoding of the packfiles by default. + +* js/apply-recount (Fri Jun 27 18:43:09 2008 +0100) 1 commit + + Allow git-apply to recount the lines in a hunk (AKA recountdiff) + +A good ingredient for implementing "apply --edit". + +* dz/apply-again (Fri Jun 27 14:39:12 2008 -0400) 1 commit + + git-apply: handle a patch that touches the same path more than + once better + +Allows us to feed a patch that touches the same path more than once. + ---------------------------------------------------------------- [On Hold] -* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit - + Remove the use of '--' in merge program invocation +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit + + merge: remove deprecated summary and diffstat options and config + variables + +This was previously in "will be in master soon" category, but it turns = +out +that the synonyms to the ones this one deletes are fairly new invention +that happend in 1.5.6 timeframe, and we cannot do this just yet. + +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits + + Revert "Make clients ask for "git program" over ssh and local + transport" + + Make clients ask for "git program" over ssh and local transport -Waiting for success reports from people who use various backends. +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0 +timeframe. * jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit - diff: enable "too large a rename" warning when -M/-C is explicitly asked for -This would be the right thing to do for command line use, but gitk will be +This would be the right thing to do for command line use, but gitk will= + be hit due to tcl/tk's limitation, so I am holding this back for now. ---------------------------------------------------------------- @@ -275,13 +346,17 @@ hit due to tcl/tk's limitation, so I am holding this back for now. + 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 blame that finds where each line in the original lines moved to. T= +his +may help a GSoC project that wants to gather statistical overview of th= +e +history. The final presentation may need tweaking (see the log message= + of the commit ""git-blame --reverse" on the series). 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 +commit, which we should be able to separate out into an independent top= +ic from the rest. ---------------------------------------------------------------- @@ -291,7 +366,7 @@ from the rest. . Introduce fast forward option only . Head reduction before selecting merge strategy . Restructure git-merge.sh - . Introduce -ff=<fast forward option> + . Introduce -ff=3D<fast forward option> . New merge tests . Documentation for joining more than two histories @@ -322,7 +397,8 @@ This will interfere with Miklos's rewrite of merge to C. . revert/cherry-pick: start refactoring call to merge_recursive This is meant to improve cherry-pick's behaviour when renames are -involved, by not using merge-recursive (whose d/f conflict resolution is +involved, by not using merge-recursive (whose d/f conflict resolution i= +s quite broken), but unfortunately has stalled for some time now. * jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits