Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建没有修订历史记录的SVN分支_Svn_Tortoisesvn_Visualsvn_Visualsvn Server - Fatal编程技术网

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

创建没有修订历史记录的SVN分支,svn,tortoisesvn,visualsvn,visualsvn-server,Svn,Tortoisesvn,Visualsvn,Visualsvn Server,在这种情况下,我们必须让第三方访问使用SVN版本控制的asp.net解决方案。我们已经清理了Web.config和其他敏感数据文件,现在希望为承包商创建一个功能分支。是否有方法创建要素分支,以便只有头部修订可见,并且锁定所有以前的修订历史?理想情况下,我们希望有一个单一的存储库,并使用subversion的主干/分支功能 替代方法 我们可以转储->转储过滤器->将主干的副本加载到新的分支中吗?似乎颠覆会考虑它们不同的存储库并使合并变得麻烦。 如果我们必须使用两个独立的存储库,那么使用svnadm

在这种情况下,我们必须让第三方访问使用SVN版本控制的asp.net解决方案。我们已经清理了Web.config和其他敏感数据文件,现在希望为承包商创建一个功能分支。是否有方法创建要素分支,以便只有头部修订可见,并且锁定所有以前的修订历史?理想情况下,我们希望有一个单一的存储库,并使用subversion的主干/分支功能

替代方法

  • 我们可以转储->转储过滤器->将主干的副本加载到新的分支中吗?似乎颠覆会考虑它们不同的存储库并使合并变得麻烦。

  • 如果我们必须使用两个独立的存储库,那么使用svnadmin dump/load保持它们的同步会有多困难

  • 我们可以dump->dumpfilter(仅排除敏感文件)->加载到一个新的存储库中,切换到该存储库,然后从那里创建分支吗


  • 任何帮助都将不胜感激。

    最简单的方法是创建分支,然后执行
    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而言,该分支中的文件是新文件。“无法合并…”:很抱歉,我发布了错误消息。实际上,我们得到了树冲突错误,这是有意义的,因为我们正在向空分支添加同名的“新”文件。我们必须手动编辑树冲突,但除此之外,您的建议非常有效。这正是我们需要的。