From: Junio C Hamano Date: Mon, 30 Jun 2008 09:08:56 GMT Subject: What's cooking in git.git (topics) Message-ID: <7v3amv1e8n.fsf@gitster.siamese.dyndns.org> In-Reply-To: <7vod5kd3im.fsf@gitster.siamese.dyndns.org> Here are the topics that have been cooking. Commits prefixed 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. 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: * 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 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. * git-merge will be rewritten in C. * 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 ---------------------------------------------------------------- [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. * 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 the line termination convention per path nor newer whitespace breakage rules. * 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. * 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