如何使用SVN存储库在指定日期(版本,标记)之后由指定用户提交的所有更改创建补丁。 我的想法是Eclipse和Intellij Idea,但也可以使用乌龟。
答案 0 :(得分:0)
假设您的用户名是“test”,并且您想要确定在某些指定日期之间所有文件的更改
svn log <url> --username test -qv -r {2010-11-01}:{2011-05-04} > log.txt
答案 1 :(得分: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;
}
}
希望这会有所帮助!!