Forzare un check-in TFS di un file tramite C #
Domanda
Come posso specificare che VOGLIO SEMPRE il file locale per sostituire la copia del server anche se la copia TFS è più recente?
if (pendingChanges.GetUpperBound(0)>-1)
ChangeSetNumber = workspace.CheckIn(pendingChanges, filename);
Dall'intelisense posso vedere che posso specificare checkinoptions come parametro del metodo CheckIn, non riesco proprio a trovare quello che devo mettere per farlo controllare e ignorare qualsiasi conflitto potrebbe venire con.
Grazie in anticipo.
EDIT: ho trovato un comando TF RESOLVE " item " / auto: AcceptYours / ricorsive Quindi suppongo che la mia domanda rivista sarebbe: esiste un parametro di programmazione per l'opzione / auto: AcceptYours?
NecroEDIT: elabora i conflitti prima di effettuare il check-in
Conflict[] conflicts = workspace.QueryConflicts(new string[] { TFSProject }, true); foreach (Conflict conflict in conflicts) { conflict.Resolution = Resolution.AcceptTheirs; workspace.ResolveConflict(conflict); }
Soluzione
I check-in sono atomici: o tutti hanno successo o tutti falliscono. Se ci sono conflitti che devono essere risolti prima del check in, l'operazione di check in genererà un'eccezione. (Documentazione)
È necessario valutare il check-in per i conflitti e quindi risolvere il metodo CheckinConflicts by Workspace.ResolveConflict. ResolveConflict prevede CheckinConflict e il risultato di EvaluateCheckin (che è CheckinEvaluationResult) include CheckinConflicts.
Questa pagina può essere d'aiuto.
Nota: checkinoptions non è correlato a ciò che stai chiedendo.
Spero che questo aiuti.