Subject: Re: What's cooking in git.git (topics)

From: Jakub Narebski <[email-masked]>
Date: Fri, 07 Dec 2007 03:11:01 -0800 (PST)

Junio C Hamano <[email-masked]> writes:

> * pr/mergetool (Wed Dec 5 09:19:13 2007 +0200) 1 commit
>  + Open external merge tool with original file extensions for all
>    three files
> 
> Waiting for Ted's Ack but I think this is safe.  Hoping to merge before
> v1.5.4-rc0.

Nice. I don't think this would break anything. By the way, this would
I think also make Emacs (emerge) choose correct major mode for syntax
highlighting etc., so it is not only for Meld...
 
> * jc/spht (Thu Dec 6 00:14:14 2007 -0800) 7 commits
>  + Use gitattributes to define per-path whitespace rule
>  + core.whitespace: documentation updates.
>  + builtin-apply: teach whitespace_rules
>  + builtin-apply: rename "whitespace" variables and fix styles
>  + core.whitespace: add test for diff whitespace error highlighting
>  + git-diff: complain about >=8 consecutive spaces in initial indent
>  + War on whitespace: first, a bit of retreat.
> 
> This teaches apply and diff about the customizable definition of what
> whitespace breakages are, and the customization can be refined per-path
> using the attributes mechanism.  It would be to nice to have this in
> v1.5.4.

By the way, is there some helper plumbing scripts can use to check
attributes for given file (given pathname), either in working area, or
in repository (I am thinking there to use gitattributes for
configuring syntax highlighting (extension to syntax) in gitweb);
perhaps even in the index.

> * jk/builtin-alias (Fri Nov 30 11:22:58 2007 -0500) 1 commit
>  + Support builtin aliases
> 
> Cute hack.

By the way, beside "git view" alias (with configurable backend, be it
gitk, qgit, giggle or gitview) it would be nice to have "git unstash"
as an alias to "git stash apply" (it would not matter here that
command think of itself as 'git stash' here).
 
> ----------------------------------------------------------------
> [On hold]
> 
> * nd/dashless (Wed Nov 28 23:21:57 2007 +0700) 1 commit
>  - Move all dashed-form commands to libexecdir
> 
> I think this is a sane thing to do in the longer term.  Will be in
> 'next' after v1.5.4.  I think "leave porcelain on PATH" might be also a
> good thing as a transition measure.

We would have to change the paragraph in INSTALL about git wrapper
(which would be no longer optional, or at least no longer optional in
the sense that you can just delete/not install this file), and its
conflict with (old) GNU Interactive Tools (the other 'git').
 
> [Stalled]
> 
> * ns/checkout-push-pop (Wed Dec 5 07:04:06 2007 +0900) 1 commit
>  - git-checkout --push/--pop
> 
> A reasonably cleanly written cute hack, and I do not see this breaking
> the normal codepath, so I do not mind merging this as long as people
> find it useful.

That would be nice to have, although as somebody[*1*] said, you usualy
know that you should have pushed branch into stack when you want to
'pop'. So it would be nice to have (if possible and easy to implement)
also "git checkout --previous" or "git checkout -".

Robin Rosenberg wrote about nice hack to implement "cd -" like
behavior:

Robin Rosenberg wrote:
> I abuse git bisect for this temporary switcing. It only gives me a one
> level memory, but otoh the git prompt tells me I'm on a discourse.
>
> [me@lathund GIT (rr/abspath|BISECTING)]$ git checkout master
> Switched to branch "master"
>
> [me@lathund GIT (master|BISECTING)]$ git checkout HEAD~2
> Note: moving to "HEAD~2" which isn't a local branch
> If you want to create a new branch from this checkout, you may do so
> (now or later) by using -b with the checkout command again. Example:
>   git checkout -b <new_branch_name>
> HEAD is now at afcc4f7... Merge branch 'js/prune-expire'
>
> [me@lathund GIT (afcc4f7...|BISECTING)]$ git bisect reset
> Previous HEAD position was afcc4f7... Merge branch 'js/prune-expire'
> Switched to branch "rr/abspath"
> [me@lathund GIT (rr/abspath)]$

[*1*] I'm sorry for no attribution
 
> * jc/pathspec (Thu Sep 13 13:38:19 2007 -0700) 3 commits
>  . pathspec_can_match(): move it from builtin-ls-tree.c to tree.c

What is the status of this thingy, by the way?

-- 
Jakub Narebski
Poland
ShadeHawk on #git