Materialize from SVN branch [message #836261] |
Wed, 04 April 2012 09:37 |
aleksandr skeuse Messages: 6 Registered: April 2012 |
Junior Member |
|
|
Hi,
I want to materialize a project from a svn branch but the svn structure looks a bit complicated: /trunk/long/path/to/<module> and /branches/long/path/to/<branch>/<module>.
First, I tried to put the branch path into my rmap search path (leading h ttps: // removed):
<rm:searchPath name="">
<rm:provider componentTypes="osgi.bundle,eclipse.feature,buckminster" readerType="svn">
<rm:uri format="svn.nowhere.com/branches/long/path/to/branch_name/{0}">
<bc:propertyRef key="buckminster.component"/>
</rm:uri>
</rm:provider>
</rm:searchPath>
which gives me a URL_NON_EXISTENT exception because buckminster modified the url and searches for the module in /trunk/long/path/to/branch_name/<module>. (Why?, I would expect it should use exact the path given because no 'trunk' is included.)
Next I tried to put the correct path to trunk in the rmap search path and use an advisor node with an selection criteria/branch name but failed because buckminster than searches the branch name in /branches/<branch> and it is impossible to use a branch path for the selection criteria; slashes are forebidden.
So, how is it possible to use the svn reader type for these svn structure?
Thanks.
Edit: s#/branch/#/branches/#g
[Updated on: Wed, 04 April 2012 10:20] Report message to a moderator
|
|
|
Re: Materialize from SVN branch [message #836443 is a reply to message #836261] |
Wed, 04 April 2012 13:45 |
|
HI Aleksandr,
You must use the word 'trunk' in the uri. Buckminster uses that works as a hint of where to find 'branches' and 'tags'.
Also, be careful to use the URI fragment for the actual project. Example:
<rm:uri format="svn.nowhere.com/trunk/long/path/to?moduleBeforeBranch#{0}">
Then use a branch selector in your cquery to tell Buckminster to search for a specific branch. Buckminster will divide
this URL into three parts.
1. "svn.nowhere.com/"
This is the path to where Buckminster expects to find 'trunk', 'branches' or 'tags'.
2. '/long/path/to'
This is the 'module path'. It will either added before or after the branch name depending on the flag moduleBeforeBranch
or moduleAfterBranch. You seem to need the former.
3. The component name (i.e the {0})
The full URI is then re-assembled by Buckminster as:
1/2/<branch from cquery>/3
which in your case would resolve to:
svn.nowhere.com/branches/long/path/to/<branch>/{0}
HTH,
- thomas
On 04/04/2012 11:37 AM, aleksandr skeuse wrote:
> Hi,
>
> I want to materialize a project from a svn branch but the svn structure looks a bit complicated:
> /trunk/long/path/to/<module> and /branch/long/path/to/<branch>/<module>.
>
> First, I tried to put the branch path into my rmap search path (leading h ttps: // removed):
>
> <rm:searchPath name="">
> <rm:provider componentTypes="osgi.bundle,eclipse.feature,buckminster" readerType="svn">
> <rm:uri format="svn.nowhere.com/branch/long/path/to/branch_name/{0}">
> <bc:propertyRef key="buckminster.component"/>
> </rm:uri>
> </rm:provider>
> </rm:searchPath>
>
> which gives me a URL_NON_EXISTENT exception because buckminster modified the url and searches for the module in
> /trunk/long/path/to/branch_name/<module>. (Why?, I would expect it should use exact the path given because no 'trunk' is
> included.)
>
> Next I tried to put the correct path to trunk in the rmap search path and use an advisor node with an selection
> criteria/branch name but failed because buckminster than searches the branch name in /branch/<branch> and it is
> impossible to use a branch path for the selection criteria; slashes are forebidden.
>
> So, how is it possible to use the svn reader type for these svn structure?
>
> Thanks.
|
|
|
|
|
|
Re: Materialize from SVN branch [message #847401 is a reply to message #847288] |
Tue, 17 April 2012 09:03 |
|
It seems to be related to peg revisions. Either the more recent versions of Buckminster has a regression in that area.
Perhaps you are encountering this error:
Bug 372822 "Cannot import moved project: SVN peg/operative revisions problem"
https://bugs.eclipse.org/bugs/show_bug.cgi?id=372822
- thomas
On 04/17/2012 09:00 AM, aleksandr skeuse wrote:
> Hi all,
>
> tested the use case with four variants: buckminster 3.6/3.7 + subclipse/subversive clients does only work with
> buckminster 3.6 + subversive client. Here the console logs:
>
> buckminster 3.6 + subclipse:
> module:eclipse.feature: Found match 2.2.1.qualifier:2.2.0:#22689
> module:eclipse.feature: Using provider svn({1}/trunk/long/path/to/?moduleBeforeBranch&moduleBeforeTag#{0}[ht
> tps://user:pass@svnroot/trunk/long/path/to/?moduleBeforeBranch&moduleBeforeTag#module])
> module:eclipse.feature: Resolution attempt ended with exception:
> org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion.javahl.ClientException: svn: URL 'ht
> tps://svnroot/branches/long/path/to/2.2.0/module' non-existent in that revision
> module:eclipse.feature: No provider was found that could resolve the request
>
>
> buckminster 3.7 + subclipse
> module:eclipse.feature: Found match 2.2.1.qualifier:2.2.0:#22689
> module:eclipse.feature: Using provider svn({1}/trunk/long/path/to/?moduleBeforeBranch&moduleBeforeTag#{0}[ht
> tps://user:pass@svnroot/trunk/long/path/to/?moduleBeforeBranch&moduleBeforeTag#module])
> module:eclipse.feature: Resolution attempt ended with exception:
> org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion.javahl.ClientException: svn: URL 'ht
> tps://svnroot/branches/long/path/to/2.2.0/module' non-existent in that revision
> module:eclipse.feature: No provider was found that could resolve the request
>
>
> buckminster 3.7 + subversive
> module:eclipse.feature: Found match 2.2.1.qualifier:2.2.0:#22689
> module:eclipse.feature: Using provider svn({1}/trunk/long/path/to/?moduleBeforeBranch&moduleBeforeTag#{0}[ht
> tps://user:pass@svnroot/trunk/long/path/to/?moduleBeforeBranch&moduleBeforeTag#module])
> Listing remote folder ht tps://svnroot//branches/long/path/to//2.2.0/module#22689
> Found URL_NON_EXISTENT exception from subversion version 1.4.2 language default
> Remote folder does not exist {0}
> module:eclipse.feature: Resolution attempt ended with exception: Unable to find artifacts at ht
> tps://svnroot//branches/long/path/to//2.2.0/module
> module:eclipse.feature: No provider was found that could resolve the request
>
>
> Now I am wondering if something is wrong with my project / rmap / cquery?
> Or is it a bug in buckminster and buckminster 3.6 + subversive only works as an lucky break?
> Thanks again.
|
|
|
|
Powered by
FUDForum. Page generated in 0.04053 seconds