仅提交svn合并信息
我们正在合并从主干到分支的更改。当我们这样做时,合并信息会被记录下来 由于分支中可能有其他更改,是否有安全的方法仅提交因合并而受影响的文件(假设没有其他更改)以及合并属性/信息仅提交svn合并信息,svn,merge,mergeinfo,Svn,Merge,Mergeinfo,我们正在合并从主干到分支的更改。当我们这样做时,合并信息会被记录下来 由于分支中可能有其他更改,是否有安全的方法仅提交因合并而受影响的文件(假设没有其他更改)以及合并属性/信息 “假设我想将修订版“r1”从主干合并到分支。我为“r1”从主干合并到分支。现在,对于“r1”,在分支文件夹中记录合并信息。如果我在分支中执行svn diff,它将显示“.”已修改,并显示“r1”是合并属性的一部分。现在,我如何提交由于仅合并“r1”而修改的文件,以及显示为“r1”的合并属性。“如果您使用的是SVN客户端,
“假设我想将修订版“r1”从主干合并到分支。我为“r1”从主干合并到分支。现在,对于“r1”,在分支文件夹中记录合并信息。如果我在分支中执行svn diff,它将显示“.”已修改,并显示“r1”是合并属性的一部分。现在,我如何提交由于仅合并“r1”而修改的文件,以及显示为“r1”的合并属性。“如果您使用的是SVN客户端,如TortoiseSVN,在正常合并中,
mergeinfo
将自动更新为根文件夹的文件夹属性,并在提交文件列表期间列出属性发生更改的文件夹
如果这不是为您的提交自动进行的,那么如果您使用的是TortoiseSVN客户机,您甚至可以通过以下步骤手动执行此操作(假设root
为父级,mytask
为当前任务分支,subtask
为当前分支的已合并后分支,programs
为每个分支中的代码文件夹):
programs
文件夹mytask
,然后选择选项TortoiseSVN-->属性
mergeinfo
,则它将列出属性svn:mergeinfo
,其值与以下值类似:
根目录/程序:1-489
根/任务/我的任务/任务/子任务/程序:380-410
然后,您可以执行以下步骤:
a) 通过选择svn:mergeinfo项在窗口中选择“编辑-->高级”,并更新要提交的合并信息,单击“确定”mergeinfo
,则可以执行以下步骤:
a) 选择选项New-->Advanced
b) 从下拉列表中选择svn:mergeinfo
,在值文本框中添加相应的mergeinfo
,然后保存程序
文件夹执行SVN Commmit,它将在文件中列出要提交的程序
文件夹,只需更改属性即可提交mytask
)的两个单独的工作副本(比如copy1和copy2)并执行以下步骤:
copy1
正在进行所有本地更改,您可以将其保留一段时间copy2
copy2
并提交该更改。这可确保仅将合并的更改提交到服务器,并提供所需的所有mergeinfo
copy1
,执行SVN更新,它会将新合并的更改从服务器获取到此工作副本。(如果有一些文件在合并过程中更新,并且在本地更改过程中也由您更改,则在此SVN更新过程中会发生冲突)。解决冲突,然后您可以继续进行本地更改这是一个老话题,但是,因为我也需要类似的东西,并且在stackoverflow上没有找到任何东西,所以我的观点是:使用“svn commit--depth=empty folder_with_mergeinfo merged_files”
在我的例子中,我正在合并两个分支,如果我尝试“svn ci branch”,它将尝试提交在该分支下修改的所有内容。使用--depth=empty可确保仅提交文件夹合并信息和所需文件。其他更改是什么意思"? 工作副本中的更改,哪些不属于该分支?@TobiasZander Yea。分支中与合并无关的其他文件的更改。问题是,我们可以单独提交文件,但无法仅提交合并属性/infoI。如果我正确理解您的问题,我不确定。如果您只想提交合并信息,只需在提交时取消选择所有其他文件。如果只希望合并特定修订,也可以在执行选择时仅选择这些修订。您使用什么svn客户端?@TobiasZander让我们假设我想将修订版“r1”从主干合并到分支。我为“r1”从主干合并到分支。现在,对于“r1”,在分支文件夹中记录合并信息。如果我在分支中执行svn diff,它将显示“.”已修改,并显示“r1”是合并属性的一部分。现在,我如何提交由于仅合并“r1”而修改的文件,以及显示为“r1”的合并属性。这有意义吗|我想您的问题是,您的分支工作副本有一些本地未提交的更改,并且在同一工作副本上,您希望从父级合并一些修订(在您的问题中提到r1)。但是,在提交时,只需提交合并文件,而不需要提交合并操作之前存在的本地未合并文件。我是否正确理解了您的问题?这似乎并没有提交更改的文件。如果您像我的评论所说的那样将它们添加到svn命令行,则应该提交。当然,这只有在您没有更改过多文件的情况下才实用。对不起,我认为行太长,并且带有\u mergeinfo的
文件夹\u和合并的\u文件之间没有空间。