希望有人能为我澄清
当前活动存储库URL
在任何时候,我都会使用不止一个存储库,所以我需要在多个存储库URL之间切换。如何更改当前活动存储库的URL?例如,我从存储库A签出文件,我会在TortoiseSVN客户端上指定存储库A的URL。
当我移动到另一个文件夹,在那里我想将新文件"添加"到另一存储库,即存储库B时,我如何更改客户端,使其指向存储库B?它似乎卡在存储库A的URL上。
标记
我熟悉TortoiseCVS,通常当你用CVS/TortoiseCV标记文件夹时,它只会将标记(即标签)应用于文件。它不会在另一个文件夹中创建一个全新的副本。TortoiseSVN/Subversion似乎有所不同。标记文件夹/文件的选项似乎与分支有关。如果我创建了一个标记,我可以选择指定要将分支复制到的位置。
这到底是怎么回事?我不能只指定一个标记而不创建副本吗?我只想应用一个标签(就像在TortoiseCVS/CVS中一样)
Jenkins-通过标签构建
是否可以指示詹金斯使用标签结账?我找不到任何关于如何将jenkins配置为签出并通过标记构建的信息。关于如何在构建后将jenkins配置为标记,有很多信息,但我对如何通过标记(使用subversion存储库和CVS存储库)进行构建感兴趣。
感谢
感谢
我只是想谈谈你的标签问题。不要担心如何Subversion标记。它使用svn copy
命令进行标记。你只需要知道这些。
Subversion可以将树复制到tags
目录下的一个目录,但它可以像CVS中的标签一样使用——一个由易于记忆的标签标记的特定时间点的存储库快照。
事实上,Subversion标记在很多方面都很优越:
- Subversion标记是即时的。在CVS中,您必须等待CVS标记每个文件,这可能需要很长时间,有时甚至超过一个小时。在Subversion中,整个操作立即发生
- 在Subversion中,标签有一个历史记录,你可以看到谁创建了标签以及为什么创建。您甚至可以查看该标记是否已被修改以及由谁修改
唯一的问题是标签不能被锁定,所以人们可以签出标签并修改它们。但是,这可以通过预提交触发器来解决。
詹金斯
如果您已经在Subversion下有一个Jenkins项目,您可以将Jenkins作业复制到一个新作业中,并将Jenkins使用的URL修改为标签的URL。在Subversion中,与CVS不同,签出标签、分支或从主干中签出没有区别:这只是某种URL
- 当您谈到更改存储库URL时,您实际上提到了3种不同的情况:
- 您想在同一个repo中使用另一个URL(branched/trunk到/stranch/name服务器端,想在WC中镜像此更改以便使用您的分支):svn help switch,1-st form-
svn switch ^/branches/1.x-release
- 树中没有任何更改,只是由于某些原因更改了的URL代码的相同点(svn://host/path回购更改为http://host/path或更改了主机名…):svn帮助重新定位-
svn relocate http://www.example.com/repo/project svn://svn.example.com/repo/project
- 你想使用独立的、与旧的、新的、repo无关的URL:只需签出新的URL,不要重新发明轮子
- 您想在同一个repo中使用另一个URL(branched/trunk到/stranch/name服务器端,想在WC中镜像此更改以便使用您的分支):svn help switch,1-st form-
- 子版本中的标记/分支始终基于路径,您不能仅添加元信息。对于每个分支/标记,您总是在有条件的位置创建源的"廉价副本"(/分支和/标记是最常用和最可接受的协议)
- Jenkins-如果你可以使用Jenkins的任何存储库URL(我对此一无所知),你可以使用标签URL,就像存储库的任何其他URL一样,但是
我找不到任何关于如何配置詹金斯结账的信息并通过标签构建
由于CI中使用的操作顺序颠倒。标签(有条件地)是未修改的标签,标记一些"已达到并测试状态",因此-我们在branch|trunk中测试普通修订,而标签仅可逆,在测试后通过了测试。同一代码上的另一个测试链只是对结果没有任何有用的东西