0

如何使用 SVN 存储库从指定用户在指定日期(修订版、标签)之后提交的所有更改创建补丁。我的 ide 是 Eclipse 和 Intellij Idea ,但也可以使用 tortoise。

4

2 回答 2

0

如果 PowerShell 是一个可接受的选项,这里有一个脚本可以完成这项工作:

$RepoAddr = "https://url/to/your/repo";
$FromRev = "140";
$ToRev = "HEAD";
$WantedAuthor = "yannick";
$PatchFile = "$($WantedAuthor).patch";

$CmdLine = "svn log -r$($FromRev):$($ToRev) $RepoAddr --xml";
$Logs = ([xml](Invoke-Expression $CmdLine));

foreach ($Commit in $Logs.log.logentry)
{
    [string]$TmpAuth = $Commit.author;
    if ($TmpAuth.CompareTo($WantedAuthor) -eq 0)
    {
        [int] $TmpRev = $Commit.revision;
        $PatchCmdLine = "svn diff -r$($TmpRev-1):$TmpRev $RepoAddr";
        Write-Host $PatchCmdLine;
        Invoke-Expression $PatchCmdLine | Out-File $PatchFile -append;
    }
}

希望这可以帮助!!

于 2012-07-03T11:02:11.253 回答
0

假设您的用户名是“test”并且您想确定在某些指定日期之间所有文件都发生了哪些变化

svn log <url> --username test -qv -r {2010-11-01}:{2011-05-04} > log.txt
于 2012-07-03T10:28:54.967 回答