Subversion:可以在单个修订中完成多个复制操作吗?

sta*_*lue 6 svn transactions copy pvcs

根据我对Subversion中的事务的理解,原则上这应该是可能的,但我不知道任何支持它的工具.

背景是我们正在讨论从PVCS Dimensions到Subversion的迁移,Subversion中引用的主要特征是"设计部件".设计部分是可以一起处理的任意文件集合,例如子项目所需的所有源文件.

替换它的一个想法是通过Makefile中的复制操作,将相关文件复制到分支中.但是如果所有文件都是单独复制的,这可能会导致很多修改,这可能会使历史变得混乱,所以避免这种情况会很好.

编辑: 更多背景信息:

该项目由几个(5-10)子项目组成,这些子项目单独发布,但共享一些公共源文件和从其他项目导入的外部库.

设计部分引用的一个原因是限制对源文件的依赖性,另一个原因是管理子项目的产品,因此所有这些都可以在一次操作中在版本控制中更新.这两种文件在某些​​目录中有所不同.

我们约有5名开发人员参与该项目.

Edm*_*und 7

有一个工具svnmucc正是这样做,不需要工作副本:

http://subversion.tigris.org/tools_contrib.html#svnmucc_c


小智 6

您可以使用: svn copy FROM_URL1 FROM_URL2 URL_TO

例如:

svn copy svn://192.168.1.50/trunk/folder1 svn://192.168.1.50/trunk/folder2 svn://192.168.1.50/tags/MY_TAG
Run Code Online (Sandbox Code Playgroud)


Mne*_*nth 5

您可以在工作副本中制作副本,并在以后立即提交所有副本.这只会创建一个版本.

使用命令行客户端,它可能看起来像这样:

svn copy file1 directory
svn copy file2 directory
svn copy file3 directory
svn commit
Run Code Online (Sandbox Code Playgroud)

主要的缺点是你需要一个工作副本,这个工作副本必须包含source-和target-directory.