jira-importer commented on issue #551:
URL: https://github.com/apache/maven-scm/issues/551#issuecomment-2964603625

   **[Duncan 
Doyle](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=mccloud)** 
commented
   
   I'm currently developing a fix for this issue, however I need some more info 
about other SCM tools. I'm familiar with how CVS tagging works, but I need to 
know whether other SCM tools (SubVersion, ClearCase, etc.) have the same 
behaviour in order for my algorithm to work.
   
   So my question is if all SCM tools tag recursively (e.g. like CVS,  tag the 
basedir all files in the directory tree which are under CVS control get tagged)?
   
   The algorithm I have in mind works like this.
   - Keep a static HashSet in the class which contains processed (tagged) base 
directories of the ScmFileSets.
   - When a project executes a tag, check whether the basedir of its ScmFileSet 
is in the set of already processed basedirs. If it is present in the list, 
don't execute the tagging for this project. Otherwise continue.
   - Check whether the basedir of the project's ScmFileSet is a subdirectory of 
an already processed basedir in the static HashSet. If it is a subdirectory, 
skip the tagging because it has already been tagged recursively by another 
project. Otherwise, continue.
   - Execute the tagging on the project and add the ScmFileSet's basedir to the 
static HashSet.
   
   Using this algorithm, the aggregator tag can be removed. If all SCM tools 
work like this, this algorithm will ensure correct tagging behaviour for boh 
standard - and flat project layouts.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to