Lock-Befehl (Team Foundation-Versionskontrolle)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Der TFVC-Befehl (Team Foundation-Versionskontrolle) lock sperrt oder entsperrt eine Datei oder einen Ordner. Mit dem Befehl wird das Recht der Benutzer verweigert oder wiederhergestellt, ein Element zum Bearbeiten in einem anderen Arbeitsbereich auszuchecken oder ausstehende Änderungen an einem Element aus einem anderen Arbeitsbereich einzuchecken.

Voraussetzungen

Um den lock-Befehl zu verwenden, müssen Sie die Berechtigung Sperren auf Zulassen festlegen. Sie müssen die Berechtigung Änderungen anderer Benutzer entsperren auf Zulassen festlegen, um eine von einem anderen Benutzer festgelegte Sperre zu entfernen, wenn Sie nicht über die Berechtigung Schreiben für den Arbeitsbereich dieses Benutzers verfügen. Weitere Informationen finden Sie unter TFVC-Standardberechtigungen.

Syntax

tf lock itemspec /lock:(none|checkout|checkin) 
[/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl] 

Parameter

Argumente

Argument

Beschreibung

<itemspec>

Identifiziert die Datei oder den Ordner, die gesperrt oder entsperrt werden sollen. Weitere Informationen darüber, wie TFVC die itemspec analysiert, um festzustellen, welche Elemente im Gültigkeitsbereich liegen, finden Sie unter Verwenden von Optionen zum Ändern der Funktionsweise eines Befehls.

Hinweis

Sie können mehrere itemspec-Argumente angeben.

<workspacename>

Der vom Benutzer bereitgestellte Wert für die /workspace-Option.

<username>

Stellt einen Wert für die Option /login bereit. Sie können einen username-Wert als DOMAIN\username oder username angeben.

<TeamProjectCollectionUrl>

Die URL der Projektsammlung, die die Datei oder den Ordner enthält, die Sie sperren oder entsperren möchten, z. B. http://myserver:8080/tfs/DefaultCollection.

Tastatur

Option

Beschreibung

/lock

Gibt einen Sperrtyp an oder entfernt eine Sperre von einem Element. Weitere Informationen finden Sie unter Grundlegendes zu Sperrtypen.

Sperroptionen:

  • None: Entfernt eine Sperre von einem Element.

  • Checkin: Ermöglicht das Auschecken und Bearbeiten eines Elements in allen Arbeitsbereichen, verhindert aber, dass Benutzer Änderungen an dem Element außerhalb des angegebenen /workspace einchecken können, bis Sie die Einchecksperre explizit freigeben. Wenn das angegebene Element in einem anderen Arbeitsbereich gesperrt ist, tritt beim Sperrvorgang ein Fehler auf.

  • Checkout: Verhindert, dass Benutzer die angegebenen Elemente ein- oder auschecken können, bis Sie die Sperre explizit freigeben. Wenn Benutzer eines der angegebenen Elemente gesperrt haben oder ausstehende Änderungen für eines der Elemente vorliegen, tritt beim Sperrvorgang ein Fehler auf.

/workspace

Gibt den Namen eines anderen Arbeitsbereichs an, in dem die Sperre angewendet werden soll. Standardmäßig wird die Sperre in dem Arbeitsbereich angewendet, in dem Sie sich gerade befinden.

/login

Gibt den Benutzernamen und das Kennwort an, um den Benutzer bei Azure DevOps zu authentifizieren.

/collection

Gibt die Projektsammlung an.

Bemerkungen

Sie können den Lock-Befehl verwenden, um die TFVC-Serverversion eines Elements vorübergehend zu sperren, sodass Sie eine ausstehende Änderung einchecken können, ohne Mergekonflikte auflösen zu müssen. Wenn Sie den Zugriff auf ein Element auf dem TFVC-Server dauerhaft verhindern möchten, sollten Sie stattdessen den Permission-Befehl verwenden.

Hinweis

Teilen Sie Ihren Teamkollegen aus Höflichkeit mit, wenn Sie ein Element mit einer Sperre versehen, erklären Sie, warum Sie entsprechend vorgehen, und geben Sie eine Schätzung ab, für wann Sie das Entfernen der Sperre planen, sofern Sie das können.

Weitere Informationen zur Verwendung des Befehlszeilenhilfsprogramms tf finden Sie unter Verwenden von Befehlen der Team Foundation-Versionskontrolle.

Sperren eines Elements

Sie können ein Element mithilfe des lock-Befehls oder durch Angabe einer lock-Option während der Ausführung verschiedener anderer tf-Befehlszeilenhilfsprogramme sperren, darunter:

Bei add und branch wird die Sperre auf den Namespace festgelegt, in dem das neue Element erstellt wird. Mit rename festgelegte Sperren gelten sowohl für den alten als auch für den neuen Namespace. Weitere Informationen finden Sie unter Sperren und Entsperren von Ordnern oder Dateien.

Sperrentypen

TFVC bietet zwei Arten von Sperren: checkin und checkout.

Eine Einchecksperre ist weniger restriktiv als eine Auschecksperre. Wenn Sie eine Einchecksperre anwenden, können die Benutzer weiter lokale Änderungen an dem Element in anderen Arbeitsbereichen vornehmen. Die Änderungen können erst eingecheckt werden, wenn Sie die Einchecksperre explizit aus dem Arbeitsbereich entfernen.

Eine Auschecksperre ist restriktiver als eine Einchecksperre. Wenn Sie eine Auschecksperre auf eine Datei mit Versionskontrolle oder einen Ordner anwenden, können Benutzer das Element weder zur Bearbeitung auschecken noch bereits ausstehende Änderungen einchecken. Sie können keine Auschecksperre abrufen, wenn es derzeit ausstehende Änderungen an einem Element gibt.

Weitere Informationen darüber, wann eine Auschecksperre und wann eine Einchecksperre angewendet wird, finden Sie unter Grundlegendes zu Sperrtypen.

Funktionsweise von Sperren

Wenn eine Datei beim Sperren ausgecheckt ist, wird ihr Status so geändert, dass er den neuen Sperrtyp enthält. Wenn die Dateien nicht ausgecheckt sind, wird der Gruppe der ausstehenden Arbeitsbereichsänderungen eine Sperränderung hinzugefügt. Anders als der Befehl checkout sorgt lock nicht dafür, dass eine Datei automatisch bearbeitbar ist.

Sperren für Ordner sind implizit rekursiv. Wenn Sie einen Ordner sperren, müssen Sie die darin enthaltenen Dateien nicht sperren, es sei denn, Sie möchten die restriktivere Auschecksperre auf eine Datei in einem Ordner anwenden, der eine Einchecksperre aufweist.

Entsperren eines Elements

Sie können ein gesperrtes Element mithilfe der none-Option entsperren. TFVC entsperrt ein Element auch automatisch, wenn Sie ausstehende Änderungen im Arbeitsbereich einchecken.

Sie können mithilfe des Status-Befehls feststellen, welche Dateien auf dem TFVC-Server gesperrt sind und von wem die Dateien gesperrt wurden.

Beispiele

Das folgende Beispiel verhindert, dass andere Benutzer 314.cs auschecken können.

c:\projects>tf lock /lock:checkout 314.cs

Das folgende Beispiel verhindert, dass andere Benutzer Änderungen an 1256.cs einchecken, ermöglicht es ihnen aber, sie in ihren Arbeitsbereichen auszuchecken.

c:\projects>tf lock /lock:checkin 1256.cs

Das folgende Beispiel verhindert, dass andere Benutzer ausstehende Änderungen an Elementen im Ordner $/src auf dem TFVC-Server vornehmen können.

c:\projects>tf lock /lock:checkout $/src

Das folgende Beispiel entsperrt alle Dateien im Ordner $/src auf dem TFVC-Server und macht sie für das Aus- und Einchecken durch andere Benutzer verfügbar.

c:\projects>tf lock /lock:none $/src