I have a repository configured like this:
+---CollectionA
| \---project1
| \---trunk
| \---sourcecode
| \---tags
| \---rel-1
| \---project2
| \---trunk
| \---sourcecode
| \---tags
| \---project3
| \---trunk
| \---sourcecode
| \---tags
| \---rel-1
I'd like to checkout any project tagged rel-1
as that project. In this case I'd get project1
and project3
in my workspace, but not project2
.
All projectN
are Eclipse Java projects.
I'm using Eclipse/Subversive, but I'm open to using Tortoise or the command line (windows) if I need to.
Edit: Currently, to do this, I'll have to go through my 30-some projects and checkout each tag individually. Is there a way to do this without going through each project individually?
I think you will need to write a command line script in order to do this. There's no way I know of to do this using Tortoise or an integrated IDE/SVN tool since this is an uncommon (in my experience) type of checkout operation.
You can ask svn on the command line as to whether a directory exists using the svn list command.
Then you could check the output (maybe it returns a non-zero value if the directory isn't found, or you could parse the output stream) to determine whether the tag exists. Add the projects that contain the tag to a list, then checkout those projects.
Something like this:
For each project in myProjects:
exec "svn list " myRepositoryPath + "/" + myProject + "/tags/directory"