有没有办法按用户名过滤Subversion的命令行合并

时间:2012-06-12 14:55:26

标签: svn version-control branching-and-merging

我正在使用svn merge urlToSomeBranch来自我新推出的行李箱的颠覆副本。使用上面的命令,我可以通过文件或修订来挑选合并内容。但我真正想做的只是合并我所做的更改或其他团队成员的更改(如果需要)。有没有办法按用户名过滤我缺少的?我可以在我的IDE中做类似的事情但唉,我使用的那个因当前版本的合并错误而受到阻碍。 提前致谢

1 个答案:

答案 0 :(得分:1)

不幸的是,SVN没有提供这样的功能。

我最近需要做这样的事情,最后我写了一个脚本。使用SVN的XML输出和PowerShell(如果你当然是在Windows下),它可以非常简单:

$CmdLine = "svn log <branchURL> --stop-on-copy --xml";

$Logs = [xml](Invoke-Expression $CmdLine);

foreach ($Commit in $Logs.log.entry)
{
  $Author = $Commit.author;
  if ($Author.CompareTo("YourUsername"))
  {
    $Revision = $Commit.revision;
    $OtherCmdLine = "svn merge -r$Revision <branchURL> <target>";
    $Result = Invoke-Expression $OtherCmdLine;
  }
}

你显然可以采用不同的方式,但这给出了主要的想法。

如果您在基于Unix的系统下工作,则可以使用其他脚本语言实现相同的目标。