2013-08-01 91 views
15

Próbuję dodać pliki do repozytorium SVN przy użyciu TortoiseSVN 1.8.1. Kliknij prawym przyciskiem myszy na plikach i wybierz TortoiseSVN-> Dodaj. Następnie wybieram wszystkie pliki w oknie, które się pojawi i kliknij OK. Po kliknięciu przycisku OK pojawia się kolejne okno dialogowe i wszystkie pliki wydają się być pomyślnie dodane, ponieważ wyświetla się komunikat "Dodano" obok każdego pliku, a na końcu jest napisane "Ukończono!" na dnie. Klikam OK, a następnie prawym przyciskiem myszy na katalogu nadrzędnym i klikam "Zatwierdź". Wypełniam okienko wiadomości i upewniam się, że wszystkie dodane przeze mnie pliki są sprawdzane i wszystkie mówią "dodane" w "statusie". Na koniec klikam "OK". Pojawia się okno, jak zwykle, mówiąc "Nie wpisałeś numeru wydania", a ja kliknę "Kontynuuj bez numeru wydania". Następnego box wyskakuje, że ma linię z napisem „Dodawanie” z pliku, który próbuję dodać następuje:TortoiseSVN nie pozwoli mi dodawać żadnych plików

Error: Commit failed (details follow): 
Error: File '%Path to my file%' is 
Error: out of date 
Error: File '%File name%' already exists 
Error: You have to update your working copy first. 

pomyślnie zaktualizować kopię roboczą, która ma żadnych zmian. Wykonuję również pomyślne porządki. Próbowałem usunąć katalog nadrzędny i całkowicie usunąć folder podstawowy, a także ponownie sprawdzić folder podstawowy.

Sprawdzam repozytorium i nie ma tam pliku z nazwą pliku dodawanego pliku.

Wszystko powyższe było przez gui. Korzystając z wiersza poleceń, otrzymałem:

svn status: 
svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted 

svn cleanup 5.0.1: 
svn: E155009: Failed to run the WC DB work queue associated with '%PathToBaseRepoFolder%', work item 12841 (sync-file-flags 56 %Path to another file I was unable to add from the base repo folder%) 
svn: E720003: Can't set file '%Full path to the other file I was unable to add%' read-write: The system cannot find the path specified. 

Jeśli zrobię aktualizację i wyczyszczę z gui, oznacza to, że oba odnoszą sukces.

Używamy http: //

wierzę uprawnienia są poprawne.

+1

Co 'svn status' pokazać? I zrobiłeś aktualizację 'svn'. Dobrze? Nie ma konfliktów? Jakiego typu protokołu używasz na swoim serwerze? Czy jest to 'file: //', 'http: //' lub 'svn:'? Czy uprawnienia do plików w repozytorium na serwerze są poprawne? –

+0

Zobacz aktualizację mojego pytania. –

+0

Interesujący wpis z tym samym komunikatem o błędzie: http://svn.haxx.se/users/archive-2013-07/0125.shtml. Czy może to być związane z kodowaniem/językiem? Czy uruchomiłeś 'svn cleanup' z linii poleceń? –

Odpowiedz

9

Problem został zaktualizowany do wersji 1.8.1, która ma błąd. Ściągnąłem wersję 1.8.0 i działa dobrze.

+1

Miałem ten sam problem z TortoiseSVN 1.8.2 z niektórymi plikami (nie wszystkie pliki). Ponownie zainstalowałem TortoiseSVN 1.8.0 i teraz działa. – Ubikuity

+0

Ten problem nadal istnieje w wersji 1.8.3, dostał go podczas scalania z bagażnikiem, usunął bagażnik i sprawdził go ponownie, a następnie działał ponownie! – Peter

2

Okej, nie wiem, czy to może być problem. Wydaje mi się, że ten błąd występuje, gdy używa się rzadkich kas płatniczych . Możesz dostosować, jakie pliki widzisz podczas kasowania za pośrednictwem flagi --depth i aktualizacji za pomocą flagi --set-depth. Jeśli w przypadku niektórych plików pojawi się --set-depth=exclude, zobaczysz ten błąd, jeśli spróbujesz dodać plik.

Spróbuj tego z linii poleceń. Z katalogu ROOT Twojego katalogu roboczego:

$ svn cleanup 
$ svn update --set-depth=infinity 
$ svn status 

Upewnij się, że działają wszystkie trzy z tych poleceń. Następnie spróbuj zatwierdzić.

39

Happened to mnie para teraz wiele razy z TortoiseSVN 1.8.2 - 1.8.10. Znalazłem this blog post, który rozwiązał ten problem raz, dopóki nie pojawi się ponownie. Zirytowało mnie to tak bardzo, że napisałem szybki skrypt do pliku bat, który uruchamiam z pulpitu.

wstępne

  1. pobierania i rozpakowania narzędzie sqlite3 powłoki, npsqlite-shell-win32-x86-3080803.zip
  2. Regulacja ścieżki w poniższych poleceń, aby dopasować środowisko

Fix (ręcznego)

Uruchom ten jeśli chcesz po prostu sprawdzić, czy to pomaga

  1. W CMD do C:\Downloads\sqlite3.exe "C:\src\.svn\wc.db"
  2. Raz w powłoce powłoki sqlite delete from WORK_QUEUE;
  3. Run tortoisesvn oczyścić

Fix (automatyczną)

Jeśli poprzedni krok pracował dla ciebie, należy rozważyć automatyzację procesu z tych etapów

  1. przejdź do .svn folder, np. C: \ src \ .svn
  2. narzędzie sqlite3 powłoki Copy tam
  3. utworzyć plik w tym folderze
  4. kodu Wstawianie skryptów fix-svn.bat i dostosuj ścieżki

    "C:\src\.svn\sqlite3.exe" wc.db "delete from WORK_QUEUE" 
    "C:\Program Files\TortoiseSVN\bin\svn" cleanup "C:\src" 
    
  5. Zapisz plik bat i utwórz skrót do pulpitu

  6. Następnym razem, gdy trzeba to naprawić, po prostu uruchom skrót na pulpicie
+0

Jak wyjść/zakończyć z wiersza polecenia sqlite: '.exit' – malisokan

+1

przykro mi, że było to w odpowiedzi, ale formatowanie tekstu nie uczyniło tego zbyt widocznym. Teraz zaktualizowany. Zarówno '.quit', jak i' .exit' będą działać. – oleksii

+0

i napotkałem ten problem z klientem svn 1.8.10 po utworzeniu gałęzi funkcji z katalogu roboczego z lokalnymi zmianami, a następnie wykonując 'przełącznik svn' podczas próby rozwiązania powstałych konfliktów. Myślę, że zrobiłem gałąź funkcji z niewłaściwej wersji. –

2

Aktualizacja do release candidate rozwiązała problem dla mnie.

+0

Thx, rozwiązał to dla mnie. Link wydaje się być przestarzały. Aktualnego kandydata do wydania można znaleźć w następującym katalogu: http://nightlybuilds.tortoisesvn.net/1.8.x/x64/full/ – tea2code

0
sudo svn cleanup 

rozwiązać mój problem