对于我们即将开始的项目,我想要一个我们将不断更新的私有subversion repo,以及一个仅在我们希望客户端看到更改时才更新的客户端可见的repo。也就是说,我们不希望客户看到我们所有(可能是愚蠢的)签到回购,因此我们将所有这些都留给自己,有时将所有内容都推送到客户可见的回购中。
是否有方便的方法使客户端仓库与私人仓库保持一致?我没有在颠覆中看到这样的命令,但可能会错过它们。编写rsync是客户端可见的私有脚本(不包括同步.svn目录),然后是几个svn adds和dels,这并不难,但这看起来很笨拙。
答案 0 :(得分:1)
检查svnsync,它允许复制存储库。
答案 1 :(得分:1)
第1点
我们不希望客户看到我们所有(可能是愚蠢的)签到回购
与
矛盾并且不一致有时会将所有内容推送到客户端可见的仓库
第2点
在SVN世界中,你必须使用SVN-lingo才能被正确理解,而不是将自己暴露为文盲的失败者:在SVN中我们没有"签到" (CVS-argo,"在SVN中提交")"推送" (DVCS-argo,作为CVCS的一部分,在CVCS / SVN中没有普遍接受和明确可识别的等同物)
解决方案草案
如果您希望转移到客户端可见的回购抛光历史记录,只需要"切片"发展
--force-uuid
选项将转储恢复到CLIENT)< / LI>
svn relocate
清理工作副本(更新为$ REVISION_OF_SYNC)svnadmin dump
树的修订和转储转储(svndumpfilter
+ svnrdump
或仅/tags/
)到任何客户树(svnadmin load
或svnrdump
)答案 2 :(得分:1)
您可以使用分支。
假设您按照以下方式设置Subversion存储库:
* corporate/trunk
* corporate/branches
* corporate/tags
* client/trunk
* client/branches
* client/tags
然后,您可以使用Path Based Authorization让您的公司分支对您的客户不可见。当您希望客户端看到某些内容时,您可以将公司分支合并到客户端分支。