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

RE: [Subclipse-dev] ISVNClientAdapter limitations (getCopy, doExport)

From: Cain, Tom <tcain_at_solekai.com>
Date: 2006-11-30 21:42:48 CET

FYI, after getting in touch with the folks at JavaSVN, they said I can
get the copy URL from the log messages.
I tried this via the following code using svnClientAdapter:
    ISVNLogMessage[] messages =
ISVNClientAdapter.getLogMessages(destUrl, ...)
    ISVNLogMessageChangePath changePath = messages[i];
    String srcUrl = changePath.getCopySrcPath();
And this works.
According to JavaSVN, the methods on SVNStatus and SVNInfo are only
useful if you have copied a local file ('svn cp') but have not commited
it yet... strange.


From: Martin Letenay [mailto:mle@whitestein.com]
Sent: Thursday, November 30, 2006 5:01 AM
To: dev@subclipse.tigris.org
Cc: Cain, Tom
Subject: RE: [Subclipse-dev] ISVNClientAdapter limitations (getCopy,



The doExport does not support non-recursive flag simply because nobody
needed that so far.

(svnClientAdapter features are implemented mostly as requirements from
subclipse or svnAnt)

So the answer is no, there's no particular reason why it's not there and
yes, it can be added there.


Regarding the copyUrl() I don't know what's exactly the scenario you're
testing, I just can say the the getCopyUrl() is indeed present (in some

E.g. it's actively used in the annotate() method.

(when the copy(file, file) method is used.)

 The copy(url, url) does not seem to be testested, so it might be
broken, but it's unlikely that svnClientAdapter is the fault, there's
not much we're doing there.




From: Cain, Tom [mailto:tcain@solekai.com]
Sent: Wednesday, November 29, 2006 7:23 PM
To: dev@subclipse.tigris.org
Subject: [Subclipse-dev] ISVNClientAdapter limitations (getCopy,


I've found a couple of limitations to the ISVNClientAdapter interface,
and wanted to get feedback on these to see if they are indeed
limitations, if they are known, and if fixes are in the near future.

First, neither of the ISVNInfo.getCopyUrl() and ISVNInfo.getCopyRev()
methods seem to work. The first always returns null, and the second
always returns 0. I'm assuming the following code should work:

        SVNUrl srcUrl = ...
        SVNUrl destUrl = ...
        SVNRevision srcRevision = ...

        adapter.copy(srcUrl, destUrl, "...", srcRevision);
        ISVNInfo destInfo = adapter.getInfo(destUrl);
        SVNUrl expectedSrcUrl = destInfo.getCopyUrl();
        boolean copied = expectedSrcUrl.equals(srcUrl); // this should
return true

Instead, this throws a NullPointerException because "expectedSrcUrl" is

Second, the ISVNClientAdapter.doExport(...) does not support a
non-recursive export. The JavaSVN API supports this, is there a reason
ISVNClientAdapter doesn't?

Received on Thu Nov 30 21:42:22 2006

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