git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Junio C HamanoNext: Junio C Hamano
Message 6 of 22 in “New git-cc-cmd helper”
  1. 0/8 New git-cc-cmd helperFelipe Contreras, Apr 19, 2013
  2. 1/8 Add new git-cc-cmd helper to contribFelipe Contreras, Apr 19, 2013
  3. Ramkumar RamachandraApr 19, 2013
  4. Felipe ContrerasApr 19, 2013
  5. Junio C HamanoApr 19, 2013
  6. Felipe ContrerasApr 19, 2013
  7. Junio C HamanoApr 19, 2013
  8. Felipe ContrerasApr 19, 2013
  9. Junio C HamanoApr 19, 2013
  10. Johannes SixtApr 19, 2013
  11. Junio C HamanoApr 20, 2013
  12. Jeremy RosenApr 22, 2013
  13. Junio C HamanoApr 19, 2013
  14. 2/8 contrib: cc-cmd: add option parsingFelipe Contreras, Apr 19, 2013
  15. 3/8 contrib: cc-cmd: add support for multiple patchesFelipe Contreras, Apr 19, 2013
  16. 4/8 contrib: cc-cmd: add option to show commitsFelipe Contreras, Apr 19, 2013
  17. 5/8 contrib: cc-cmd: add option to parse from committishFelipe Contreras, Apr 19, 2013
  18. Junio C HamanoApr 19, 2013
  19. Felipe ContrerasApr 19, 2013
  20. 6/8 contrib: cc-cmd: parse committish like format-patchFelipe Contreras, Apr 19, 2013
  21. 7/8 contrib: cc-cmd: fix parsing of rev-list argsFelipe Contreras, Apr 19, 2013
  22. 8/8 contrib: cc-cmd: add option to fetch aliasesFelipe Contreras, Apr 19, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.