2017-04-14 6 views
0

私はブランチから別のブランチにユーザが選択したリビジョンのリストから自動的にマージしコミットするプロジェクトを持っています。マージの競合が発生すると、プロセスは中止され、作業コピーは元に戻されます。しかし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

答えて

0

を使用しています。

client.Revert(targetPath); 

はされている必要があります。

client.Revert(targetPath, revertArgs); 
関連する問題