On Fri, Nov 17, 2006 at 02:44:47AM CET, Martin Langhoff wrote: > On 11/17/06, Petr Baudis <pasky@xxxxxxx> wrote: > > >* cg-log does not follow history across renames anymore; it never really > > actually worked and was instead causing problems and random error > > messages. There needs to be git-core support for this funcionality, > > hacking it with a perl filter is bad design, so I'm not going to fix > > the filter (but I'd take patches if someone else did ;). > > I was looking at the follow renames Perl script last week (hey, I was > bored!) and while I could tell it didn't work, I did get the feeling > that it wasn't an impossible task, at least for the 'explicit paths' > case. Yes. It's fixable, but IIRC the current script is fairly broken; I'd have to look at it again to remember why, but I think I wrote it to a comment inside there somewhere. It would be cool if someone would fix it, of course. > For the 'whole tree' and subpath cases it _is_ tricky, and would > be faster to solve within git, but not impossible. > > And even then, I am tempted to think that git log could provide some > better hints than it does today when walking the whole tree or > subpaths, so that cg-log or gitk can ask [if relevant] for selective > rename info. > > I am curious as to why you see it as bad design... Exactly because this information is really something core Git should provide, and I'm feeling bad for not pushing this kind of functionality to core Git and instead going at lengths implementing it in Cogito. The conceptually proper solution I'd imagine is http://news.gmane.org/find-root.php?message_id=<20060515203700.GB4497@xxxxxxxxxxxxxxxxxxxxxx> (I didn't look at the actual code though), currently in limbo and waiting for someone to fight for it. :-) OTOH doing it in a filter simulates greatly how powerful the Git's pipeline architecture is, and has certain undeniable cool factor associated. ;-) -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/) - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html