创建没有修订历史的SVN分支

时间:2011-11-15 19:51:05

标签: svn tortoisesvn visualsvn visualsvn-server

我们有一种情况,我们必须让第三方访问使用SVN版本的asp.net解决方案。我们已经清理了Web.config和其他敏感数据文件,现在想为承包商创建一个功能分支。有没有办法创建功能分支,以便只显示HEAD修订版并锁定所有先前的修订历史记录?理想情况下,我们希望拥有一个存储库并使用subversion的TRUNK / BRANCH功能。

替代方法

  1. 我们可以转储 - > dumpfilter - >将主干的副本加载到新分支中?似乎颠覆会将它们视为不同的存储库并使合并变得麻烦。

  2. 如果我们必须使用两个单独的存储库,使用svnadmin dump / load保持它们同步有多困难?

  3. 我们可以转储 - > dumpfilter(仅排除敏感文件) - >加载到新的存储库,切换到该存储库,并从那里创建分支?

  4. 非常感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

最简单的方法是创建分支,然后在该分支中执行所需代码的svn export,然后执行svn add。这样,分支中的文件与其他地方的文件没有任何关联。

当然,您无法使用合并跟踪在此分支与其他分支之间进行合并。

您可以设置Apache httpd安全性和svnserve安全性,以限制开发人员只看到此分支。为什么不这样做?

您可能想尝试一下,看看svn log是否显示在其他分支机构或主干上发生的更改。即使这样,也可能没问题,因为日志中可能没有专有信息。并且,如果有,可以通过更改svn:log修订属性轻松清除它。

答案 1 :(得分:2)

真的最简单的方法是

  • 为承包商创建单独的回购
  • 将主干的HEAD导入此新仓库
  • 使用svn:externaks
  • 将承包商的回复链接到MainRepo的任何位置
  • 他的回购
  • 提供承包商授权凭证

没有历史记录,没有访问权限,没有麻烦(我想)合并