Nie jestem pewien, co próbujesz zrobić: jeśli dodałeś plik przez
svn add myfile
powiedziałeś svn tylko, żeby umieścił ten plik w twoim repozytorium, kiedy wykonujesz następny commit . Nie ma żadnych zmian w repozytorium przed wpisaniem pliku
svn commit
Jeśli usuniesz plik przed zatwierdzeniem, umieść svn
go w swoich rekordach (ponieważ go dodałeś), ale nie możesz wysłać go do repozytorium, ponieważ plik już nie istnieje.
Więc albo chcesz zapisać plik w repozytorium, a następnie usunąć go z kopii roboczej: W tym przypadku spróbuj odzyskać plik (z kosza?), Wykonaj zatwierdzenie i następnie usuń plik za pomocą
svn delete myfile
svn commit
Jeśli chcesz cofnąć add
i po prostu wyrzucić plik, możesz utworzyć plik
svn revert myfile
co mówi svn
(w tym przypadku), aby cofnąć operację dodawania.
EDYTOWAĆ
Przepraszam, nie wiedziałem, że używasz klienta GUI „Wersje” dla Max OSX. Więc albo spróbuj powrócić do katalogu zawierającego za pomocą GUI lub wskocz do zimnej wody i odpal swoją ukrytą powłokę poleceń Maca :-) (nazywa się "Terminal" w niemieckim OSX, nie mam pojęcia jak wywołać to po angielsku wersja...)
svn rm
plik, nawet jeśli nie istnieje w katalogu.svn add *
Automatycznie dodaje wszystkie nowe, niewersjonowane akta,svn commit
natychmiast zapisuje te zmiany do repozytorium. Afaik nie ma równoważnej operacji do usunięcia, więc jeśli usuniesz pliki, musisz zadzwonićsvn rm
ręcznie.svn rm
nawet z--force
nie działa - mówidoes not exist
. Więcsvn revert
jest to właściwa rzecz do zrobienia tutaj.Miałem ten sam problem z wersjami wyświetlającymi ten sam komunikat. Po prostu kliknąłem szkodliwe pliki i wybrałem „Przywróć ...” z menu prawego przycisku myszy i wszystko poszło dobrze.
Zasadniczo wersja (a właściwie Subversion) uważa, że nadal chcesz dodać plik, ale nie może go znaleźć, ponieważ usunąłeś go w systemie plików. Opcja Przywróć mówi Subversion, aby zapomniał o dodaniu go.
źródło
Dodanie pliku, a następnie usunięcie go to rodzaj operacji, która jest uważana za błąd - o czym informuje SVN. Powiedziałeś mu, aby oczekiwał pewnych danych z pliku, a następnie nie podawał ich podczas zatwierdzania, czerwone światła migają, a syreny gasną!
Odpowiedzią jest cofnięcie dodania, alternatywnie zatwierdzenie pliku, a następnie użycie polecenia „svn rm”, aby usunąć go z systemu plików i repozytorium.
źródło
To rozwiązało mój podobny problem. Użyłem go do cofnięcia zmian, następnie dodałem wszystko i zatwierdziłem zmiany w terminalu za pomocą
źródło
Unikaj używania Xcode do zmiany nazw plików w odwołaniu do folderu. Jeśli zmienisz nazwę pliku za pomocą Xcode, zostanie on oznaczony do zatwierdzenia. Jeśli później usuniesz go przed zatwierdzeniem, skończysz z tym błędem.
źródło
Właśnie usunąłem plik z poziomu VS, a następnie z „Eksploratora repozytorium” skopiowałem plik do kopii roboczej.
źródło
Jeśli używasz TortoiseSVN…
W oknie zatwierdzenia w sekcji „Dokonane zmiany” możesz wybrać wszystkie pliki naruszające zasady, a następnie kliknąć prawym przyciskiem myszy i wybrać opcję Usuń. Zakończ zatwierdzanie, a pliki zostaną usunięte z zaplanowanych dodatków.
źródło