Jaki jest najlepszy sposób na sprawdzenie, jakie pliki są zablokowane w Subversion?

W końcu udało mi się przełączyć moją grupę z SourceSafe na Subversion. Niestety, mój menedżer nadal chce używać ekskluzywnych zamków na każdym pliku. Ustawiłem więc właściwość svn: needs-lock na każdym pliku i utworzyłem hook przed zatwierdzeniem, aby upewnić się, że właściwość pozostanie ustawiona.

Uruchamiamy Subversion na serwerze Linux. Większość z nas korzysta z komputerów z systemem Windows, a kilka komputerów Mac. Używamy różnych klientów SVN (TortoiseSVN, SmartSVN, Subclipse, itp.).

Teraz potrzebujemy dobra / łatwa metoda, aby zobaczyć wszystkie pliki, które są aktualnie zablokowane w całym repozytorium (i kto je zablokował). Poszperałem trochę w żółwiu i Subclipsie, ale nie znalazłem tego, czego szukam. Nasze projekty mają wiele podkatalogów, które mają wiele poziomów głębokich, więc byłoby zbyt czasochłonne przeglądanie poszczególnych katalogów.

To, co chciałbym, to pojedynczy raport, który mogę uruchomić, który wymienia wszystko, co jest obecnie zablokowane i kto ma to zablokowane. Co to jest najlepszy sposób na uzyskanie tego typu informacji?

Author: peterh, 2008-11-12

4 answers

To, czego szukasz, to svnadmin lslocks dowództwo.

Mam to skonfigurowane w pracy, ponieważ przechowujemy niektóre dokumenty Worda w naszym repozytorium Subversion(z svn:needs-lock). Mam ustawioną pracę cron, która każdego dnia sprawdza listę zamków i wysyła raport wszystkich zamków starszych niż 7 do całego zespołu. W ten sposób możemy stwierdzić, kto od dawna obijał się i siedział na zamkniętej kopii dokumentu.

 33
Author: Greg Hewgill,
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-04-26 15:15:44

To może nie jest odpowiedź, której szukasz, ale powinieneś spróbować przekonać menedżera, że blokady nie są najlepszą praktyką programistyczną. Jest wiele napisanych na ten temat, więc nie będę tu wszystkiego powtarzał.

Kiedy przechodzisz ze środowiska blokującego do takiego bez wymuszonych blokad kasowych, początkowo myślisz, że doprowadzi to do chaosu, ale tak naprawdę nie. SVN jest dobry w łączeniu zmian, gdy dwie osoby pracują nad tym samym plikiem, a nawet jeśli kończą się konfliktami, nie jest tak źle je naprawić.

Znacznie lepsze niż czekanie na gościa, który poszedł na lunch z sprawdzonymi krytycznymi aktami, albo co gorsza, wyjechał na wakacje.

 22
Author: Eric Z Beard,
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-12 19:30:58

Aby zobaczyć, co blokuje ty i inni, możesz użyć TortoiseSVN → Sprawdź Modyfikacje.... Lokalnie przechowywane tokeny blokady pojawiają się natychmiast. Aby sprawdzić, czy blokada jest przechowywana przez inne osoby (i czy któraś z Twoich blokad jest uszkodzona lub skradziona), należy kliknąć na Sprawdź repozytorium.

 21
Author: ,
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
2009-07-22 11:23:29

Możesz odkryć blokady z lokalnej kasy za pomocą svn status --show-updates, która umieści O przed wszystkimi plikami, które są zablokowane na serwerze.

Np.

$ svn status --show-updates
     O      279532   LockedFile
?                    UncommittedFile
M           279532   ModifiedFile

Zobacz svnbook Po Więcej Szczegółów

 20
Author: ashirley,
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
2012-03-20 11:02:47