Stephane Gosselin
Stephane Gosselin

Reputation: 9148

Why does svn diff not show differences between files shown by regular diff?

Is there a reason for svn diff not picking up the differences between two files, whereas regular diff shows the diff? I have a project, in trunk with vendor third party library. I updated the lib in branch/vendor/lib/current. Doing a diff between version.php in trunk and vendor/lib/current shows:

44,45c44,45
< $build          = '6218';
< $timestamp    = '2011-03-16 03:11pm';
---
> $build          = '6354';
> $timestamp    = '2011-05-31 03:07pm';

But the same diff with svn diff shows no ouptut. They do not have shared 'ancestry,' but I would have thought it would still show the diff. Does anyone have any idea of why svn diff behaves like this?

Upvotes: 1

Views: 2543

Answers (1)

Zac Thompson
Zac Thompson

Reputation: 12675

The way that you execute the svn diff command is important here. If all targets are working copy paths, then the default behaviour is to show any local changes, for each file specified, because this is the most common use case.

If you want to force SVN to compare the two WC files, you should use the --old and --new flags. But plain old diff works too, as you've seen.

Upvotes: 2

Related Questions