我到inital結帳前在本地機器上的目錄結構如下:SharpSVN覆蓋現有文件和文件夾
base_dir/somefolder/someotherfolder/file.txt
結帳後,我想以下幾點:
base_dir/somefolder/someotherfolder/file.txt
base_dir/somefolder/checked_out_folder/new_file.txt
所以基本上結賬將新文件添加到已存在的目錄中。然而,我無法與SharpSvn合作。檢出時,它會下載所有不在本地存在的文件,不會觸及本地已存在的文件或文件夾。
TortoiseSvn似乎能夠做到這一點。我讀here,它應該以某種方式工作,但像問人指出,將選項AllowObstructions
設置爲true什麼都不做。
我結賬代碼(我使用SharpSVN 1.7):
using (SvnClient client = new SvnClient()) {
client.Progress += new EventHandler<SvnProgressEventArgs>(cl_Progress);
SvnCheckOutArgs sco = new SvnCheckOutArgs();
sco.Depth = SvnDepth.Infinity;
sco.AllowObstructions = true;
client.CheckOut(from, to, out result);
}
我不知道該怎麼辦,就SharpSvn的文檔是非常薄的。我希望這裏有人能夠幫助我。
感謝您的回覆! '.Resolve'函數似乎是一條路。我通過'.Notify'事件檢查,確實發生樹衝突。我嘗試過'client.Resolve(to,SvnAccept.Merged);',但沒有看到任何行爲改變。我的方式是否正確? – Stuffy
如果您使用的是1.7版,只能將樹衝突標記爲已解決,但這不會更改您的工作副本,而不會更改衝突狀態。它確實取決於樹衝突你應該/可以做什麼,但在很多情況下.Revert()可能比.Resolve更好。 –
是的! '.Revert'做了詭計。感謝您指點我正確的方向。 – Stuffy