3

如何指定我总是希望本地文件替换服务器副本,即使 TFS 副本较新?


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

我可以从智能感知中看到,我可以将checkinoptions指定为 CheckIn 方法的参数,但我只是找不到我需要输入的内容以使其始终签入并忽略我可能提出的任何冲突。

提前致谢。
编辑:我找到了一个命令 TF RESOLVE "item" /auto:AcceptYours /recursive 所以我想我修改后的问题是有没有相当于 /auto:AcceptYours 开关的编程?
NecroEDIT:在签入之前处理冲突

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

foreach(冲突中的冲突)
{
    冲突.Resolution = Resolution.AcceptTheirs;
    工作区.ResolveConflict(冲突);
}
4

1 回答 1

1

签入是原子的——要么全部成功,要么全部失败。 如果在签入前有任何冲突需要解决,签入操作会抛出异常。(文档)

您必须评估签入是否存在冲突,然后通过 Workspace.ResolveConflict 方法解决 CheckinConflicts。ResolveConflict 需要 CheckinConflict,而 EvaluateCheckin 的结果(即 CheckinEvaluationResult)包括 CheckinConflicts。

此页面可能会有所帮助。

注意: checkinoptions 与您的要求无关。

希望这可以帮助。

于 2008-10-27T15:09:47.540 回答