2013-11-27 11 views
5

Rozwiązałem niektóre narzędzia, które przetwarzają aktualizacje Subversion z określonego repozytorium.Subversion bez autora, daty i komunikatu

Choć większość wersje są prawidłowo wyświetlane, „log svn” zwraca kilka wersje z żadnym autora, daty lub wiadomości:

svn log http://myrepository.com -r 123456 
------------------------------------------------------------------------ 
r123456 | (no author) | (no date) | 1 line 


------------------------------------------------------------------------ 

Podejrzewam, to ze względu na brak uprawnień dostępu do poszczególnych plików na zmieniona ścieżka. Czy może to być coś więcej niż tylko brak uprawnień?

Odpowiedz

2

Brak autora lub daty nie jest oznaką problemu z uprawnieniami. Brak komunikatu dziennika może być oznaką problemu z uprawnieniami.

Przede wszystkim Subversion w rzeczywistości nie wymaga właściwości svn: author, svn: date lub svn: log. Generalnie nie otrzymasz zatwierdzenia bez svn: author lub svn: date empty, chyba że ktoś usunął właściwości za pomocą komendy propdel (np. svn propdel svn:author --revprop -r 1234 $URL). Subversion próbuje zachęcić Cię do pozostawienia logu, ale możesz też nadać mu pustą, chyba że jest to ograniczone przez haki zatwierdzające. Jest więc całkowicie możliwe, że ktoś celowo wprowadził zmiany do wersji. Oznacza to również, że wszelkie narzędzia używane do przetwarzania zatwierdzeń Subversion powinny być w stanie obsłużyć brak tych wartości.

Jeśli chodzi o uprawnienia, jeśli korzystasz z autoryzacji opartej na ścieżkach (authz-db z svnserve lub AuthzSVNAccessFile z httpd), dostęp do ścieżek zmodyfikowanych przez wersję może ograniczyć to, co widać.

W szczególności:

  • Jeśli masz dostęp do wszystkich ścieżek zobaczysz cokolwiek prosić o tym wszystkie zmienione ścieżki i wszystkie właściwości wersji.
  • Jeśli masz dostęp tylko do niektórych ścieżek, zobaczysz tylko zmienione ścieżki, do których masz dostęp, gdy używasz opcji -v i tylko właściwości svn: autor i svn: data. svn: log będzie ukryty, ponieważ może zawierać nazwy plików, do których nie masz dostępu. Inne właściwości rewizji (nawet niestandardowe) również zostaną pominięte.
  • Jeśli nie masz dostępu do żadnej ze ścieżek zmienionych przez wersję, wtedy wersja zostanie całkowicie pominięta w wyniku dziennika.
+0

Dzięki Ben! To wspaniała odpowiedź! – Hakkar

Powiązane problemy