Forzar un registro TFS de un archivo a través de C #
Pregunta
¿Cómo puedo especificar que SIEMPRE quiero que el archivo local reemplace la copia del servidor incluso si la copia TFS es más nueva?
if (pendingChanges.GetUpperBound(0)>-1)
ChangeSetNumber = workspace.CheckIn(pendingChanges, filename);
Por inteligencia, puedo ver que puedo especificar checkinoptions como un parámetro del método CheckIn, simplemente no puedo encontrar lo que necesito poner para que siempre se verifique e ignore cualquier conflicto. podría llegar a.
Gracias de antemano.
EDITAR: encontré un comando TF RESOLVE " elemento " / auto: AcceptYours / recursive Así que supongo que mi pregunta revisada sería si existe una programación equivalente al interruptor / auto: AcceptYours?
NecroEDIT: procesa los conflictos antes de hacer el registro
Conflict[] conflicts = workspace.QueryConflicts(new string[] { TFSProject }, true); foreach (Conflict conflict in conflicts) { conflict.Resolution = Resolution.AcceptTheirs; workspace.ResolveConflict(conflict); }
Solución
Los registros son atómicos, o bien todos tienen éxito o todos fallan. Si hay algún conflicto que deba resolverse antes del check in, el check in operation arrojará una excepción. (Documentación)
Debe evaluar el checkin para los conflictos y luego resolver los CheckinConflicts de Workspace.ResolveConflict Method. ResolveConflict espera CheckinConflict, y el resultado de EvaluateCheckin (que es CheckinEvaluationResult) incluye CheckinConflicts.
Esta página puede ayudar.
Nota: checkinoptions no está relacionado con lo que está preguntando.
Espero que esto ayude.