创建没有修订历史记录的SVN分支
在这种情况下,我们必须让第三方访问使用SVN版本控制的asp.net解决方案。我们已经清理了Web.config和其他敏感数据文件,现在希望为承包商创建一个功能分支。是否有方法创建要素分支,以便只有头部修订可见,并且锁定所有以前的修订历史?理想情况下,我们希望有一个单一的存储库,并使用subversion的主干/分支功能 替代方法创建没有修订历史记录的SVN分支,svn,tortoisesvn,visualsvn,visualsvn-server,Svn,Tortoisesvn,Visualsvn,Visualsvn Server,在这种情况下,我们必须让第三方访问使用SVN版本控制的asp.net解决方案。我们已经清理了Web.config和其他敏感数据文件,现在希望为承包商创建一个功能分支。是否有方法创建要素分支,以便只有头部修订可见,并且锁定所有以前的修订历史?理想情况下,我们希望有一个单一的存储库,并使用subversion的主干/分支功能 替代方法 我们可以转储->转储过滤器->将主干的副本加载到新的分支中吗?似乎颠覆会考虑它们不同的存储库并使合并变得麻烦。 如果我们必须使用两个独立的存储库,那么使用svnadm
任何帮助都将不胜感激。最简单的方法是创建分支,然后执行
svn导出该分支中所需的代码,然后执行svn添加
。这样,分支中的文件与其他位置的文件没有连接
当然,您不能使用合并跟踪在该分支和其他分支之间进行合并
您可以设置apachehttpd安全性和svnserve
security,以限制开发人员只能看到这个分支。为什么不这样做呢
您可能想尝试一下,看看svn log
是否显示在其他分支或主干上发生的更改。即使有,这也没关系,因为日志中可能没有专有信息。而且,如果有,可以通过更改svn:log
revision属性轻松地删除它。最简单的方法是
- 为承包商创建单独的回购协议
- 将躯干头部导入此新回购协议
- 将承包商回购与MainRepo链接到svn:externaks的任何位置
- 仅向承包商提供其回购的授权凭证
没有历史记录,没有访问权限,没有合并问题(我想是吧)为什么不为承包商创建一个全新的历史记录呢?这是我们的第一个方法(可能是我们坚持的方法)。当我们进行测试运行以将主干中的快速更改合并到新分支中时,我们收到一个类似“无法合并,因为这些是不同的存储库”的错误。您能否提供一个示例,说明如何编辑svn:log revision属性以仅显示修订版xxxx之后的修订?此属性应适用于具有分支访问权限的所有用户。svn:log
是一个修订属性(revprop),它是在修订本身而不是特定文件上设置的。svn:log
包含提交注释。我想说的是,你可以设置权限,所以这家公司除了这个分支机构之外没有读写权限。唯一的问题是svn log
可能会显示涉及不在此分支上的文件的更改。但是,svn log
显示的提交消息可能不包含专有信息,如果它们包含专有信息,可以修改以删除它们。无法合并,因为它们是不同的存储库:我提到的方法没有生成另一个存储库,它只是在当前存储库上创建一个没有任何历史记录的新分支,因为就Subversion而言,该分支中的文件是新文件。“无法合并…”:很抱歉,我发布了错误消息。实际上,我们得到了树冲突错误,这是有意义的,因为我们正在向空分支添加同名的“新”文件。我们必须手动编辑树冲突,但除此之外,您的建议非常有效。这正是我们需要的。