From: Michael J Gruber <git@drmicha.warpmail.net>
To: Bo Yang <struggleyb.nku@gmail.com>
Cc: Thomas Rast <trast@student.ethz.ch>,
Johannes Schindelin <johannes.schindelin@gmx.de>,
git@vger.kernel.org, Jens Lehmann <Jens.Lehmann@web.de>
Subject: Re: GSoC draft proposal: Line-level history browser
Date: Tue, 30 Mar 2010 11:07:23 +0200 [thread overview]
Message-ID: <4BB1BF4B.2060604@drmicha.warpmail.net> (raw)
In-Reply-To: <41f08ee11003291952r467601b1o970ce3be802d8521@mail.gmail.com>
Bo Yang venit, vidit, dixit 30.03.2010 04:52:
> Hi Thomas,
>
> On Tue, Mar 30, 2010 at 2:42 AM, Thomas Rast <trast@student.ethz.ch> wrote:
>>
>> Is this really the right use-case? AFAICT the answer to the implied
>> question is given by simply running 'git blame -M 93fc05e:pretty.c'.
>>
>> (Coming up with a better example should be easy; the way I currently
>> think of the feature means that it will mostly replace git-blame for
>> me...)
>
> I will cite the same example below in the scenario. :)
>
>> I would, by far, prefer the latter. So far 'git log' has always been
>> noninteractive, and there's no really good way to make it interactive
>> because it also goes through the pager. (In the case of blame this is
>> solved in 'git gui blame', which might also be a reasonable approach.)
>>
>> OTOH, if you can really fake a history walk, then just about any
>> log-oriented tool should be able to work with it. You'd get graphical
>> output for free with gitk and git log --graph. I haven't really
>> thought through the ramifications, though.
>
> Ok, so let us try to abandon the interactive way totally.
>
>>> =====Work and technical issues=====
>>> ==Scenario==
>>> For how we use the line level browser and how the utility should act
>>> to us, here is an scenario:
>>> http://article.gmane.org/gmane.comp.version-control.git/143024/match=line+level+history+browser
>>> It contains code movement between files but not code copy and fuzzy matching.
>>
>> I would prefer if you could inline a short example, perhaps starting
>> at your second diff snippet. Examples are good ;-)
>>
>> Even if not, please drop the /match= parameter since it is very
>> distracting.
>
> I put the example at the end of the proposal as a reference.
>
>>
>>> 7. Reuse 'git log' existing options as many as possible.
>>
>> One thing that IMO is missing from this list, is a plumbing mode that
>> just feeds the raw data to a (presumed) frontend. It could be as
>> simple as supporting
>>
>> git log -L ... --pretty=raw --raw
>>
>> or similar, if this provides sufficient information. Compare 'git
>> blame --porcelain'.
>
> Very good feedback, I will add this, thanks a lot!
>
>>
>> This section is too handwavy for my taste. I think in most cases you
>> say "we can" when you really mean "git-blame already does it, so we
>> can just use a similar algorithm". Which is fine, but I'd rather see
>> it spelled out so as to see what is not already covered by blame's code.
>
> Changed in next version to make this clear. But only add some words to
> state that 'blame does similar' :)
>
>>
>> Push the code somewhere public as you go, even between feature
>> completions. Post RFCs once you have workable features so people can
>> comment. Generally try to be visible.
>>
>> Bonus points if you can think of something visible to do during the
>> period where you look at code,
>
> Yeah, really is a good point. And I have tried to play around on
> github.com and try to set up a http://github.com/byang/my_git for this
> purpose. :)
You may want to create your repo as a fork of gitster/git instead.
That's easier on github, they have a hard time anyways these days ;)
Seriously, it helps making use of their network feature etc.
I don't have anything to add to your proposal (I like it), but I'll be
at NKU next week (Conference @ Chern Institute) so drop me a PM if you wish.
Cheers,
Michael
next prev parent reply other threads:[~2010-03-30 9:10 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-20 9:18 GSoC draft proposal: Line-level history browser Bo Yang
2010-03-20 11:30 ` Johannes Schindelin
2010-03-20 13:10 ` Bo Yang
2010-03-20 13:30 ` Junio C Hamano
2010-03-21 6:03 ` Bo Yang
2010-03-20 13:36 ` Johannes Schindelin
2010-03-21 6:05 ` Bo Yang
2010-03-20 20:35 ` Alex Riesen
2010-03-20 20:57 ` Junio C Hamano
2010-03-21 6:10 ` Bo Yang
2010-03-20 21:58 ` A Large Angry SCM
2010-03-21 6:16 ` Bo Yang
2010-03-21 13:19 ` A Large Angry SCM
2010-03-22 3:48 ` Bo Yang
2010-03-22 4:24 ` Junio C Hamano
2010-03-22 4:34 ` Bo Yang
2010-03-22 5:32 ` Junio C Hamano
2010-03-22 7:31 ` Bo Yang
2010-03-22 7:41 ` Junio C Hamano
2010-03-22 7:52 ` Bo Yang
2010-03-22 8:10 ` Jonathan Nieder
2010-03-23 6:01 ` Bo Yang
2010-03-23 10:08 ` Jakub Narebski
2010-03-23 10:38 ` Bo Yang
2010-03-23 11:22 ` Jakub Narebski
2010-03-23 12:23 ` Bo Yang
2010-03-23 13:49 ` Jakub Narebski
2010-03-23 15:23 ` Bo Yang
2010-03-23 19:57 ` Jonathan Nieder
2010-03-23 21:51 ` A Large Angry SCM
2010-03-24 2:30 ` Bo Yang
2010-03-23 12:02 ` Peter Kjellerstedt
2010-03-23 18:57 ` Jonathan Nieder
2010-03-24 2:39 ` Bo Yang
2010-03-24 4:02 ` Jonathan Nieder
2010-03-22 10:39 ` Alex Riesen
2010-03-22 15:05 ` Johannes Schindelin
2010-03-22 3:52 ` Bo Yang
2010-03-22 15:48 ` Jakub Narebski
2010-03-22 18:21 ` Johannes Schindelin
2010-03-22 18:38 ` Sverre Rabbelier
2010-03-22 19:26 ` Johannes Schindelin
2010-03-22 20:21 ` Sverre Rabbelier
2010-03-22 19:24 ` Johannes Schindelin
2010-03-23 6:08 ` Bo Yang
2010-03-23 6:27 ` Bo Yang
[not found] ` <201003282120.40536.trast@student.ethz.ch>
2010-03-29 4:14 ` Bo Yang
2010-03-29 18:42 ` Thomas Rast
2010-03-30 2:52 ` Bo Yang
2010-03-30 9:07 ` Michael J Gruber [this message]
2010-03-30 9:38 ` Michael J Gruber
2010-03-30 11:10 ` Bo Yang
2010-03-30 9:10 ` Jakub Narebski
2010-03-30 11:15 ` Bo Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BB1BF4B.2060604@drmicha.warpmail.net \
--to=git@drmicha.warpmail.net \
--cc=Jens.Lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=johannes.schindelin@gmx.de \
--cc=struggleyb.nku@gmail.com \
--cc=trast@student.ethz.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).