如何使用 SVN 存储库从指定用户在指定日期(修订版、标签)之后提交的所有更改创建补丁。我的 ide 是 Eclipse 和 Intellij Idea ,但也可以使用 tortoise。
问问题
73 次
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 回答