Bug 230866 - RFE: Branch/Tag version qualifier generator
Summary: RFE: Branch/Tag version qualifier generator
Status: CLOSED WONTFIX
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Buckminster (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: buckminster.core-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2008-05-07 06:49 EDT by Michael Pfeiffer CLA
Modified: 2019-02-25 14:41 EST (History)
1 user (show)

See Also:


Attachments
Source code (7.76 KB, application/zip)
2008-08-25 08:46 EDT, Michael Pfeiffer CLA
no flags Details
Plugin for Eclipse 3.4 + Buckminster r9505 (6.70 KB, application/java-archive)
2008-08-25 08:49 EDT, Michael Pfeiffer CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Pfeiffer CLA 2008-05-07 06:49:56 EDT
In a component query advisory nodes can be specified with a "Selection Criteria" for "Branch/Tag path". 

We would like to have the branch or tag name used for the version qualifier.
Could buckminster provide a version qualifier generator for that purpose?

Example:

qualifier.replacement.* = generator.selectedBranchOrTag

In case no branch or tag has been specified for a component buckminster could use the value specified in a property like:

generator.selectedBranchOrTag.default.qualifier = someValue
Comment 1 Michael Pfeiffer CLA 2008-08-11 03:29:30 EDT
FYI we have implemented that feature for CVS. After it is reviewed it will be released as a patch here.
Comment 2 Michael Pfeiffer CLA 2008-08-25 08:46:59 EDT
Created attachment 110794 [details]
Source code
Comment 3 Michael Pfeiffer CLA 2008-08-25 08:49:43 EDT
Created attachment 110795 [details]
Plugin for Eclipse 3.4 + Buckminster r9505

Attached source code and binary plug-in.

From README.txt:

CVS Tag Qualifier Generator
===========================

Created on 2008/8/25 by Michael Pfeiffer, Software Competence Center Hagenberg


Description
-----------

This plug-in provides a qualifier generator for components
connected to a CVS repository materialized into a workspace.
The qualifier is set to the CVS tag associated with the
component (for example the branch name or version).


Installation
------------

1) Headless Buckminster

Install headless Buckminster CVS feature, then copy
this plug-in into the Buckminster "plugins" folder.

2) Eclipse IDE

Copy this plug-in into the Eclipse "plugins" folder.


Usage
-----

Use "generator:cvsTag" as qualifier generator in Buckminster
property "qualifier.replacement.*".

# For all components:
qualifier.replacement.*=generator:cvsTag

# For subset of components starting with "my.component":
qualifier.replacement.my.component.*=generator:cvsTag
Comment 4 Thomas Hallgren CLA 2008-08-27 06:36:16 EDT
Given that branch and tags are both generic concepts in Buckminster, would it be possible to implement this with a generalization (i.e. generator:tag and generator:branch, the former IMO more important then the latter) so that someone could implement the corresponding support for SVN?

Please note that I'm very grateful that you provide the CVS support for this. I'm not asking that you also provide the SVN support, just that you make it possible for someone else to do it.

One thing to keep in mind is that a CVS tag can reflect both a tag (sticky) and a branch (not sticky). That's however an implementation detail. A tag is never a branch in Buckminster and they should be kept separate at all times.
Comment 5 Michael Pfeiffer CLA 2008-08-29 14:17:41 EDT
(In reply to comment #4)
> Given that branch and tags are both generic concepts in Buckminster, would it
> be possible to implement this with a generalization (i.e. generator:tag and
> generator:branch, the former IMO more important then the latter) so that
> someone could implement the corresponding support for SVN?

It should be quite easy for someone who is familiar with Buckminster source code. The other two existing qualifier generators provide good examples how it could be done.

I am sorry to tell you, that at the moment we have no resources available to do it. 
It is however very likely that later this year one of our projects will switch to subversion. If that feature is required there too, we will implement it also for subversion in the proposed way and integrate the cvs qualifier generator then.