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

Re: 4 bugs in svn diff (IssueZilla gives me Internal Server Error)

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2002-04-28 06:41:40 CEST

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.

>
> #################################################################
> svn diff asks for password every time
>
> Everytime i run svn diff URL WCPATH (where URL is http without auth
> and WCPATH was checked out over https with auth), it asks me for
> the password even though it is already cached in .svn.

Interesting... we've programmed updates and commits and checkouts to
cache password info within the .svn/ areas. But I forgot that 'svn
diff' might need to authenticate as well. Should that command be
writing cached auth data as well? It kind of ruins my vision of 'svn
diff' as this pure, read-only operation. But I can see how it would
get annoying.

Are you *sure* your https password is already cached in .svn when it
re-asks you? Have you gone into .svn/auth/ and seen a password file
there?

>
> #################################################################
> svn diff dumps core when listing property changes

Looks like garrett fixed this...

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Apr 28 06:44:47 2002

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