标签: svn-merge-reintegrate

在预提交脚本中检测分支重新集成或合并

在预提交脚本中,是否有可能(如果是,如何)识别源自svn merge?的提交?

svnlook changed ... 显示已更改的文件,但不区分合并和手动编辑.

理想情况下,我还想区分标准mergemerge --reintegrate.

背景:

我正在探索使用预提交挂钩来为我们的项目强制执行SVN使用策略的可能性.

其中一个策略声明某些目录(例如/trunk)不应直接修改,只能通过功能分支的重新集成进行更改.因此,预提交脚本将拒绝除分支重新集成之外对这些目录所做的所有更改.

有任何想法吗?


更新:

我已经探索过这个svnlook命令,而我最接近的就是检测并解析svn:mergeinfo对目录属性的更改.这种方法有一些缺点:

  1. svnlook可以标记属性的更改,但不会更改哪个属性.(需要使用proplist前一版本的差异)
  2. 通过检查更改svn:mergeinfo,可以检测svn merge已运行的更改.但是,无法确定提交是否纯粹是合并的结果.合并后手动进行的更改将不会被检测到.(相关帖子:针对另一个路径/修订版的Diff事务树)

svn svn-merge pre-commit-hook svnlook svn-merge-reintegrate

12
推荐指数
1
解决办法
1521
查看次数

如何使用Netbeans将SVN分支重新集成到主干中?

我从trunk创建了一个分支.当我的分支上的开发完成后,我想将我的分支合并(重新集成)到trunk.是否有选项或设置启用?似乎Netbeans 7.1无法将分支重新集成到主干中.

我错了吗?

svn merge svn-reintegrate netbeans-7.1 svn-merge-reintegrate

6
推荐指数
1
解决办法
1931
查看次数

当有本地mergeinfo时,SVN 1.8合并(分支重用)似乎被破坏了

新的1.8 subversion客户端有问题(我们使用TortoiseSVN 1.8.5和SlikSVN 1.8.5).似乎在重新集成后能够继续使用您的功能分支的新SVN 1.8功能在某些情况下不起作用.

当trunk包含本地mergeinfo(文件或子树上的Mergeinfo)时,它不起作用.这可能会导致重新集成后分支重用的问题.如果使用'keep alive dance'(使用仅记录选项)完成分支重用,这对1.7客户端来说不是问题.

我已经制作了一个从头开始说明这个问题的脚本.它可以使用1.8客户端针对空存储库运行.

下面的脚本有10个步骤.步骤1-5用于创建在主干中具有本地mergeinfo的起始情况.步骤6-9模拟在功能分支2的生命周期内对主干进行的更改.步骤10是失败的步骤,它模拟重新集成后重用特征分支的第一步.

这是步骤10中的错误:

svn: E195016: Reintegrate can only be used if revisions 8 through 11 were pre
viously merged from svn://svn2010/practice/branches/featurebranch2 to the reinte
grate source, but this is not the case:
  trunk/file1.txt
    Missing ranges: /trunk/file1.txt:9
Run Code Online (Sandbox Code Playgroud)

这是(Windows)脚本.

@ECHO OFF
ECHO ------------------------------------------------------------------
ECHO STEP 0: Create a repository
ECHO ------------------------------------------------------------------
if exist repo rmdir repo /S/Q
if exist trunk rmdir trunk /S/Q
if exist featurebranch1 rmdir featurebranch1 /S/Q
if exist featurebranch2 rmdir featurebranch2 …
Run Code Online (Sandbox Code Playgroud)

svn version-control svn-merge mergeinfo svn-merge-reintegrate

5
推荐指数
1
解决办法
2770
查看次数

SVN合并 - 完全"他们的全部" - 分支到主干

我想将我的分支合并到trunk,并且基本上想要将分支中的所有代码覆盖到trunk.虽然接收到冲突,但我仍然为所有冲突做"满满"; 但最后它仍显示出如此多的冲突.

我想要的只是在我的行李箱上覆盖完整的分支.当然可能的方法是从我的分支机构伸出然后我的行李箱变得无用!

此外,在执行svn merge时,我可以给出一个选项,以便对于所有冲突,它需要一个特定的值(在本例中为Full-theirs),并且我不必总是为所有冲突键入它.

svn svn-merge svn-merge-reintegrate

3
推荐指数
1
解决办法
7357
查看次数

从分支分支,重新整合merge和mergeinfo

我有一个从主干开始的分支A和从A开始的分支B.定期地,从主干到A的合并,然后也执行从A到B的合并.当我想将A和B合并到主干时,我想按照这种方式:

  • 重新融合从B到A的合并
  • 重新整合从A到主干的合并

这是对的吗?或者它可能导致mergeinfo或其他问题的问题?在这种情况下,最佳做法是什么?

svn merge branch mergeinfo svn-merge-reintegrate

1
推荐指数
1
解决办法
404
查看次数