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

Re: [RFD] diff-tree -c (not --cc) in diff-raw format?

From
MCMarco Costalba <mcostalba@gmail.com>
Date
Feb 4, 2006, 06:18 UTC
Message-ID
<e5bfff550602032218s72f91151tb8f6fcda373c2a28@mail.gmail.com>
In-Reply-To
<7vfyn0asdd.fsf@assigned-by-dhcp.cox.net>
On 2/4/06, Junio C Hamano <junkio@cox.net> wrote:
Show 19 quoted lines
> The second paragraph from this log caught my attention:
>
>     commit cb80775b530a8a340a7f9e4fecc8feaaac13777c
>     Author: Marco Costalba <mcostalba@gmail.com>
>     Date:   Sun Jan 29 12:27:34 2006 +0100
>
>         Use git-diff-tree -c (combined) option to retrieve merge's
>         file list
>
>         Change un-interesting files pruning algorithm to use native
>         git-diff-tree -c option when showing merge files in files
>         list box.
>
> The current diff-tree -c is rather expensive way to do this.  I
> made both -c and --cc to always produce patches, but this
> suggests at least qgit would benefit if I allow -c in diff-raw
> format.  Essentially, you are interested in paths that the
> results do not match _any_ of the parents.
>
Yes. that would be great!
If you look at the patch you see I actually run something like this
         git-diff-tree -c <sha> | grep "diff --combined"
to get the 'interesting' file list.
Show 24 quoted lines
> So instead of 70 lines output from
>
>         $ git-diff-tree -m -r --abbrev v1.0.0
>
> I could give you:
>
>         $ git-diff-tree -c -m -r --abbrev v1.0.0
>         c2f3bf071ee90b01f2d629921bb04c4f798f02fa
>         :100644 100644 92cfee4... e9bf860... M  Makefile
>         :100644 100644 d36904c... 4fa6c16... M  debian/changelog
>         c2f3bf071ee90b01f2d629921bb04c4f798f02fa
>         :100644 100644 50392ff... e9bf860... M  Makefile
>         :100644 100644 376f0fa... 4fa6c16... M  debian/changelog
>
> or even:
>
>         $ git-diff-tree -c -m -r --name-only v1.0.0
>         c2f3bf071ee90b01f2d629921bb04c4f798f02fa
>         Makefile
>         debian/changelog
>
> I am not so sure which one is more useful, though.  What do you
> think?
>
The first one without --abbrev option
 git-diff-tree -c -m -r c2f3bf071ee90b01f2d629921bb04c4f798f02fa

So to recycle my common diff-tree parsing code. Peraphs better, if possible, I would suggest to treat -c option as all the other options, so to be possible to use something like

git-diff-tree -c -r c2f3bf071ee90b01f2d629921bb04c4f798f02fa git-diff-tree -c -r --name-only v1.0.0 git-diff-tree -c -r --abbrev v1.0.0 git-diff-tree -c -r c2f3bf071ee90b01f2d629921bb04c4f798f02fa foo.c

and so on....
As you see -c _could_ imply -m
The current -c behaviour _could_ be obtained with
git-diff-tree -c -r -p <sha>
I didn't check the combined code to see if what I suggest is easy/possible.
Show 7 quoted lines
> I should keep track of qgit repository more often but I haven't
> been doing so because the site used to be almost unpullable over
> http (it seems to work just fine these days so it is not an
> excuse for me anymore) and I do not read C++ too well (bad
> excuse perhaps but still an excuse for me).
>
>
No problem, I do not read C++ too well too. ;-)
Marco
Previous: Junio C HamanoNext: Junio C Hamano
Message 2 of 3 in “[RFD] diff-tree -c (not --cc) in diff-raw format?”
  1. Junio C HamanoFeb 4, 2006
  2. Marco CostalbaFeb 4, 2006
  3. Junio C HamanoFeb 4, 2006

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.