Wie mache ich das Auschecken eines anderen Benutzers in TFS rückgängig?

95

Als residenter TFS-Administrator werde ich gelegentlich gebeten, ein Auschecken (normalerweise eine Sperre) rückgängig zu machen, das ein Benutzer für eine bestimmte Datei in die Quellcodeverwaltung eingecheckt hat.

Wie können Sie die Kaufabwicklung eines anderen Benutzers rückgängig machen?

brett rogers
quelle

Antworten:

143

Es gibt mindestens zwei verschiedene Möglichkeiten, dies zu tun:

Befehlszeile

Es gibt ein Befehlszeilenprogramm namens Tf.exe, das mit Team Explorer geliefert wird. Die Dokumentation finden Sie hier . Sie können darauf zugreifen, indem Sie ein Visual Studio-Eingabeaufforderungsfenster öffnen. Die Syntax des Befehls lautet:

tf undo [/workspace:workspacename[;workspaceowner]] 
[/server:servername] [/recursive] itemspec [/noprompt]

Für eine Datei

tf undo /workspace:workspacename;workspaceowner $/projectname/filename.cs

GUI

Die zweite Funktion erfolgt über die GUI, ist jedoch nicht Standard - Sie müssen die TFS-Elektrowerkzeuge installieren . Weitere Informationen zur Verwendung dieser Methode finden Sie hier.

Beachten Sie, dass Sie für beide Methoden die entsprechenden Rechte benötigen. Die Berechtigungen heißen "Änderungen anderer Benutzer rückgängig machen" und "Änderungen anderer Benutzer entsperren". Diese Berechtigungen können angezeigt werden von:

  1. Klicken Sie im Versionsverwaltungs-Explorer mit der rechten Maustaste auf das gewünschte Projekt, den gewünschten Ordner oder die gewünschte Datei
  2. Wählen Sie Eigenschaften
  3. Wählen Sie die Registerkarte Sicherheit
  4. Wählen Sie oben im Abschnitt Benutzer und Gruppen den entsprechenden Benutzer oder die entsprechende Gruppe aus
  5. Zeigen Sie den Abschnitt "Berechtigungen für [Benutzer / Gruppe]:" unten an

Arbeitsbereich löschen

tf workspace /delete WorkspaceName;User
             /server:http://server:8080/tfs/MyTeamCollection 
brett rogers
quelle
Für mich meldet der Befehl tf rückgängig machen / Arbeitsbereich: mydesk * .sdf "Keine ausstehenden Änderungen", macht aber das Auschecken (Sperren) nicht rückgängig
dumbledad
Ich habe den TFS-Serverpfad vor meiner * .sdf-Elementspezifikation vergessen. Ich hatte angenommen, dass er aus dem aktuellen Verzeichnis heraus funktioniert. Die Befehlszeile, die Sie geben, funktioniert jetzt für mich.
Dumbledad
1
Stellen Sie sicher, dass Sie Anführungszeichen um Pfade mit Leerzeichen verwenden. Andernfalls wird möglicherweise die folgende Meldung
angezeigt
Wie finde ich den Namen des Arbeitsbereichs? Ich sehe, dass ich Folgendes ausführen kann: tf Arbeitsbereiche / Eigentümer: [anderer Benutzer] / Server: [Server], ich erhalte eine Liste von vier Arbeitsbereichen, die der Benutzer hat, aber wie würde ich wissen, welcher Arbeitsbereich es für die Datei ist?
PeterX
1
PeterX, Sie können den Arbeitsbereich anzeigen, indem Sie im Projektmappen-Explorer von Visual Studio zu der Datei navigieren, mit der rechten Maustaste auf die gesperrte Datei klicken und Eigenschaften auswählen. Auf der Registerkarte Status finden Sie Informationen zu dem Arbeitsbereich und dem Benutzer, der die Datei gesperrt hat
Dante
36

Der einfachste Weg, den ich gefunden habe, ist die Verwendung der kostenlosen TFS Sidekick-Anwendung . Es besteht die Möglichkeit, die Kaufabwicklung anderer Benutzer anzuzeigen und rückgängig zu machen.

Marek Karbarz
quelle
5
Es befindet sich unter "Status Sidekick". Suchen, Dateien auswählen, rückgängig machen.
Wolf5
Wenn der Benutzer das Unternehmen verlassen hat, muss er den Active Directory-Benutzernamen kennen (der nicht immer mit dem Vor- und / oder Nachnamen des Benutzers identisch ist). Mein Unternehmen weist nummerierte Benutzernamen zu, sodass ich den pensionierten Benutzer nachschlagen musste, bevor ich ihn in VS oder im Status TFS Sidekick suchen konnte.
Zephan Schroeder
Das hat erstaunlich funktioniert. So viel einfacher als der Versuch, Arbeitsbereichsnamen und dergleichen mit dem Befehlszeilentool herauszufinden.
Bo Flexson
28

Ich hatte gerade dieses Problem selbst und fand einen einfacheren Weg, alte Arbeitsbereiche aufzuräumen.

  1. Öffnen Sie in Visual Studio den Versionsverwaltungs-Explorer .

  2. Aus der ‚Workspace‘ Drop-down - Option ‚ Workspaces ...

  3. Ein Dialogfeld mit den Arbeitsbereichen auf Ihrem aktuellen PC wird angezeigt. Wählen Sie " Remote-Arbeitsbereiche anzeigen ".

  4. Sie sehen jetzt auch Arbeitsbereiche von Ihrem vorherigen PC (sofern diese vom selben Benutzerkonto stammen). Wählen Sie die alten Arbeitsbereiche aus und klicken Sie auf " Entfernen ". Dadurch sollte der alte Arbeitsbereich zusammen mit allen noch vorhandenen Überprüfungen aus TFS gelöscht werden.

Ich bin sicher, dass Arne eine Lösung gefunden hat, aber ich hoffe, dass dies anderen hilft, die das Problem googeln.

saeid mohammad hashem
quelle
7
Dies funktioniert gut, wenn Sie der Eigentümer des Arbeitsbereichs sind, insbesondere zum Bereinigen Ihrer aktuellen Liste von Arbeitsbereichen. Nicht so gut zum Löschen von Arbeitsbereichen oder Checkout-Sperren anderer Benutzer :-).
Zephan Schroeder
Einverstanden. Dies funktioniert gut, um Ihre eigenen Checkout-Sperren von einem anderen PC zu löschen.
Chris
1
Richtig, aber die Frage bezieht sich speziell auf das Entsperren von Dateien, die für einen VERSCHIEDENEN Benutzer ausgecheckt wurden.
BrainSlugs83
9

Wählen Sie Ihre Datei im TFS-Sidekick aus, und über der Liste wird "Ausstehende Änderung rückgängig machen" angezeigt. Klicken Sie darauf und die Änderung wird rückgängig gemacht :) Das Symbol ähnelt dem Symbol "Rückgängig" in MS Word. Holen Sie sich TFS-Sidekicks von http://www.attrice.info/cm/tfs/index.htm

Maryam
quelle
Einfachstes Werkzeug. Hat mir wirklich geholfen, eine Änderung auf der Lösungsebene rückgängig zu machen, die ein ehemaliger Mitarbeiter
ausgecheckt