Co zrobić, jeśli plik w TFS jest zablokowany przez kogoś innego?

Ktoś opuścił organizację, ale przed wyjazdem zamknął wszystkie pliki z nieznanego powodu.

Jak odblokować je wszystkie, aby inni deweloperzy mogli pracować?

Author: Maxime Rouiller, 2008-11-06

10 answers

Aby wykonać następującą operację, musisz być administratorem projektu, w którym chcesz cofnąć rejestrację, lub administratorem Team Foundation, jeśli chcesz to zrobić we wszystkich projektach.

Jeśli nadal masz nazwę Użytkownika osoby, możesz po prostu zrobić coś takiego:

  • Otwórz wiersz poleceń programu Visual Studio (Start -> Programy -> Microsoft Visual Studio 200x -> narzędzia programu Visual Studio -> Wiersz poleceń programu Visual Studio 200x)
  • Uruchom następujące polecenie:

Tf lock / lock: brak / workspace: WorkspaceName;USERNAME / recursive $ /

Aby uzyskać listę przestrzeni roboczych dla użytkownika, po prostu uruchom następujące polecenie z tego samego wiersza:

Tf workspaces / owner: username

Aby uzyskać więcej poleceń, sprawdź tf /?

 54
Author: Maxime Rouiller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-01 08:30:34

Jeśli programista opuścił organizację, najlepszą rzeczą do zrobienia jest usunięcie ich obszarów roboczych. Spowoduje to odblokowanie plików, ale także zwolni niektóre zasoby na serwerze.

Zobacz następujący wpis na blogu, który zrobiłem na ten temat, gdy przydarzyło mi się to kilka lat temu.

Http://www.woodwardweb.com/vsts/unlocking_files.html

Możesz usunąć obszar roboczy za pomocą wiersza poleceń (tf.exe) lub możesz użyć doskonałych TFS Sidekicks z Attrice.

 33
Author: Martin Woodward,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-27 19:55:30

Najpierw musisz mieć do tego prawo. Jeśli masz, że najłatwiej jest użyć TFS sidekicks z attrice http://www.attrice.info/cm/tfs/

 6
Author: KeesDijk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-27 19:55:40

To był jedyny sposób, w jaki to rozwiązałem, co wiązało się z usunięciem przestrzeni roboczej użytkownika:

Http://2toad.com/Blog/2012/1/27/how-to-manage-tfs-workspaces

Jeśli komunikat o błędzie mówi " pozycja $/... jest zablokowany do wymeldowania przez someUser: 1 w obszarze roboczym someMachine123."następnie używam polecenia:

tf workspace /delete /server:http://machinename:8080/tfs/DefaultCollection someMachine123;someUser:1

Istnieje tylko jedna spacja pomiędzy adresem URL kolekcji a someMachine123;someUser:1.

Zauważ, że zwróciłem uwagę na fakt, że komunikat o błędzie wspomniał o user as someUser:1, więc imitowałem to w poleceniu. Nie wystarczyło uruchomić komendy tylko someUser. Nie jestem pewien, co to jest :1, ale punkt jest, naśladować komunikat o błędzie.

Uwaga serwer musi być w pełni kwalifikowaną ścieżką kolekcji, którą można znaleźć, przechodząc do konsoli administracyjnej serwera Team Foundation->warstwa aplikacji->Kolekcje projektów zespołu, w dolnym okienku pojawi się adres URL kolekcji wybranej w górnym okienku.

Miałem też problem, ponieważ przypadkowo próbowałem użyć liczby mnogiej workspaces zamiast tylko workspace, ponieważ istnieje podobne polecenie, które jest liczbą mnogą.

 6
Author: AaronLS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-06 09:48:38

Musiałem dodać / collection: collectionURL w przeciwnym razie nie można znaleźć obszaru roboczego:

  • Pozycja Listy

Tf loc / lock:none / workspace: WorkspaceName;UserName / collection:collectionURL

 1
Author: user1977234,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-17 13:49:54

Oto Wyjaśnienie korzystania z uprawnień TFS.

Posiadanie " Odblokuj zmiany innych użytkowników" uprawnienie ustawione na Zezwalaj jest wymagane do Usuń blokadę trzymaną przez innego użytkownika.

 0
Author: DOK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-06 14:31:59

Zresetuj hasło administratora systemu, Zaloguj się jako ten użytkownik, Odblokuj wszystkie pliki...

Myślę, że jest to rozwiązanie prawie wszystkich pytań "kogoś, kto nie jest już w tej organizacji"...

 0
Author: Dining Philanderer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-06 15:03:11

Lepiej jest usunąć obszar roboczy tego użytkownika z serwera. przykład

TF workspace /delete / server: your_tfs_server workspace;username

 0
Author: Mrinmoy Das,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-22 20:12:21

Czasami jest to maskowanie innego problemu z zupełnie inną aplikacją jest zablokowana przez innego użytkownika, ale nie można nawet utworzyć nowego folderu dla nowego projektu, do którego chcesz połączyć ( target nie pozwala na utworzenie i niepoprawnie stwierdzając, że ktoś ma plik zablokowany w ich nazwie), ale potem kopać głębiej i inny projekt jest winowajcą.

Więc zupełnie inny projekt może być problemem z zablokowaniem plików przez kogoś innego.

 0
Author: Tom Stickel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-20 23:44:52

Użyj tego rozwiązania jako ostateczności.

Używam TFS 2012. Poszedłem do bazy TFS i uruchomiłem następujące zapytania. I zadziałało! oczywiście należy być bardzo ostrożnym podczas mieszania z bazą danych, robienia kopii zapasowych itp.

Baza Danych nazywa się Tfs_ > . Ignoruj bazę danych Tfs_Configuration MSSQL. Nie jestem pewien, ale jeśli nie masz Tfs_ > bazy danych, ustawienia mogą być w bazie danych Tfs_DefaultCollection. Blokady są przechowywane w tbl_PendingChange.LockStatus .

/*Find correct row*/
SELECT LockStatus, PendingChangeId, *
FROM tbl_PendingChange
WHERE TargetServerItem like '%<<fileName>>%'

/*Set lock status to NULL (mine was set to 2 initially)*/
UPDATE tbl_PendingChange SET LockStatus = NULL WHERE
TargetServerItem like '%<fileName>>%'
AND PendingChangeId = <<PendingChangeId from above>>
 -4
Author: Dennis T,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-29 22:45:04