Re: [PATCH v2 1/8] Add new git-cc-cmd helper to contrib
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Apr 19, 2013, 17:35 UTC
- Message-ID
- <CAMP44s3YAq66MrOR5a4ydujKR5+ZNMVV4i=JzPCxLXC244b52g@mail.gmail.com>
- In-Reply-To
- <7vfvym30t8.fsf@alter.siamese.dyndns.org>
On Fri, Apr 19, 2013 at 12:08 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 9 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes: >> The code finds the changes of a commit, runs 'git blame' for each chunk >> to see which other commits are relevant, and then reports the author and >> signers. > > In general, I am not all that interested in adding anything new to > contrib/ as git.git has matured enough, but even if this will stay > outside my tree, there are a few interesting things to note to help > its eventual users.
Why not add it to mainline git then? This tool, or a similar one, would certainly be useful in the git arsenal.
Show 7 quoted lines
>> + roles = roles.map do |person, role| >> + address = "%s <%s>" % person >> + [person, role] >> + end > > Is address being used elsewhere, or is this a remnant from an > earlier debugging or something?
It's used later on; it creeped in.
Show 21 quoted lines
>> + [id, roles] >> + end >> + >> +end >> ... >> + File.open(file) do |f| >> + f.each do |line| >> + case line >> + when /^From (\h+) (.+)$/ >> + from = $1 >> + when /^---\s+(\S+)/ >> + source = $1 != '/dev/null' ? $1[2..-1] : nil > > This may need to be tightened if you want to use this on a > real-world project (git.git itself does not count ;-); you may see > something like: > > diff --git "a/a\"b" "b/a\"b" > > (I did an insane pathname 'a"b' to get the above example, but a more > realistic is a character outside ASCII).
Suggestions on how to do that are welcome.
Show 8 quoted lines
>> + when /^@@\s-(\d+),(\d+)/ >> + get_blame(source, $1, $2, from) > > This may want to be a bit more careful for a hunk that adds to an > empty file, which will give you something like > > @@ -0,0 +1 @@ > @@ -0,0 +1,200 @@
Simple: return unless source and start and offset
> Nobody sane would use -U0 when doing a format-patch, but if this > wants to accomodate such a patch as well, it needs to ignore a hunk > that only adds new lines.
I'm not going to worry about it now.
Cheers.
-- Felipe Contreras