svn diff — Display the differences between two paths.
svn diff [-r N[:M]] [TARGET...]
svn diff URL1[@N] URL2[@M]
Display the differences between two paths. Each TARGET can be either a working copy path or URL. If no TARGET is specified, a value of '.' is assumed.
If TARGET is a URL, then revs N and M must be given via the --revision.
If TARGET is a working copy path, then the --revision switch means:
The server compares TARGET@N and TARGET@M.
The client compares TARGET@N against working copy.
The client compares base and working copies of TARGET.
If the alternate syntax is used, the server compares URL1 and URL2 at revisions N and M respectively. If either N or M are omitted, a value of HEAD is assumed.
di
Nothing
For obtaining differences against anything but BASE revision in your working copy
--revision (-r) REV
--extensions (-x) "ARGS"
--non-recursive (-N)
--diff-cmd CMD
--username USER
--password PASS
--no-auth-cache
--non-interactive
--no-diff-deleted
Compare BASE and your working copy (one of the most popular uses of svn diff):
$ svn diff COMMITTERS
Index: COMMITTERS
===================================================================
--- COMMITTERS (revision 4404)
+++ COMMITTERS (working copy)
See how your working copy's modifications compare against an older revision:
$ svn diff -r 3900 COMMITTERS
Index: COMMITTERS
===================================================================
--- COMMITTERS (revision 3900)
+++ COMMITTERS (working copy)
Compare revision 3000 to revision 3500 using '@' syntax:
$ svn diff http://svn.collab.net/repos/svn/trunk/COMMITTERS@3000 http://svn.collab.net/repos/svn/trunk/COMMITTERS@3500
Index: COMMITTERS
===================================================================
--- COMMITTERS (revision 3000)
+++ COMMITTERS (revision 3500)
…
Compare revision 3000 to revision 3500 using range notation (you only pass the one URL in this case):
$ svn diff -r 3000:3500 http://svn.collab.net/repos/svn/trunk/COMMITTERS
Index: COMMITTERS
===================================================================
--- COMMITTERS (revision 3000)
+++ COMMITTERS (revision 3500)
If you have a working copy, you can obtain the differences without typing in the long URLs:
$ svn diff -r 3000:3500 COMMITTERS
Index: COMMITTERS
===================================================================
--- COMMITTERS (revision 3000)
+++ COMMITTERS (revision 3500)
Use --diff-cmd CMD -x to pass arguments directly to the external diff program
svn diff --diff-cmd /usr/bin/diff -x "-i -b" COMMITTERS
Index: COMMITTERS
===================================================================
0a1,2
> This is a test
>