Re: [PATCH v2 1/8] Add new git-cc-cmd helper to contrib

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 19, 2013 at 12:08 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> Felipe Contreras <felipe.contreras@xxxxxxxxx> 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.

>> +    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.

>> +    [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.

>> +        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
--
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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]