RE: SVNClientAdapter and URLs paths that contain square brackets ([ and ])
David Balažic <[email protected]>
| Newsgroups | gmane.comp.version-control.subversion.subclipse.user |
|---|---|
| Message-ID | <[email protected]> |
Note that square brackets are reserved characters in URLs (URIs) and _should_ be (percent) encoded. So the (old) code is actually working as per specs. See http://en.wikipedia.org/wiki/Percent-encoding Regards, David Balažic Software Engineer www.comtrade.com > -----Original Message----- > From: Mark Phippard [mailto:[email protected]] > Sent: Friday, June 29, 2012 5:41 PM > To: [email protected] > Subject: Re: [Subclipse-users] SVNClientAdapter and URLs > paths that contain square brackets ([ and ]) > Importance: Low > > This is fixed in the trunk version of SVNClientAdapter that is part of > Subclipse 1.8.x. > > http://subclipse.tigris.org/issues/show_bug.cgi?id=1298 > > http://subclipse.tigris.org/source/browse/subclipse/trunk/svnC > lientAdapter/src/main/org/tigris/subversion/svnclientadapter/S > VNUrl.java?r1=5130&r2=3553 > > > > > On Thu, Jun 28, 2012 at 4:22 PM, Al Habte > <[email protected]> wrote: > > SVNClientAdapter Version: 1.6.12 (bundle version) > > Client OS: Windows-7 > > > > Attempting to get the SVN log information, of a URL path > that contains square brackets ([ and ]) fails with "malformed > or the scheme or host or path is missing". Here is the piece > of code that shows > > > > SVNUrl currentURL = new > SVNUrl("http://bpsvn/sandbox/trunk/foo[bar].txt"); > > final ISVNClientAdapter svnClient = > getSVNClient(currentURL, SVNRevision.HEAD); > > svnClient.getLogMessages(currentURL, SVNRevision.HEAD, > SVNRevision.HEAD, new SVNRevision.Number(0), false, true, 0); > > > > The above code raises an exception with the following error message: > > > > org.tigris.subversion.svnclientadapter.SVNClientException: > org.tigris.subversion.javahl.ClientException: Bad URL passed > to RA layer > > svn: URL 'http://bpsvn/sandbox/trunk/foo[bar].txt' is > malformed or the scheme or host or path is missing > > > > > > Similarly, the getInfo() method below also fails and raises > an exception, with a different error message, for the same URL: > > > > ISVNClientAdapter svnClient = getSVNClient(new > SVNUrl("http://bpsvn/sandbox/trunk/foo[bar].txt"), > > SVNRevision.HEAD); > > svnClient.getInfo(new > SVNUrl("http://bpsvn/sandbox/trunk/foo[bar].txt")); > > > > This getInfo() method generates the following exception > error message : > > > > org.tigris.subversion.svnclientadapter.SVNClientException: > org.tigris.subversion.javahl.ClientException: Bogus URL > > svn: URL 'http://bpsvn/sandbox/trunk/foo[bar].txt' is not > properly URI-encoded > > > > However, both of these methods, getInfo() and > getLogMessages(), handle the following URLs successfully: > > > > http://bpsvn/sandbox/trunk/foo(bar).txt > > http://bpsvn/sandbox/trunk/foo{bar}.txt > > > > There seems to be a limitation in what special characters > SVNClientAdapter can handle in a path. Is this a correct > assessment? Is there a description on what special characters > one can use or should avoid in a path? > > > > Thanks, > > Al Habte > > > > ------------------------------------------------------ > > > http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&d > sMessageId=2973803 > > > > To unsubscribe from this discussion, e-mail: > [[email protected]]. > > > > -- > Thanks > > Mark Phippard > http://markphip.blogspot.com/ > > ------------------------------------------------------ > http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&d > sMessageId=2973971 > > To unsubscribe from this discussion, e-mail: > [[email protected]]. > ------------------------------------------------------ http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2974359 To unsubscribe from this discussion, e-mail: [[email protected]].