2009-08-18 11 views
22

Wszędzie, gdzie odwiedzam google, otrzymuję tę samą odpowiedź na ten problem, ale jest to zła odpowiedź dla mnie. Pierwotnie zainstalowałem Subversion 1.5.6 dla Windows (uruchamiam Windows Server 2008) na moim serwerze i zrobiłem repozytorium dla projektu. Następnie użyłem klienta Tortoise w wersji 1.6.X na moim laptopie, aby zaktualizować projekt. Wszystko było w porządku, dopóki nie spróbowałem użyć skryptu przechwytującego po aktualizacji (aktualizuję foldery w wwwroot przy zatwierdzaniu, aby odzwierciedlić zmiany na stronie internetowej). Dostałem wiadomość, że "Ten klient jest za stary, aby pracować z kopią roboczą" XXX ".Ten klient jest zbyt stary, aby pracować z kopią roboczą.

Odinstalowałem klienta SVN na moim laptopie i usunąłem repozytorium z serwera. Następnie stworzyłem nowe repozytorium na serwerze od podstaw i zainstalowałem TortoiseSVN w wersji 1.5.6 myśląc, że jeśli wersja klienta jest taka sama jak Subversion na serwerze, to powinny one być przyjemne. Po ponownym pobraniu repozytorium na moim laptopie i ponownym zainstalowaniu skryptu przechwytującego, otrzymuję tę samą wiadomość ...

To jest dość żmudne i destrukcyjne, że trzeba ciągle usuwać moje repozytoria i instalować mojego klienta, aby znaleźć te, które współpracują przez próbę i błąd. Nie widzę powodu (i nie można znaleźć w Internecie), dlaczego repozytorium argumentowałoby, czy zarówno TortoiseSVN, jak i mój serwer Subversion to oba 1.5.6.

Czy jest ktoś, kto może dać wgląd w to, dlaczego otrzymam tę wiadomość? Być może nawet ktoś, kto mógłby dać mi znać, jakiej wersji TortoiseSVN muszę użyć, aby mój serwer SVN 1.5.6 nie mógł narzekać. Mój skrypt przechwytujący działa z wiersza poleceń na moim serwerze, więc wiem, że to nie wina. Z góry dziękuję.

+2

Otrzymujesz komunikat o błędzie z TortoiseSVN lub coś innego? Co robi skrypt przechwytujący? Czy uzyskujesz dostęp do serwera svn za pośrednictwem http? – leeeroy

+1

Jeśli masz problemy z klientem, dlaczego odtwarzasz repozytorium, a nie tylko odtwarzasz kopię roboczą? A może aktualizowałeś serwer? – Eugene

+0

Otrzymuję błąd w TortoiseSVN i kliencie wiersza poleceń. Oto jak wygląda mój skrypt przechwytujący: "[PATH TO svn.exe]" update "[PATH TO SERVER WORKING COPY]" --quiet --non-interactive --nazwa_użytkownika [USERNAME] --hasło [HASŁO] --config-dir "[ŚCIEŻKA DO PLIKU KONFIGURACJI REPOZYCJI]" Nie mam dostępu przez http – Adamantine

Odpowiedz

14

Okazuje się, że moja wersja serwera SVN to 1.5.6, ale klient TortoiseSVN, który zainstalowałem na serwerze, to wersja 1.6.3. Kiedy chciałbym sprawdzić moją roboczą kopię wwwroot (lub zaktualizować ją za pomocą opcji klikniętych prawym przyciskiem myszy) i zaktualizować wersję kopii roboczej, serwer SVN nie mógł jej zaktualizować, ponieważ była to wersja niższa.

Pobrałem TortoiseSVN 1.5.6 z pliku hippo i ponownie sprawdziłem kopię roboczą na serwerze i wszystko działało świetnie!

+1

Czy to nie był dokładnie ten punkt, który robiłem? (Zobacz mój ostatni komentarz) – paracycle

3

Twierdzisz, że przyczyną twojego problemu nie jest skrypt hakowania po zatwierdzeniu, ale moim przeczuciem jest to, że jest to dokładnie źródło twoich problemów. Kiedy uruchamiany jest skrypt po zatwierdzeniu, w jaki sposób pobiera on pliki z serwera Subversion, aby mógł je skopiować na serwer WWW? Czy to nie sprawdź je? Poza tym, mówisz, że wszystko działa dobrze do zainstalowałeś skrypt przechwytujący po zatwierdzeniu.

Pracowałem w trybie SVN typu klient/serwer w systemie mieszanym, w tym TortoiseSVN jako klient i nigdy nie spotkałem się z żadnymi niezgodnościami, o ile klienci pracujący na tym samym repozytorium są tej samej wersji.

Czy możesz opublikować zawartość haka po zatwierdzeniu, abyśmy mogli dalej rozwijać?

+0

Zaczynam myśleć o twoim prawie o skrypcie przechwytującym. tutaj jest mój skrypt przechwytujący: "[ŚCIEŻKA DO svn.exe]" aktualizacja "[ŚCIEŻKA DO KOPII SERWEROWEJ]" --quiet --non-interactive --nazwa_użytkownika [USERNAME] --password [PASSWORD] --config -dir "[PATH TO REPOSITORY CONFIGURATION FILE]" to plik .cmd w katalogu haczyków mojego repozytorium – Adamantine

+0

Dokładnie to, co myślałem. Teraz, jaka jest wersja svn.exe, która jest określona w '[PATH TO svn.exe]'? Założę się, że tam jest konflikt. – paracycle

+0

Na marginesie, tutaj jest link do tego, skąd mam to rozwiązanie. Wydaje się pracować dla niego, ale nie dla mnie: http://www.codersrevolution.com/index.cfm/2008/9/15/Creating-a-postcommit-hook-for-Subversion – Adamantine

0

Jeśli przejdziesz z 1,6 do 1,5, możesz zmienić wersję na niższą. Nigdy nie mówisz nam, jak przenosisz swoje repozytorium, ale musisz w zależności od tego, jak to zrobisz, uzyskać wersję samego repozytorium.

http://wiki.open.collab.net/wiki/Subversion_Client_FAQ#head-ed7f8e6b7f3265c74eaf7d49dcd4aab85bae2a12

+0

nie było potrzeby obniżania wersji repozytorium, ponieważ całkowicie je usunąłem i ponownie je zmieniłem, gdy przełączałem wersje. – Adamantine

0

Sprawdź, jakie polecenie svn działa Twój post-commit skrypt hak. Sprawdź, czy wersja tego polecenia jest zgodna z wersją ostatniego klienta SVN, aby dotknąć repozytorium.

Domyślnie podczas korzystania z nowej wersji klienta subversion powoduje aktualizację repozytorium do tej wersji. Oznacza to, że nagle starsi klienci po prostu przestają działać.

+0

Uaktualni kopię roboczą, a nie repozytorium (chyba że sam też zaktualizujesz serwer). Zwykle, jeśli chcesz starszych klientów, po prostu wyczyść kasę. – Eugene

0

Miałem ten sam błąd. Ale przyczyną było sprawdzenie projektu za pomocą klienta svn 1.5, a moja wtyczka subclipse w Eclipse była wersją 1.4. Tak więc aktualizacja mojej wtyczki subclipse do wersji 1.6 zrobiła lewę. więc problem polegał na tym, że subklipse 1.4 nie działa z projektami, które zostały wyewidencjonowane za pomocą klienta svn 1.5.

Mam nadzieję, że to komuś pomaga.

1

W moim przypadku przeniosłem kod zaćmienia z jednego miejsca na drugie, a problem zaczął się. Za rozwiązanie I kasy projektu z repozytorium svn. Następnie w starym projekcie wyczyściłem wszystkie pliki svn. (po prostu wyszukaj .svn i delete), a następnie skopiuję zawartość do właśnie sprawdzonego projektu, moje zmiany stają się widoczne i mój projekt jest aktualny. Ta metoda może być stosowana do innych irytujących błędów. Mam nadzieję, że ta pomoc ktoś

Powiązane problemy