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

Re: Compare With - Revision does not work for moved files

From: Mark Phippard <MarkP_at_softlanding.com>
Date: 2004-12-11 02:29:53 CET

"Stefan Baramov" <Stefan.Baramov@trx.com> wrote on 12/10/2004 05:05:19 PM:

> Compare With - Revision does not work for files that have been
> renamed (moved).
> Here is the stack trace:
> It says "path not found" because Subclipse is trying to find
> revision 20 under the StringTest23B.java name. However the revision
> 20 was made under StringTest23A.java name. In other words the
> StringTest23A.java was renamed to StringTest23B.java.
> I am not quite sure whether this is a limitation of Subversion or a
> bug in Subclipse.

This is a Subversion limitation. To do the compare, we use svn cat to get
the revision. In Subversion 1.1 most of the commands were enhanced to
follow the copy/rename history of a file, but for some reason "cat" was
left out. This has been rectified in 1.2 (which is not out yet). When it
does, I suspect it will just work, but at worst we will just have to alter
the way we use svn cat.

To recap, the issue is this:

r1 commit foo
r2 rename foo to bar

To do the compare, we run this command to get the r1 revision.

svn cat -r1 url://bar

Subversion should trace the history back to foo, but doesn't, and the
command fails. For most commands, the new syntax to do this would be:

svn cat -r1:@PEG_REV url://bar

The default PEG_REV for a URL is HEAD, so it should just work for us with
the old syntax.


PS - svn diff could have given us the correct output, but we would have to
show you the raw diff output. In order to use the Eclipse Compare UI, we
have to feed it the revisions and let it do the compare itself.

Scanned for SoftLanding Systems, Inc. by IBM Email Security Management Services powered by MessageLabs.
Received on Sat Dec 11 12:29:53 2004

This is an archived mail posted to the Subclipse Users mailing list.

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