我有一个配置如下的存储库:
+---CollectionA
| \---project1
| \---trunk
| \---sourcecode
| \---tags
| \---rel-1
| \---project2
| \---trunk
| \---sourcecode
| \---tags
| \---project3
| \---trunk
| \---sourcecode
| \---tags
| \---rel-1
我想 checkout 任何标记为 rel-1
的项目作为该项目。在这种情况下,我会在工作区中得到 project1
和 project3
,但不会得到 project2
。
所有 projectN
都是 Eclipse Java 项目。
我正在使用 Eclipse/Subversive,但如果需要,我愿意使用 Tortoise 或命令行 (windows)。
编辑:目前,要执行此操作,我必须检查我的 30 多个项目并分别检查每个标签。有没有一种方法可以做到这一点而无需逐一完成每个项目?
最佳答案
我认为您需要编写命令行脚本才能执行此操作。我不知道如何使用 Tortoise 或集成的 IDE/SVN 工具来执行此操作,因为这是一种不常见的(以我的经验)类型的结帐操作。
您可以使用 svn list 命令在命令行上询问 svn 目录是否存在。
然后您可以检查输出(如果找不到目录,可能会返回一个非零值,或者您可以解析输出流)以确定标签是否存在。将包含该标记的项目添加到列表中,然后 checkout 这些项目。
像这样:
For each project in myProjects:
exec "svn list " myRepositoryPath + "/" + myProject + "/tags/directory"
关于eclipse - 复杂的 SVN 结帐程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2117986/