On Sat, Apr 27, 2002 at 11:41:40PM -0500, Ben Collins-Sussman wrote:
> Eric Gillespie <epg@pretzelnet.org> writes:
>
> > #################################################################
> > svn diff URL WCPATH where both are dictories doesn't work
>
> > #################################################################
> > svn diff URL WCPATH where both are files gives bogus output
> >
>
> Eric, you misunderstand how 'svn diff' works. Sorry if 'svn help
> diff' didn't make things clear, it's hard to communicate the complex
> syntax of this subcommand.
>
> 1. svn diff [-r N[:M]] [PATH1 [PATH2 [PATH3 ...]]]
> 2. svn diff URL1[@N] URL2[@M]
>
> You're looking at usage syntax #1, and thinking that the PATHs are
> diffed against each other; that's not what's going on. Rather, they
> are a *list* of targets to be diffed, each in turn. Each target
> causes an *independent* diff-action to execute: the target is compared
> against something. That "something" depends on how you use the -r
> flag. From the help description:
>
> 1. each PATH can be either a working-copy path or URL.
> If no PATHs are specified, a value of '.' is assumed.
>
> + if PATH is a URL, then revs N and M must be given via -r.
>
> + if PATH is a working-copy path, then -r switch means:
> -r N:M : server compares PATH@N and PATH@M,
> -r N : client compares PATH@N against working copy
> (no -r) : client compares base and working copies of PATH
>
> To beat the horse to death: we loop over each PATH, one at a time. If
> the PATH is a URL, you better have given two revisions to compare. If
> a PATH is a wc-path, then the use of the -r flag will either compare
> your working copy to some URL, compare two different versions of your
> working copy on the server, or compare your working-copy against your
> text base.
this seems reasonable to me, but if it is the case, we should probably
find some way to avoid the behavior that eric was seeing. personally,
getting an output from diff that diffs the html mod_dav_svn spitts out
with nothing was not what i expected to see.
right now, one can do:
svn diff http://svn.collab.net/repos/trunk/packages/freebsd/subversion@1700 packages/freebsd/subversion
and it will gladly try to do it, and it outputs a diff that makes (to
me anyway) very little sense.
-garrett
--
garrett rooney Remember, any design flaw you're
rooneg@electricjellyfish.net sufficiently snide about becomes
http://electricjellyfish.net/ a feature. -- Dan Sugalski
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Apr 28 19:15:01 2002