如何在不保留历史记录的情况下将svn主干复制到分支

如何在不保留历史记录的情况下将svn主干复制到分支,svn,Svn,我知道已经有很多话题了,但在我的情况下,我真的很难与svn合作。我在周围都有嵌套的主干目录,类似这样: product\u name/trunk/product\u module/trunk 这很烦人,但这不是我的选择,而且迁移到git只可能在2个月内完成,所以我一直对dir path感到困惑 问题是:如何将product\u name/trunk/product\u module/trunk/合并到product\u name/trunk/product\u module/branchs/ua

我知道已经有很多话题了,但在我的情况下,我真的很难与svn合作。我在周围都有嵌套的主干目录,类似这样:

product\u name/trunk/product\u module/trunk

这很烦人,但这不是我的选择,而且迁移到git只可能在2个月内完成,所以我一直对dir path感到困惑

问题是:如何将
product\u name/trunk/product\u module/trunk/
合并到
product\u name/trunk/product\u module/branchs/uat
,而不传输所有以前的提交消息,这样分支uat将只包含合并提交消息。如果可能的话,我实际上不想处理修订id。也许
svn copy
可以做这项工作


编辑:这是重复,问题是关于合并分支,不移动存储库。如果他们看不出合并回购协议和分支机构之间的区别,那么投票赞成关闭的人显然根本没有与svn合作过。不同的工具,不同的模式和行动,甚至不同的场景。我需要所有引用路径的完整命令。

我不确定我是否正确理解您的问题。然而,这听起来像一个简单的问题

您可以使用在分支的工作目录中执行的以下命令合并从主干到分支的所有未合并更改,而无需使用rev id:

svn merge ^/product_name/trunk/product_module/trunk
Subversion可以区分合并提交和常规提交。以下命令仅显示合并提交:

svn log
如果要查看合并历史记录,可以使用选项
-g
(与
-使用合并历史记录
相同):


我不确定我是否正确理解了你的问题。然而,这听起来像一个简单的问题

您可以使用在分支的工作目录中执行的以下命令合并从主干到分支的所有未合并更改,而无需使用rev id:

svn merge ^/product_name/trunk/product_module/trunk
Subversion可以区分合并提交和常规提交。以下命令仅显示合并提交:

svn log
如果要查看合并历史记录,可以使用选项
-g
(与
-使用合并历史记录
相同):


SVN不会移动更改,它实际上会合并这些更改以生成单个提交。您是否在“分支/uat”的工作副本中尝试过“svn合并…/trunk”?如果是,那么到底是什么问题?就我所尝试的svn merge而言,如果没有指定修订idI,它将无法工作。我承认您对这一点的措辞有一些混淆,但我猜您希望创建一个新的分支,除了“从X合并的分支”之外,该分支没有以前的提交历史记录?不,我需要将主干合并到现有分支中。合并提交很好。例如,如果将
git
中的
branch
合并到
master
,则来自branch的所有200次提交都将合并到master tree中(即使您将执行rebase…)。在git中,在将分支合并到主分支时,可以使用--no ffs标志实现这一点。然后,在主目录树上只有合并提交消息,仅此而已。我想在svn中也这样做。我只想看到合并提交消息,而不是每次编辑的全部历史记录。这可以通过替换每个文件的分支目录来实现(现在运行循环)…所以我正在研究如何使用svn工具实现这一点
svn copy
可能可以做到这一点,但它在现有分支上不起作用,这意味着您失去了所有合并提交历史记录。。使用
svn merge-rID trunk\u path branch\u path以正常方式执行此操作是可行的,但很难部署这种东西。。我想合并而不使用修订id。现在我希望您理解。SVN不会移动更改,它实际上会合并它们以生成单个提交。您是否在“分支/uat”的工作副本中尝试过“svn合并…/trunk”?如果是,那么到底是什么问题?就我所尝试的svn merge而言,如果没有指定修订idI,它将无法工作。我承认您对这一点的措辞有一些混淆,但我猜您希望创建一个新的分支,除了“从X合并的分支”之外,该分支没有以前的提交历史记录?不,我需要将主干合并到现有分支中。合并提交很好。例如,如果将
git
中的
branch
合并到
master
,则来自branch的所有200次提交都将合并到master tree中(即使您将执行rebase…)。在git中,在将分支合并到主分支时,可以使用--no ffs标志实现这一点。然后,在主目录树上只有合并提交消息,仅此而已。我想在svn中也这样做。我只想看到合并提交消息,而不是每次编辑的全部历史记录。这可以通过替换每个文件的分支目录来实现(现在运行循环)…所以我正在研究如何使用svn工具实现这一点
svn copy
可能可以做到这一点,但它在现有分支上不起作用,这意味着您失去了所有合并提交历史记录。。使用
svn merge-rID trunk\u path branch\u path以正常方式执行此操作是可行的,但很难部署这种东西。。我想合并没有修订id。现在我希望你能理解。