threads / discuss / 29956

How to git diff files in renamed directories

Subject: How to git diff files in renamed directories

## tl;dr

4 messages between Mar 15, 2012 and Mar 15, 2012.

replies: 3people: 4as markdown or json

Patrick Sabin· Mar 15, 2012, 08:32 UTC · lore
Hi,
I want to diff a renamed file (to a different directory) in different commits.
File a was moved to the file subdir/c
I tried:
$ git diff b616d 0aa0 -- subdir/c a
but git seems to always diff against /dev/null:
diff --git a/a b/a
new file mode 100644
index 0000000..2e5ada8
--- /dev/null
+++ b/a
@@ -0,0 +1 @@
+File a
diff --git a/subdir/c b/subdir/c
deleted file mode 100644
index 24c846c..0000000
--- a/subdir/c
+++ /dev/null
@@ -1,2 +0,0 @@
-File b
-Another b change.

git log --follow subdir/c   recognizes that the file has been renamed
and moved to subdirectory.

Is there any way to get such a diff in git?

Regards,
Patrick
Damien Wyart· Mar 15, 2012, 08:51 UTC · re: Patrick Sabin · lore

Re: How to git diff files in renamed directories

Hi,
* Patrick Sabin <patrick.just4fun@gmail.com> [2012-03-15 09:32]:
> I want to diff a renamed file (to a different directory) in different
> commits.

You can try the "-C" option to git diff. In some cases, "-C -C" might be needed (with potentially bad performance).

-- 
Damien
Neal Kreitzinger· Mar 15, 2012, 10:30 UTC · re: Patrick Sabin · lore

Re: How to git diff files in renamed directories

On 3/15/2012 3:32 AM, Patrick Sabin wrote:
Show 32 quoted lines
>
> I want to diff a renamed file (to a different directory) in different commits.
>
> File a was moved to the file subdir/c
>
> I tried:
>
> $ git diff b616d 0aa0 -- subdir/c a
>
> but git seems to always diff against /dev/null:
>
> diff --git a/a b/a
> new file mode 100644
> index 0000000..2e5ada8
> --- /dev/null
> +++ b/a
> @@ -0,0 +1 @@
> +File a
> diff --git a/subdir/c b/subdir/c
> deleted file mode 100644
> index 24c846c..0000000
> --- a/subdir/c
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -File b
> -Another b change.
>
> git log --follow subdir/c   recognizes that the file has been renamed
> and moved to subdirectory.
>
> Is there any way to get such a diff in git?
>
git diff b616d:a 0aa0:subdir/c is one way to do it.

v/r, neal

Junio C Hamano· Mar 15, 2012, 20:49 UTC · re: Patrick Sabin · lore

Re: How to git diff files in renamed directories

Patrick Sabin <patrick.just4fun@gmail.com> writes:
Show 7 quoted lines
> I want to diff a renamed file (to a different directory) in different commits.
>
> File a was moved to the file subdir/c
>
> I tried:
>
> $ git diff b616d 0aa0 -- subdir/c a
Does
    $ git diff -M b616d 0aa0 -- subdir/c a
match them up?    

← back to recent threads