Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Buckminster » Branch/Tag path and its specified order
Branch/Tag path and its specified order [message #641411] Thu, 25 November 2010 11:21 Go to next message
Matthias Kappeller is currently offline Matthias KappellerFriend
Messages: 54
Registered: July 2009
Member
Hello,

my question is about the behavior of the branch/tag path defined within
an advisor node.

The Bucky book says:
> "...The branches and tags in this comma separated list are searched in
> the specified order."

So if I write '/tag2,/tag1' the '/tag2' will be favored versus '/tag1'.
But it doesn't happen in practice. A component matching the advisor
node will be checked out from '/tag1'.

After fishing around in the code I stumble over
'AbstractSCCSVersionFinder#getBestBranchOrTagMatch' and at it's very
end 'query.getResolutionPrio()[0] ==
IAdvisorNode.PRIO_BRANCHTAG_PATH_INDEX'.

Because of that the first tag that matches is the best and no other
will be looked up.

And if I add 'resolutionPrio="1,2"' (some magic numbers to me) to my
advisor node the behavior is like I expect.
But the flag 'resolutionPrio' is not visualised in the CQuery-Editor.
Now I don't know if I'm doing right.

How can I achieve to get buckminster recognize the defined tags in a
advisor node in the specified order?

Best regards,

Matthias Kappeller
Re: Branch/Tag path and its specified order [message #641827 is a reply to message #641411] Sun, 28 November 2010 15:06 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
On 2010-11-25 12:21, Matthias Kappeller wrote:
> So if I write '/tag2,/tag1' the '/tag2' will be favored versus '/tag1'.
> But it doesn't happen in practice. A component matching the advisor node
> will be checked out from '/tag1'.
>
In my experience, this doesn't happen unless the component found in
/tag2 is rejected for some reason.

I suggest that you run with one resolution thread (preference setting)
and loglevel DEBUG. That way, you'd get a fairly detailed log of the
decisions taken by the resolver.

Regards,
Thomas Hallgren
Re: Branch/Tag path and its specified order [message #641864 is a reply to message #641827] Sun, 28 November 2010 22:14 Go to previous messageGo to next message
Matthias Kappeller is currently offline Matthias KappellerFriend
Messages: 54
Registered: July 2009
Member
On 2010-11-28 16:06:56 +0100, Thomas Hallgren said:

> On 2010-11-25 12:21, Matthias Kappeller wrote:
>> So if I write '/tag2,/tag1' the '/tag2' will be favored versus '/tag1'.
>> But it doesn't happen in practice. A component matching the advisor node
>> will be checked out from '/tag1'.
>>
> In my experience, this doesn't happen unless the component found in
> /tag2 is rejected for some reason.
>
> I suggest that you run with one resolution thread (preference setting)
> and loglevel DEBUG. That way, you'd get a fairly detailed log of the
> decisions taken by the resolver.
>
> Regards,
> Thomas Hallgren

Hi Thomas,

Thank you for the answer.
The debug output doesn't show anything about a '/tag2'.

I've created a more simple example to test.
The CQuery is:
<?xml version="1.0" encoding="UTF-8"?>
<cq:componentQuery
xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0"
resourceMap=" file:///Users/testUser/Documents/workspaces/tmp/Bucky/My.rma p">


<cq:rootRequest name="component.a" componentType="osgi.bundle"/>
<cq:advisorNode namePattern=".*" branchTagPath="/tag2,/tag1"/>
</cq:componentQuery>

and the RMap:
<?xml version="1.0" encoding="UTF-8"?>
<rm:rmap xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
xmlns:rm="http://www.eclipse.org/buckminster/RMap-1.0">
<rm:locator pattern=".*" searchPathRef="svn"/>
<rm:searchPath name="svn">
<rm:provider componentTypes="osgi.bundle" readerType="svn"
resolutionFilter="">
<rm:uri
format=" file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& amp;moduleAfterBranch">


<bc:propertyRef key="buckminster.component"/>
</rm:uri>
</rm:provider>
</rm:searchPath>
</rm:rmap>

The DEBUG log output is:

component.a:osgi.bundle: Using resolver rmap
component.a:osgi.bundle: Using resolver Local resolver
component.a:osgi.bundle: Trying provider local(materialized)
No materialization found for component.a:osgi.bundle
component.a:osgi.bundle: Rejecting provider local(workspace): Workspace
disabled in query
component.a:osgi.bundle: Trying provider local(target)
component.a:osgi.bundle: Rejecting provider
eclipse.platform(plugin/component.a): Score is below threshold
component.a:osgi.bundle: Using resource map
file:/Users/testUser/Documents/workspaces/tmp/Bucky/My.rmap
component.a:osgi.bundle: Using search path svn
component.a:osgi.bundle: Trying provider
svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])
component.a:osgi.bundle:

tags will be searched
Listing remote folder file:///Users/testUser/tmpRepo/tags#HEAD
component.a:osgi.bundle: Found match 1.0.0.qualifier:/tag1:#7
component.a:osgi.bundle: Using provider
svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])
Provider

svn( file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch):
materializing to
/Users/testUser/Documents/workspaces/tmp/plugins/component.a /
Checking out file:///Users/testUser/tmpRepo/tags/tag1/component.a using
revision 7

If i change the branchTagPath to "/tag2" the output is:

component.a:osgi.bundle: Using resolver rmap
component.a:osgi.bundle: Using resolver Local resolver
component.a:osgi.bundle: Trying provider local(materialized)
No materialization found for component.a:osgi.bundle
component.a:osgi.bundle: Rejecting provider local(workspace): Workspace
disabled in query
component.a:osgi.bundle: Trying provider local(target)
component.a:osgi.bundle: Rejecting provider
eclipse.platform(plugin/component.a): Score is below threshold
component.a:osgi.bundle: Using resource map
file:/Users/testUser/Documents/workspaces/tmp/Bucky/My.rmap
component.a:osgi.bundle: Using search path svn
component.a:osgi.bundle: Trying provider
svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])
component.a:osgi.bundle:

tags will be searched
Listing remote folder file:///Users/testUser/tmpRepo/tags#HEAD
component.a:osgi.bundle: Tag /tag1 rejected: not in path '/tag2'
Reading remote file
file:///Users/testUser/tmpRepo/tags/tag2/component.a/META-IN F/MANIFEST.MF#HEAD
component.a:osgi.bundle:

Found match 1.0.0.qualifier:/tag2:#9
component.a:osgi.bundle: Using provider
svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])
Reading

remote file
file:///Users/testUser/tmpRepo/tags/tag2/component.a/build.p roperties#9
Reading remote file
file:///Users/testUser/tmpRepo/tags/tag2/component.a/.classp ath#9
Provider
svn( file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch):
materializing to
/Users/testUser/Documents/workspaces/tmp/plugins/component.a /
Checking out file:///Users/testUser/tmpRepo/tags/tag2/component.a using
revision 9


So what am I doing wrong? Thanks for helping me!

best regards,

Matthias
Re: Branch/Tag path and its specified order [message #641900 is a reply to message #641864] Mon, 29 November 2010 08:04 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Matthias,

Not sure what's wrong here but when you force the /tag2 resolution, a couple of entries like:

Reading remote file file:///Users/testUser/tmpRepo/tags/tag2/component.a/META-IN F/MANIFEST.MF#HEAD
Reading remote file file:///Users/testUser/tmpRepo/tags/tag2/component.a/build.p roperties#9
Reading remote file file:///Users/testUser/tmpRepo/tags/tag2/component.a/.classp ath#9

I don't see any of them when the resolution involves /tag1. I don't know yet if that's relevant but I'd like to know why
that is.

- thomas



On 2010-11-28 23:14, Matthias Kappeller wrote:
> On 2010-11-28 16:06:56 +0100, Thomas Hallgren said:
>
>> On 2010-11-25 12:21, Matthias Kappeller wrote:
>>> So if I write '/tag2,/tag1' the '/tag2' will be favored versus '/tag1'.
>>> But it doesn't happen in practice. A component matching the advisor node
>>> will be checked out from '/tag1'.
>>>
>> In my experience, this doesn't happen unless the component found in /tag2 is rejected for some reason.
>>
>> I suggest that you run with one resolution thread (preference setting) and loglevel DEBUG. That way, you'd get a
>> fairly detailed log of the decisions taken by the resolver.
>>
>> Regards,
>> Thomas Hallgren
>
> Hi Thomas,
>
> Thank you for the answer.
> The debug output doesn't show anything about a '/tag2'.
>
> I've created a more simple example to test.
> The CQuery is:
> <?xml version="1.0" encoding="UTF-8"?>
> <cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0"
> resourceMap=" file:///Users/testUser/Documents/workspaces/tmp/Bucky/My.rma p">
>
>
> <cq:rootRequest name="component.a" componentType="osgi.bundle"/>
> <cq:advisorNode namePattern=".*" branchTagPath="/tag2,/tag1"/>
> </cq:componentQuery>
>
> and the RMap:
> <?xml version="1.0" encoding="UTF-8"?>
> <rm:rmap xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns:rm="http://www.eclipse.org/buckminster/RMap-1.0">
> <rm:locator pattern=".*" searchPathRef="svn"/>
> <rm:searchPath name="svn">
> <rm:provider componentTypes="osgi.bundle" readerType="svn" resolutionFilter="">
> <rm:uri format=" file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& amp;moduleAfterBranch">
>
>
> <bc:propertyRef key="buckminster.component"/>
> </rm:uri>
> </rm:provider>
> </rm:searchPath>
> </rm:rmap>
>
> The DEBUG log output is:
>
> component.a:osgi.bundle: Using resolver rmap
> component.a:osgi.bundle: Using resolver Local resolver
> component.a:osgi.bundle: Trying provider local(materialized)
> No materialization found for component.a:osgi.bundle
> component.a:osgi.bundle: Rejecting provider local(workspace): Workspace disabled in query
> component.a:osgi.bundle: Trying provider local(target)
> component.a:osgi.bundle: Rejecting provider eclipse.platform(plugin/component.a): Score is below threshold
> component.a:osgi.bundle: Using resource map file:/Users/testUser/Documents/workspaces/tmp/Bucky/My.rmap
> component.a:osgi.bundle: Using search path svn
> component.a:osgi.bundle: Trying provider
> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])
>
> component.a:osgi.bundle:
> tags will be searched
> Listing remote folder file:///Users/testUser/tmpRepo/tags#HEAD
> component.a:osgi.bundle: Found match 1.0.0.qualifier:/tag1:#7
> component.a:osgi.bundle: Using provider
> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])
>
> Provider
> svn( file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch): materializing to
> /Users/testUser/Documents/workspaces/tmp/plugins/component.a /
> Checking out file:///Users/testUser/tmpRepo/tags/tag1/component.a using revision 7
>
> If i change the branchTagPath to "/tag2" the output is:
>
> component.a:osgi.bundle: Using resolver rmap
> component.a:osgi.bundle: Using resolver Local resolver
> component.a:osgi.bundle: Trying provider local(materialized)
> No materialization found for component.a:osgi.bundle
> component.a:osgi.bundle: Rejecting provider local(workspace): Workspace disabled in query
> component.a:osgi.bundle: Trying provider local(target)
> component.a:osgi.bundle: Rejecting provider eclipse.platform(plugin/component.a): Score is below threshold
> component.a:osgi.bundle: Using resource map file:/Users/testUser/Documents/workspaces/tmp/Bucky/My.rmap
> component.a:osgi.bundle: Using search path svn
> component.a:osgi.bundle: Trying provider
> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])
>
> component.a:osgi.bundle:
> tags will be searched
> Listing remote folder file:///Users/testUser/tmpRepo/tags#HEAD
> component.a:osgi.bundle: Tag /tag1 rejected: not in path '/tag2'
> Reading remote file file:///Users/testUser/tmpRepo/tags/tag2/component.a/META-IN F/MANIFEST.MF#HEAD
> component.a:osgi.bundle:
> Found match 1.0.0.qualifier:/tag2:#9
> component.a:osgi.bundle: Using provider
> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])
>
> Reading
> remote file file:///Users/testUser/tmpRepo/tags/tag2/component.a/build.p roperties#9
> Reading remote file file:///Users/testUser/tmpRepo/tags/tag2/component.a/.classp ath#9
> Provider svn( file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch): materializing to
> /Users/testUser/Documents/workspaces/tmp/plugins/component.a /
> Checking out file:///Users/testUser/tmpRepo/tags/tag2/component.a using revision 9
>
>
> So what am I doing wrong? Thanks for helping me!
>
> best regards,
>
> Matthias
>
Re: Branch/Tag path and its specified order [message #641951 is a reply to message #641900] Mon, 29 November 2010 10:51 Go to previous messageGo to next message
Matthias Kappeller is currently offline Matthias KappellerFriend
Messages: 54
Registered: July 2009
Member
Hi Thomas,

however, I've let the materialization run again (with
branchTagPath="/tag2,/tag1") (don't know why once before the output was
shorter...)

component.a:osgi.bundle: Using resolver rmap
component.a:osgi.bundle: Using resolver Local resolver
component.a:osgi.bundle: Trying provider local(materialized)
No materialization found for component.a:osgi.bundle
component.a:osgi.bundle: Trying provider local(workspace)
No open workspace project found that corresponds to component.a:osgi.bundle
component.a:osgi.bundle: Trying provider local(target)
component.a:osgi.bundle: Rejecting provider
eclipse.platform(plugin/component.a): No component match was found
component.a:osgi.bundle: Using resource map
file:/Users/testUser/Documents/workspaces/tmp/Bucky/My.rmap
component.a:osgi.bundle: Using search path svn
component.a:osgi.bundle: Trying provider
svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])
component.a:osgi.bundle:

tags will be searched
Listing remote folder file:///Users/testUser/tmpRepo/tags#HEAD
Reading remote file
file:///Users/testUser/tmpRepo/tags/tag1/component.a/META-IN F/MANIFEST.MF#HEAD
component.a:osgi.bundle:

Found match 1.0.0.qualifier:/tag1:#7
component.a:osgi.bundle: Using provider
svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])
Reading

remote file
file:///Users/testUser/tmpRepo/tags/tag1/component.a/build.p roperties#7
Reading remote file
file:///Users/testUser/tmpRepo/tags/tag1/component.a/.classp ath#7
Provider
svn( file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch):
materializing to
/Users/testUser/Documents/workspaces/tmp/plugins/component.a /
Checking out file:///Users/testUser/tmpRepo/tags/tag1/component.a using
revision 7

And as I said in my first post.
> After fishing around in the code I stumble over
> 'AbstractSCCSVersionFinder#getBestBranchOrTagMatch' and at it's very
> end 'query.getResolutionPrio()[0] ==
> IAdvisorNode.PRIO_BRANCHTAG_PATH_INDEX'.
I've debuged the resolution process and sumbled over these lines of
code. And I don't know why the implementation let the resolution (in
the method 'getBestBranchOrTagMatch') stop because of this
'resolutionPrio'.
The Log output does also show that. The other tag 'tag2' isn't recognized.

Regards,

Matthias

On 2010-11-29 09:04:26 +0100, Thomas Hallgren said:

> Hi Matthias,
>
> Not sure what's wrong here but when you force the /tag2 resolution, a
> couple of entries like:
>
> Reading remote file
> file:///Users/testUser/tmpRepo/tags/tag2/component.a/META-IN F/MANIFEST.MF#HEAD
Reading
>
> remote file
> file:///Users/testUser/tmpRepo/tags/tag2/component.a/build.p roperties#9
> Reading remote file
> file:///Users/testUser/tmpRepo/tags/tag2/component.a/.classp ath#9
>
> I don't see any of them when the resolution involves /tag1. I don't
> know yet if that's relevant but I'd like to know why that is.
>
> - thomas
>
>
>
> On 2010-11-28 23:14, Matthias Kappeller wrote:
>> On 2010-11-28 16:06:56 +0100, Thomas Hallgren said:
>>
>>> On 2010-11-25 12:21, Matthias Kappeller wrote:
>>>> So if I write '/tag2,/tag1' the '/tag2' will be favored versus '/tag1'.
>>>> But it doesn't happen in practice. A component matching the advisor node
>>>> will be checked out from '/tag1'.
>>>>
>>> In my experience, this doesn't happen unless the component found in
>>> /tag2 is rejected for some reason.
>>>
>>> I suggest that you run with one resolution thread (preference setting)
>>> and loglevel DEBUG. That way, you'd get a
>>> fairly detailed log of the decisions taken by the resolver.
>>>
>>> Regards,
>>> Thomas Hallgren
>>
>> Hi Thomas,
>>
>> Thank you for the answer.
>> The debug output doesn't show anything about a '/tag2'.
>>
>> I've created a more simple example to test.
>> The CQuery is:
>> <?xml version="1.0" encoding="UTF-8"?>
>> <cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0"
>> resourceMap=" file:///Users/testUser/Documents/workspaces/tmp/Bucky/My.rma p">
>>
>>
>> <cq:rootRequest name="component.a" componentType="osgi.bundle"/>
>> <cq:advisorNode namePattern=".*" branchTagPath="/tag2,/tag1"/>
>> </cq:componentQuery>
>>
>> and the RMap:
>> <?xml version="1.0" encoding="UTF-8"?>
>> <rm:rmap xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
>> xmlns:rm="http://www.eclipse.org/buckminster/RMap-1.0">
>> <rm:locator pattern=".*" searchPathRef="svn"/>
>> <rm:searchPath name="svn">
>> <rm:provider componentTypes="osgi.bundle" readerType="svn" resolutionFilter="">
>> <rm:uri
>> format=" file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& amp;moduleAfterBranch">


<bc:propertyRef
>>
>> key="buckminster.component"/>
>> </rm:uri>
>> </rm:provider>
>> </rm:searchPath>
>> </rm:rmap>
>>
>> The DEBUG log output is:
>>
>> component.a:osgi.bundle: Using resolver rmap
>> component.a:osgi.bundle: Using resolver Local resolver
>> component.a:osgi.bundle: Trying provider local(materialized)
>> No materialization found for component.a:osgi.bundle
>> component.a:osgi.bundle: Rejecting provider local(workspace): Workspace
>> disabled in query
>> component.a:osgi.bundle: Trying provider local(target)
>> component.a:osgi.bundle: Rejecting provider
>> eclipse.platform(plugin/component.a): Score is below threshold
>> component.a:osgi.bundle: Using resource map
>> file:/Users/testUser/Documents/workspaces/tmp/Bucky/My.rmap
>> component.a:osgi.bundle: Using search path svn
>> component.a:osgi.bundle: Trying provider
>> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])

component.a:osgi.bundle:
tags
>>
>> will be searched
>> Listing remote folder file:///Users/testUser/tmpRepo/tags#HEAD
>> component.a:osgi.bundle: Found match 1.0.0.qualifier:/tag1:#7
>> component.a:osgi.bundle: Using provider
>> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])

Provider
svn( file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch):
>>
>> materializing to
>> /Users/testUser/Documents/workspaces/tmp/plugins/component.a /
>> Checking out file:///Users/testUser/tmpRepo/tags/tag1/component.a using
>> revision 7
>>
>> If i change the branchTagPath to "/tag2" the output is:
>>
>> component.a:osgi.bundle: Using resolver rmap
>> component.a:osgi.bundle: Using resolver Local resolver
>> component.a:osgi.bundle: Trying provider local(materialized)
>> No materialization found for component.a:osgi.bundle
>> component.a:osgi.bundle: Rejecting provider local(workspace): Workspace
>> disabled in query
>> component.a:osgi.bundle: Trying provider local(target)
>> component.a:osgi.bundle: Rejecting provider
>> eclipse.platform(plugin/component.a): Score is below threshold
>> component.a:osgi.bundle: Using resource map
>> file:/Users/testUser/Documents/workspaces/tmp/Bucky/My.rmap
>> component.a:osgi.bundle: Using search path svn
>> component.a:osgi.bundle: Trying provider
>> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])

component.a:osgi.bundle:
tags
>>
>> will be searched
>> Listing remote folder file:///Users/testUser/tmpRepo/tags#HEAD
>> component.a:osgi.bundle: Tag /tag1 rejected: not in path '/tag2'
>> Reading remote file
>> file:///Users/testUser/tmpRepo/tags/tag2/component.a/META-IN F/MANIFEST.MF#HEAD
component.a:osgi.bundle:
Found
>>
>> match 1.0.0.qualifier:/tag2:#9
>> component.a:osgi.bundle: Using provider
>> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])

Reading
remote
>>
>> file file:///Users/testUser/tmpRepo/tags/tag2/component.a/build.p roperties#9
>> Reading remote file
>> file:///Users/testUser/tmpRepo/tags/tag2/component.a/.classp ath#9
>> Provider
>> svn( file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch):
>> materializing to
>> /Users/testUser/Documents/workspaces/tmp/plugins/component.a /
>> Checking out file:///Users/testUser/tmpRepo/tags/tag2/component.a using
>> revision 9
>>
>>
>> So what am I doing wrong? Thanks for helping me!
>>
>> best regards,
>>
>> Matthias
Re: Branch/Tag path and its specified order [message #642599 is a reply to message #641900] Wed, 01 December 2010 22:42 Go to previous messageGo to next message
Matthias Kappeller is currently offline Matthias KappellerFriend
Messages: 54
Registered: July 2009
Member
Hi Thomas,

I've uploaded my example to a open svn repository. So you can reproduce
my situation with this url.

https://testaquery.svn.sourceforge.net/svnroot/testaquery/tr unk/Bucky/the.cquery
(I've

check that no authorization is required. Hopefully it will be ok for you too)

I will appreciate if you can help me.

Thanks.

Regards,
Matthias

On 2010-11-29 09:04:26 +0100, Thomas Hallgren said:

> Hi Matthias,
>
> Not sure what's wrong here but when you force the /tag2 resolution, a
> couple of entries like:
>
> Reading remote file
> file:///Users/testUser/tmpRepo/tags/tag2/component.a/META-IN F/MANIFEST.MF#HEAD
Reading
>
> remote file
> file:///Users/testUser/tmpRepo/tags/tag2/component.a/build.p roperties#9
> Reading remote file
> file:///Users/testUser/tmpRepo/tags/tag2/component.a/.classp ath#9
>
> I don't see any of them when the resolution involves /tag1. I don't
> know yet if that's relevant but I'd like to know why that is.
>
> - thomas
>
>
>
> On 2010-11-28 23:14, Matthias Kappeller wrote:
>> On 2010-11-28 16:06:56 +0100, Thomas Hallgren said:
>>
>>> On 2010-11-25 12:21, Matthias Kappeller wrote:
>>>> So if I write '/tag2,/tag1' the '/tag2' will be favored versus '/tag1'.
>>>> But it doesn't happen in practice. A component matching the advisor node
>>>> will be checked out from '/tag1'.
>>>>
>>> In my experience, this doesn't happen unless the component found in
>>> /tag2 is rejected for some reason.
>>>
>>> I suggest that you run with one resolution thread (preference setting)
>>> and loglevel DEBUG. That way, you'd get a
>>> fairly detailed log of the decisions taken by the resolver.
>>>
>>> Regards,
>>> Thomas Hallgren
>>
>> Hi Thomas,
>>
>> Thank you for the answer.
>> The debug output doesn't show anything about a '/tag2'.
>>
>> I've created a more simple example to test.
>> The CQuery is:
>> <?xml version="1.0" encoding="UTF-8"?>
>> <cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0"
>> resourceMap=" file:///Users/testUser/Documents/workspaces/tmp/Bucky/My.rma p">
>>
>>
>> <cq:rootRequest name="component.a" componentType="osgi.bundle"/>
>> <cq:advisorNode namePattern=".*" branchTagPath="/tag2,/tag1"/>
>> </cq:componentQuery>
>>
>> and the RMap:
>> <?xml version="1.0" encoding="UTF-8"?>
>> <rm:rmap xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
>> xmlns:rm="http://www.eclipse.org/buckminster/RMap-1.0">
>> <rm:locator pattern=".*" searchPathRef="svn"/>
>> <rm:searchPath name="svn">
>> <rm:provider componentTypes="osgi.bundle" readerType="svn" resolutionFilter="">
>> <rm:uri
>> format=" file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& amp;moduleAfterBranch">


<bc:propertyRef
>>
>> key="buckminster.component"/>
>> </rm:uri>
>> </rm:provider>
>> </rm:searchPath>
>> </rm:rmap>
>>
>> The DEBUG log output is:
>>
>> component.a:osgi.bundle: Using resolver rmap
>> component.a:osgi.bundle: Using resolver Local resolver
>> component.a:osgi.bundle: Trying provider local(materialized)
>> No materialization found for component.a:osgi.bundle
>> component.a:osgi.bundle: Rejecting provider local(workspace): Workspace
>> disabled in query
>> component.a:osgi.bundle: Trying provider local(target)
>> component.a:osgi.bundle: Rejecting provider
>> eclipse.platform(plugin/component.a): Score is below threshold
>> component.a:osgi.bundle: Using resource map
>> file:/Users/testUser/Documents/workspaces/tmp/Bucky/My.rmap
>> component.a:osgi.bundle: Using search path svn
>> component.a:osgi.bundle: Trying provider
>> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])

component.a:osgi.bundle:
tags
>>
>> will be searched
>> Listing remote folder file:///Users/testUser/tmpRepo/tags#HEAD
>> component.a:osgi.bundle: Found match 1.0.0.qualifier:/tag1:#7
>> component.a:osgi.bundle: Using provider
>> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])

Provider
svn( file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch):
>>
>> materializing to
>> /Users/testUser/Documents/workspaces/tmp/plugins/component.a /
>> Checking out file:///Users/testUser/tmpRepo/tags/tag1/component.a using
>> revision 7
>>
>> If i change the branchTagPath to "/tag2" the output is:
>>
>> component.a:osgi.bundle: Using resolver rmap
>> component.a:osgi.bundle: Using resolver Local resolver
>> component.a:osgi.bundle: Trying provider local(materialized)
>> No materialization found for component.a:osgi.bundle
>> component.a:osgi.bundle: Rejecting provider local(workspace): Workspace
>> disabled in query
>> component.a:osgi.bundle: Trying provider local(target)
>> component.a:osgi.bundle: Rejecting provider
>> eclipse.platform(plugin/component.a): Score is below threshold
>> component.a:osgi.bundle: Using resource map
>> file:/Users/testUser/Documents/workspaces/tmp/Bucky/My.rmap
>> component.a:osgi.bundle: Using search path svn
>> component.a:osgi.bundle: Trying provider
>> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])

component.a:osgi.bundle:
tags
>>
>> will be searched
>> Listing remote folder file:///Users/testUser/tmpRepo/tags#HEAD
>> component.a:osgi.bundle: Tag /tag1 rejected: not in path '/tag2'
>> Reading remote file
>> file:///Users/testUser/tmpRepo/tags/tag2/component.a/META-IN F/MANIFEST.MF#HEAD
component.a:osgi.bundle:
Found
>>
>> match 1.0.0.qualifier:/tag2:#9
>> component.a:osgi.bundle: Using provider
>> svn( file:///Users/testUser/tmpRepo/trunk/{0}?moduleAfterTag& moduleAfterBranch[ file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch])

Reading
remote
>>
>> file file:///Users/testUser/tmpRepo/tags/tag2/component.a/build.p roperties#9
>> Reading remote file
>> file:///Users/testUser/tmpRepo/tags/tag2/component.a/.classp ath#9
>> Provider
>> svn( file:///Users/testUser/tmpRepo/trunk/component.a?moduleAfter Tag&moduleAfterBranch):
>> materializing to
>> /Users/testUser/Documents/workspaces/tmp/plugins/component.a /
>> Checking out file:///Users/testUser/tmpRepo/tags/tag2/component.a using
>> revision 9
>>
>>
>> So what am I doing wrong? Thanks for helping me!
>>
>> best regards,
>>
>> Matthias
Re: Branch/Tag path and its specified order [message #643304 is a reply to message #642599] Mon, 06 December 2010 12:47 Go to previous message
Matthias Kappeller is currently offline Matthias KappellerFriend
Messages: 54
Registered: July 2009
Member
I've created a bugzilla for that
https://bugs.eclipse.org/bugs/show_bug.cgi?id=331888 and added a patch.

I will help in every way to get this fixed. So please contact me for
any reason.

Kind regards,

Matthias

On 2010-12-01 23:42:11 +0100, Matthias Kappeller said:

> Hi Thomas,
>
> I've uploaded my example to a open svn repository. So you can reproduce
> my situation with this url.
>
> https://testaquery.svn.sourceforge.net/svnroot/testaquery/tr unk/Bucky/the.cquery
(I've
check
>
> that no authorization is required. Hopefully it will be ok for you too)
>
> I will appreciate if you can help me.
>
> Thanks.
>
> Regards,
> Matthias
>
> On 2010-11-29 09:04:26 +0100, Thomas Hallgren said:
>
>> Hi Matthias,
>>
>> Not sure what's wrong here but when you force the /tag2 resolution, a
>> couple of entries like:
>>
>> Reading remote file
>> file:///Users/testUser/tmpRepo/tags/tag2/component.a/META-IN F/MANIFEST.MF#HEAD
Reading

remote
>>
>> file file:///Users/testUser/tmpRepo/tags/tag2/component.a/build.p roperties#9
>> Reading remote file
>> file:///Users/testUser/tmpRepo/tags/tag2/component.a/.classp ath#9
>>
>> I don't see any of them when the resolution involves /tag1. I don't
>> know yet if that's relevant but I'd like to know why that is.
>>
>> - thomas
Previous Topic:p2 site HTML contents
Next Topic:Resolve issue
Goto Forum:
  


Current Time: Fri Apr 19 21:01:05 GMT 2024

Powered by FUDForum. Page generated in 0.03642 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top