2013-02-08 11 views
8

Ich habe einige Drittanbieter-Dlls in TFS eingecheckt Unsere Maschinen wurden umbenannt und jetzt geht TFS davon aus, dass sie von mir auf einem anderen Rechner bearbeitet werden.TFS-Datei muss gesperrt bleiben

Ich versuchte tf lock /lock:none contrib64/* /workspace:oldmachine;myusername aber ich habe den Fehler

TF10152: The item $/XXX/YYYY/contrib64/third_party.dll must remain locked because its file type prevents multiple check-outs.

1, Gibt es eine Möglichkeit, um dieses?
2, Ist TFS wirklich so schlecht oder ist es nur ich?
3, Ist der Zweck von TFS, uns nostalgisch für VSS zu machen?

ps Es ist eine gehostete Version, so kann ich nicht einfach den Admin, um es zu beheben.

Antwort

10

Das Rückgängigmachen der Sperre funktioniert nicht mit diesen Dateien, da sie binär sind, da Binärdateien nicht zusammengeführt werden können, müssen sie gesperrt werden, wenn sie ausgecheckt sind.

Da der Computer, auf dem sich der Arbeitsbereich befindet, nicht mehr existiert (der Rechner wurde umbenannt), löschen Sie den Arbeitsbereich am besten.

aus einem Visual Studio-Eingabeaufforderung

tf workspace /delete oldmachine;myusername /collection:http://*tfsserver*:8080/tfs/*collection*

Dadurch wird der Arbeitsbereich entfernen und rückgängig machen alle ausstehenden Änderungen

+0

Ich fand den Vorschlag "lösche den Arbeitsbereich", aber unsere gehostete TFS implizierte, dass das gesamte Unternehmen "ein Arbeitsplatz" war - zumindest nennt es das unsere gesamte Sammlung. Hat jede Maschine + Benutzer einen Arbeitsbereich? –

+0

PS Danke, der binäre Checkout/Zusammenführungsgrund macht eigentlich Sinn! –

+0

Jeder Benutzer kann viele Arbeitsbereiche auf vielen Computern haben. Ein Arbeitsbereich ist die Zuordnung zwischen einem Ordner in der Quellcodeverwaltung und einem Ordner auf Ihrer lokalen Festplatte. Technisch nehme ich an, dass eine Sammlung als allgemeiner Begriff für einen "Arbeitsbereich" angesehen werden kann, aber im TFS-Arbeitsbereich eine spezifische Bedeutung hat. Wenn Sie einen Arbeitsbereich erstellen, lautet der Name standardmäßig machineName, Benutzername, ein zweiter Arbeitsbereich auf demselben Computer lautet machineName_1, Benutzername können Sie den ersten Teil des Namens des Arbeitsbereichs umbenennen. Löschen Sie den alten Arbeitsbereich und Sie werden gut gehen –

1

Dateien mit Erweiterung DLL sowie andere Erweiterungen wie .exe, .doc, .docx usw. werden automatisch gesperrt, da sie (wie erwähnt) hier nicht zusammengeführt werden können.

Wenn Sie die automatische Sperre deaktivieren wollen und zulassen, dass diese Dateien durch gated Check-in zu gehen, gehen Sie folgendermaßen vor:

  1. Melden Sie sich bei Ihrem Build-Server.
  2. Öffnen Sie das visuelle Studio.
  3. Im Team Explorer melden Sie sich bei Ihrem Team-Projekt an.
  4. Gehen Sie zu "Einstellungen".
  5. Wählen Sie unter "Team Project Collection" die Option "Source Control".
  6. Setzen Sie die Eigenschaft "Dateizusammenführung" für jede Dateiendung, die nicht automatisch gesperrt werden soll, auf "Deaktiviert".

Referenz: https://blogs.msdn.microsoft.com/phkelley/2008/11/12/everything-you-ever-wanted-to-know-about-locks/

Das ist für mich gearbeitet.