threads / rfc / 5306

[RFC diff-tree -c with copy/rename]

Subject: [RFC diff-tree -c with copy/rename]

## tl;dr

2 messages between Aug 17, 2006 and Aug 18, 2006.

replies: 1people: 2as markdown or json

Marco Costalba· Aug 17, 2006, 11:02 UTC · lore
>From current git tree:
$ git-diff-tree -r -m -C bb266cb118 (I removed extra useless lines)

bb266cb11842f76712ebff1d8b1bd086dc65337f :100644 100644 dfb1c44 8d0dbad R093 checkout-index.c builtin-checkout-index.c :100644 100644 357970d 7d39d9b R083 verify-pack.c builtin-verify-pack.c :100644 100644 6484cb9 6484cb9 R100 builtin-help.c help.c

bb266cb11842f76712ebff1d8b1bd086dc65337f :100644 100644 29ea6fd 8d0dbad M builtin-checkout-index.c :100644 100644 d700761 7d39d9b M builtin-verify-pack.c :100644 100644 7a7f775 6484cb9 M help.c

$ git-diff-tree -r -c -C bb266cb118

bb266cb11842f76712ebff1d8b1bd086dc65337f ::100644 100644 100644 dfb1c44 29ea6f 8d0dbad RM builtin-checkout-index.c ::100644 100644 100644 357970d d70076 7d39d9b RM builtin-verify-pack.c ::100644 100644 100644 6484cb9 7a7f77 6484cb9 RM help.c

Is it correct do not show in -c case:
- the similarity value
- the origin file:
As example
'R093MM	checkout-index.c builtin-checkout-index.c'
 instead of current
'RM	builtin-checkout-index.c'

Thanks Marco

P.S: -c with --stat gives both origin and destination files (checkout-index.c and builtin-checkout-index.c):

$ git-diff-tree -r -c -C --stat bb266cb118
bb266cb11842f76712ebff1d8b1bd086dc65337f
 Makefile                                     |   81 +++++++++++++++---------
 checkout-index.c => builtin-checkout-index.c |   26 ++++----
 builtin-count.c => builtin-count-objects.c   |    0
 name-rev.c => builtin-name-rev.c             |    4 +
 pack-objects.c => builtin-pack-objects.c     |    4 +
 symbolic-ref.c => builtin-symbolic-ref.c     |    4 +
 unpack-objects.c => builtin-unpack-objects.c |    7 +-
 verify-pack.c => builtin-verify-pack.c       |   15 ++---
 builtin.h                                    |   80 ++++++++++++------------
 git.c                                        |   86 ++++++++++++++------------
 builtin-help.c => help.c                     |    0
 11 files changed, 166 insertions(+), 141 deletions(-)
Junio C Hamano· Aug 18, 2006, 04:09 UTC · re: Marco Costalba · lore

Re: [RFC diff-tree -c with copy/rename]

"Marco Costalba" <mcostalba@gmail.com> writes:
Show 7 quoted lines
> As example
>
> 'R093MM	checkout-index.c builtin-checkout-index.c'
>
> instead of current
>
> 'RM	builtin-checkout-index.c'

I am not particularly opposed to have an option to do this. I originally did not show this because I did not particularly find it interesting (and I still don't). The output would become a very long line, not for human consumption, though.

But it should not be too involved if you want to do this. We already compute all the information necessary to do so before combine-diff.c::intersect_paths() converts the usual <from,to> representation (struct diff_filepair) into <result, list of parents' blobs> representation (struct combine_diff_path), which is used by combine-diff.c routines.

We currently do not retain that information when this conversion happens to be used for the output. You would need to add a few fields to record the preimage filename, similarity score and status in struct combine_diff_parent and populate them in intersect_paths() and adjust the output routines.

← back to recent threads