批量'svn cp'在服务器端

时间:2010-09-08 18:35:45

标签: svn version-control scripting

我有一个单片主干,它由许多项目及其相应的共享模块组成。我希望数据库的组织方式更灵活,但事实并非如此。我想做的是创建一个分支,这是一种特定于项目的精细视图。真的,它是一个标签,因为我只想写一次,但我只想标记数据库的选择部分。在生成最少量的提交噪声时,我能做到这一点的方式是什么?

从我工作空间的命令行,我可以将工作空间目录转到分支文件夹(仅选择特定于项目的模块)。然而,行李箱是一个非常大的结账,并且可能有非常多的物品需要移动。所以,这很快变得麻烦。

在服务器url上使用svn cp允许我根据需要选择性地将每个路径复制到分支/标记文件夹,但是每个复制操作都会得到一个提交。当我们的项目足够稳定时,提交日志消息通常对项目经理很有用,因此这种提交噪声级别会很烦人。

我想做的是使用一组过滤器复制主干。或者,或者,完全复制主干然后删除不需要的文件夹(仅生成两个提交消息)。但是,据我所知,没有办法在服务器端“批量删除”删除或复制。它是否正确?还有其他选择吗?

2 个答案:

答案 0 :(得分:0)

我将主干检入工作目录,可能使用--depth选项,这样我就没有大的源代码树(参见http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.checkout.html)。这种方法的最大好处是你可以玩,抛弃任何错误,并做一次提交。

答案 1 :(得分:0)

svn manual涵盖了一个名为外部定义的部分。

  

有时构造一个有用的东西   工作副本由一个   不同结账的数量。对于   例如,您可能想要不同   子目录来自不同的   存储库中的位置或者可能   来自不同的存储库   共

也许 svn:externals 是围绕您必须处理的有限存储库设计的一个解决方案。