2008-10-17 6 views
3

Comment puis-je spécifier que je souhaite TOUJOURS que le fichier local remplace la copie du serveur même si la copie TFS est plus récente?Forcer une vérification TFS d'un fichier via C#


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

Je peux voir de la intelisense que je peux préciser checkinoptions en tant que paramètre de la méthode CheckIn, je ne peux pas trouver ce que je dois mettre pour avoir toujours vérifier et ignorer tout conflit que je pourrais trouver.

Merci d'avance.
EDIT: J'ai trouvé une commande TF RESOLVE "item"/auto: AcceptYours/récursif Donc, je suppose que ma question révisée serait: existe-t-il un équivoque de programmation dans le commutateur/auto: AcceptYours?
NecroEDIT: processus les conflits avant de faire le checkin

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

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

Ne devriez-vous pas fusionner plutôt que remplacer? –

Répondre

1

sont atomiques Checkins - soit tous réussissent ou ils échouent tous. S'il y a des conflits qui doivent être résolus avant l'archivage, l'opération de vérification lancera une exception. (Documentation)

Vous devez évaluer la présence de conflits, puis résoudre la méthode CheckinConflicts by Workspace.ResolveConflict. ResolveConflict attend CheckinConflict, et le résultat de l'EvaluateCheckin (qui est CheckinEvaluationResult) inclut CheckinConflicts.

This page peut aider.

Remarque: checkinoptions n'est pas lié à ce que vous demandez.

Espérons que cela aide.

Questions connexes