2008-10-17 43 views
3

如何指定我總是希望本地文件替換服務器副本,即使TFS副本更新?通過C#強制通過TFS簽入文件


if (pendingChanges.GetUpperBound(0)>-1) 
    ChangeSetNumber = workspace.CheckIn(pendingChanges, filename); 

我可以,我可以指定checkinoptions爲簽入方法的參數的智能感知看,我無法找到我需要把有它經常檢查並忽略任何衝突我可能拿出來。

在此先感謝。
編輯:我發現了一個命令TF RESOLVE「item」/ auto:AcceptYours/recursive所以我想我的修改後的問題是有一個編程equivevant /自動:AcceptYours開關?
NecroEDIT:工藝上做檢入前的衝突

 
Conflict[] conflicts = workspace.QueryConflicts(new string[] { TFSProject }, true); 

foreach (Conflict conflict in conflicts) 
{ 
    conflict.Resolution = Resolution.AcceptTheirs; 
    workspace.ResolveConflict(conflict); 
} 
+0

你不應該做一個合併而不是取代? – 2008-10-25 07:16:05

回答

1

簽到是原子 - 他們要麼全部成功,要麼全部失敗。 如果在簽入之前有任何需要解決的衝突,檢查操作將引發異常。(文檔)

您必須評估檢入衝突,然後通過Workspace.ResolveConflict方法解決CheckinConflicts。 ResolveConflict預計CheckinConflict,並且EvaluateCheckin(CheckinEvaluationResult)的結果包括CheckinConflicts。

This page可能會有所幫助。

注意:checkinoptions與您要求的內容無關。

希望這會有所幫助。