[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Issue #1093: make diff follow history

From: Josh Pieper <jjp_at_pobox.com>
Date: 2004-05-13 16:00:08 CEST

Ok, after looking at keeping backwards compatibility as much as
possible, I have the following help string for 'svn diff':

----
diff (di): Display the differences between two paths.
usage: 1. diff [-r N[:M]] [TARGET[@REV]...]
       2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \
               [PATH...]
       3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]
  1. Display the changes made to TARGETs as they are seen in REV between
     two revisions.  TARGETs may working copy paths or URL[@REV].
     N defaults to BASE if any TARGET is a working copy path, otherwise it
     must be specified.  M defaults to the current working version if any
     TARGET is a working copy path, otherwise it defaults to HEAD.
  2. Display the differences between OLD-TGT as it was seen in OLDREV and
     NEW-TGT as it was seen in NEWREV.  PATHs, if given, are relative to
     OLD-TGT and NEW-TGT and restrict the output to differences for those
     paths.  OLD-TGT and NEW-TGT may be working copy paths or URL[@REV].
     NEW-TGT defaults to OLD-TGT if not specified.  -r N makes OLDREV default
     to N, -r N:M makes OLDREV default to N and NEWREV default to M.
  3. Shorthand for 'svn diff --old=OLD-URL[@OLDREV] --new=NEW-URL[@NEWREV]'
  Use just 'svn diff' to display local modifications in a working copy.
----
The only syntax compatibility issue that I think this introduces is
with 'svn diff -r N:M URL1 URL2'.  Under the old syntax this would
result in diffing URL1@N with URL1@M.  Under the new syntax it would
be equivalent to 'svn diff -r N:M URL1; svn diff -r N:M URL2'.  Greg
Hudson and I talked on IRC about this and we both think that it is an
acceptable compromise.  Any other developers have thoughts on the
matter?
Also, regarding UI compatibility concerns, some of the diff tests
check for the exact wording of error messages when files do not exist
in a revision.  Using the new peg-revision diff code,
svn_client__repos_locations gets to create the error message if a file
is non-existant in an old revision.  Its message differs slightly from
the standard path not found message.  Should repos_locations be made
to return the same message, or are multiple textual messages for the
same basic error OK?
Regarding the patch, it is all done and passes all tests locally and
over DAV.  I will post a version for review once these two issues are
resolved.
-Josh
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu May 13 16:00:32 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.