나는 한 브랜치에서 다른 브랜치로 사용자가 선택한 리비전 목록을 자동으로 병합하고 커밋하는 프로젝트를 가지고있다. 병합 충돌이 발생하면 프로세스가 중단되고 작업 복사본이 되돌려집니다. 그러나어떻게 SharpSVN을 사용하여 작업 복사본의 변경 사항을 재귀 적으로 되돌릴 수 있습니까?
, 내가 다시 시도하고 일반적으로 자연 그대로의 작업 복사본에 충돌을 일으키지 않을 개정을 선택로 이동, 나는 다음과 같은 오류 얻을 : 나는에 되돌리기를 할 경우에도
Merge failed: SharpSvn.SvnWorkingCopyException: Can't merge into conflicted node 'C:\SVN\MyProject\MyBranch\ProjectDirectory\SubDirectory\conflicted-file.cs'
을 작업 복사본을 사용하는 경우 svn:mergeinfo
속성 만 되돌릴 수 있지만 충돌하는 파일이나 그렇지 않은 파일은 되돌릴 수 있습니다 (이전 파일은 여전히 존재 함). 재귀 적으로 복귀하지 않습니까? 그렇지 않으면 그렇게 할 수있는 옵션이 보이지 않습니다. 여기
using (var client = new SvnClient())
{
// [Authentication code goes here...]
var targetPath = [email protected]"{_svnLocalRoot}\{project}\{branch}\";
// Clean Up
var cleanupArgs = new SvnCleanUpArgs()
{
BreakLocks = true,
ClearDavCache = true,
VacuumPristines = true,
FixTimestamps = true
};
client.CleanUp(targetPath, cleanupArgs);
// Revert
var revertArgs = new SvnRevertArgs()
{
Depth = SvnDepth.Infinity,
ClearChangelists = true
};
client.Revert(targetPath);
// Update
var updateArgs = new SvnUpdateArgs()
{
Depth = SvnDepth.Infinity
};
client.Update(targetPath, updateArgs);
// [Merge and commit code goes here...]
}
짧은 충돌이없는 깨끗한 상태와 최신 코드로 작업 복사본을 만들 수 있습니까?
나는 현재 SharpSvn.1.9-x64
버전 1.9005.3940.224