Nie mogę wykonać zatwierdzenia SVN. Otrzymuję ten błąd:
org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: Working copy 'C:\.... is too old (format 10, created by Subversion 1.6)
Jak to naprawić?
Nie mogę wykonać zatwierdzenia SVN. Otrzymuję ten błąd:
org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: Working copy 'C:\.... is too old (format 10, created by Subversion 1.6)
Jak to naprawić?
Odpowiedzi:
Musisz zaktualizować swojego klienta subversion do co najmniej 1.7.
Korzystając z klienta wiersza poleceń, musisz ręcznie zaktualizować format kopii roboczej, wydając polecenie svn upgrade
:
Uaktualnianie kopii roboczej
Subversion 1.7 wprowadza istotne zmiany w formacie kopii roboczej. W poprzednich wydaniach Subversion, Subversion automatycznie aktualizował kopię roboczą do nowego formatu, gdy wykonywana była operacja zapisu. Jednak Subversion 1.7 uczyni to krokiem ręcznym. Przed użyciem Subversion 1.7 z kopiami roboczymi, użytkownicy będą musieli uruchomić nowe polecenie,
svn upgrade
aby zaktualizować metadane do nowego formatu. To polecenie może chwilę potrwać, a dla niektórych użytkowników bardziej praktyczne może być po prostu pobranie nowej kopii roboczej.
- Uwagi do wydania Subversion 1.7
TortoiseSVN dokona aktualizacji kopii roboczej przy następnej operacji zapisu:
Uaktualnianie kopii roboczej
Subversion 1.7 wprowadza istotne zmiany w formacie kopii roboczej. W poprzednich wersjach Subversion automatycznie aktualizował kopię roboczą do nowego formatu po wykonaniu operacji zapisu. Jednak Subversion 1.7 uczyni to krokiem ręcznym.
Zanim będzie można użyć istniejącej kopii roboczej z TortoiseSVN 1.7, musicie najpierw zaktualizować format. Jeśli klikniesz prawym przyciskiem myszy starą kopię roboczą, TortoiseSVN pokaże tylko jedno polecenie w menu kontekstowym: Uaktualnij kopię roboczą.
- Uwagi do wydania TortoiseSVN 1.7
svn
zainstalowany? ( sudo apt-get install svn
)
upgrade
polecenia. Ubuntu 12.04 nie zainstalowałoby 1.7 bez dodania nowego ppa. askubuntu.com/questions/65468/…
z eclipse, możesz wybrać w projekcie, kliknij prawym przyciskiem myszy-> zespół-> uaktualnij
Jeśli właśnie zaktualizowałeś do SVN 1.7 na swoim komputerze (tak jak właśnie zrobiłem) i masz wiele projektów w obszarze roboczym Eclipse, które wymagają aktualizacji, możesz wykonać następujące czynności w oknie terminala w systemach Unix-baesd:
cd [eclipse/workspace] # <- you supply the actual path here
for file in `find . -depth 2 -name "*.svn"`; do svn upgrade `dirname $file` ; done;
Po trochę googlowaniu znalazłem coś, co wydaje się być odpowiednikiem dla użytkowników systemu Windows:
http://www.rqna.net/qna/mnrmqn-how-to-find-all-svn-working-copies-on-win-xp.html
Zobacz odpowiedź Alexeya Shcherbaka w połowie strony.
Ten problem jest spowodowany tym, że próbujesz skompilować projekt, który ma pliki starszego SVN niż obecnie używasz.
Masz dwa sposoby rozwiązania tego problemu
Możesz również otrzymywać dziwne komunikaty o potrzebie uaktualnienia kopii roboczej, gdy inne kopie robocze są zagnieżdżone w twojej. Miałem ten problem z projektem Symphony, ponieważ niektóre foldery frameworka są kopią roboczą i przypuszczam, że nie zostały poprawnie wyczyszczone przed opublikowaniem.
W takim przypadku po prostu wyszukaj pliki .svn
i usuń .svn
foldery, których nie chcesz (oczywiście nie usuwaj swoich w katalogu głównym).
Po uaktualnieniu do najnowszej wersji Tortoise-SVN musiałem najpierw wykonać „Upgrade” (w przeciwieństwie do „Update”!).
Jeśli otrzymujesz ten błąd z Netbeans (7.2+), oznacza to, że twoja oddzielnie zainstalowana wersja Subversion jest wyższa niż wersja w netbeans. W moim przypadku Netbeans (v7.3.1) miał SVN v1.7 i właśnie zaktualizowałem mój SVN do v1.8.
Jeśli zajrzysz Tools > Options > Miscellaneous (tab) > Versioning (tab) > Subversion (pane)
, ustaw Preferowany klient = CLI , a następnie możesz ustawić ścieżkę do zainstalowanego SVN, który dla mnie był C:\Program Files\TortoiseSVN\bin
.
Więcej można znaleźć w często zadawanych pytaniach dotyczących klientów Subversion Netbeans .
W przypadku AnkhSVN w programie Visual Studio dostępna jest również opcja „Uaktualnij kopię roboczą” w menu kontekstowym rozwiązania w Eksploratorze rozwiązań (jeśli ma to zastosowanie).
Możesz zaktualizować do Subversion 1.7. Aby zaktualizować do Subversion 1.7, musisz uruchomić istniejący projekt w Xcode 5 lub nowszym. Spowoduje to wyświetlenie ostrzeżenia ' The working copy ProjectName should be upgraded to Subversion 1.7
' (pokazane na poniższym zrzucie ekranu).
Powinieneś wybrać 'Upgrade
przycisk ', aby zaktualizować do Subversion 1.7. To zajmie trochę czasu.
Jeśli używasz terminala , możesz zaktualizować do Subversion 1.7, uruchamiając poniższe polecenie w katalogu swojego projektu: svn upgrade
Zauważ, że gdy już masz upgraded to Subversion 1.7 you cannot go back to Subversion 1.6.
svn upgrade