mark@mark-ubuntu:~/myproject$ svn stat
? runserver.sh
? media/images/icons
? apps/autocomplete
mark@mark-ubuntu:~/myproject$ svn add apps/autocomplete
svn: warning: 'apps/autocomplete' is already under version control
svn stat
sagt, es ist nicht unter Versionskontrolle, also versuche ich es hinzuzufügen, und dann sagt es mir, dass es ist. Wenn ich eine mache svn ci
, wird sie nicht festgelegt und wird nicht angezeigt, wenn ich versuche, online zum Repository zu navigieren.
Wie bringe ich es dazu, mich zu verpflichten?
svn add --force /path/to/file
oder wenn Sie das Verzeichnis rekursiv hinzufügen möchten :svn add --depth infinity --force /path/to/directory
.Antworten:
Kopieren Sie den problematischen Ordner in ein Sicherungsverzeichnis und entfernen Sie ihn aus Ihrem SVN-Arbeitsverzeichnis. Denken Sie daran, alle
.svn
versteckten Verzeichnisse aus dem kopierten Ordner zu löschen .Aktualisieren Sie jetzt Ihr Projekt, bereinigen Sie und schreiben Sie fest, was noch übrig ist. Verschieben Sie nun Ihren Ordner zurück in das Arbeitsverzeichnis, fügen Sie ihn hinzu und schreiben Sie ihn fest. Die meiste Zeit funktioniert diese Problemumgehung, es scheint, dass SVN im Grunde verwirrt war ...
Update: Zitatkommentar von @Mark :
quelle
.svn
Ordner löschen und dann svn-Hinzufügen funktionierte.Ich hatte ein ähnlich aussehendes Problem, nachdem ich einen Verzeichnisbaum hinzugefügt hatte, der .svn-Verzeichnisse enthielt (da es sich in seiner Quellumgebung um ein svn: external handelte): Der svn-Status sagte mir "?", Aber beim Versuch, es hinzuzufügen, war es "bereits" unter Versionskontrolle ".
Da keine anderen versionierten Verzeichnisse vorhanden waren, habe ich dies getan
die falschen .svn-Verzeichnisse zu entfernen; Danach konnte ich das neue Verzeichnis hinzufügen.
Hinweis :
quelle
... -exec echo {} \;
damit Ihr -exec-Schalter auch gut funktioniert.-type d
, dem Fund ein hinzuzufügen . Rufen Sie mich wählerisch an, bis Sierm -rf
etwas zu weit gehen. Anders als meine Nitpicks - ich denke, das ist die richtige Antwort.Eine Variation der Antwort von @ gauss256 , das Löschen
.svn
, hat bei mir funktioniert:Vor Gauß 'Lösung habe ich den Ansatz von @ jwir3 ausprobiert und keine Freude gehabt :
quelle
(1) Das ist mir gerade passiert und ich fand es interessant, wie es passiert ist. Grundsätzlich hatte ich den Ordner an einen neuen Speicherort kopiert und geändert, wobei ich vergessen hatte, dass er alle versteckten .svn-Verzeichnisse mit sich bringen würde. Sobald Sie erkennen, wie es passiert, ist es in Zukunft einfacher zu vermeiden.
(2) Das Entfernen der .svn-Verzeichnisse ist die Lösung, aber Sie müssen dies rekursiv im gesamten Verzeichnisbaum tun. Der einfachste Weg, dies zu tun, ist:
quelle
Haben Sie versucht, eine SVN-Bereinigung durchzuführen?
quelle
svn cleanup
und es half nicht.Suchen Sie nach einem Verzeichnis 'apps / autocomplete / .svn'. Bewegen Sie es an einen sicheren Ort (falls Sie es wiederherstellen müssen, weil dies nicht funktioniert hat) und prüfen Sie, ob das Problem dadurch behoben wird.
quelle
Ich habe eine Lösung gefunden, falls Sie Eclipse (Luna) mit dem SVN-Client JavaHL (JNI) 1.8.13 und Tortoise installiert haben :
Open Eclipse: Versuchen Sie zunächst, das Projekt- / Maven-Modul zur Versionskontrolle hinzuzufügen (Projekt -> Kontextmenü -> Team -> Zur Versionskontrolle hinzufügen).
Die folgende Eclipse-Fehlermeldung wird angezeigt:
org.apache.subversion.javahl.ClientException: Eintrag existiert bereits svn: 'PathToYouProject' steht bereits unter Versionskontrolle
Danach müssen Sie Ihr Arbeitsbereichsverzeichnis in Ihrem Explorer öffnen, Ihr Projekt auswählen und über Tortoise auflösen (Projekt -> Kontextmenü -> TortoiseSVN -> Auflösen).
Sie sehen den folgenden Meldungsdialog: " Dateiliste ist leer "
Drücken Sie auf Abbrechen und aktualisieren Sie das Projekt in Eclipse. Ihr Projekt sollte wieder unter Versionskontrolle stehen.
Leider ist es nicht möglich, mehrere Projekte gleichzeitig aufzulösen. Sie müssen nichts löschen, aber je nach Größe Ihres Projekts kann es etwas mühsam sein.
quelle
Für mich hat ein SVN-Update gefolgt von einem SVN-Commit funktioniert. In dem Ordner, der nicht hinzugefügt werden konnte, waren keine .svn-Ordner vorhanden.
quelle