eine Datei aus dem SVN zu entfernen, ohne es lokal nirgends zu löschen ist ein häufiges Problem. Ein prominentes Beispiel ist die Datei .classpath in einem Eclipse-Projekt. Diese Konfigurationsdatei unter SVN zu speichern ist wunderbar, solange alle Maschinen, die im Projekt verwendet werden, dieselbe Eclipse- und Java-Installation haben. Sobald diese Bedingung verletzt ist, beginnen die Commits, andere Eclipse-Projekte zu unterbrechen. Dies ist der Punkt, an dem man eine Datei aus dem SVN entfernen muss, ohne sie irgendwo zu löschen.
svn rm --keep-local .classpath
erledigt den Job perfekt auf einer Maschine und zu diesem Zeitpunkt.
Problem ist, andere Maschinen, die Datei (auf Update) verlieren oder es wieder aufleben lassen (auf begehen). SVN des Fehler ist weder --keep-local
im Repository zu behandeln, noch an anderen Arbeitskopien zu verbreiten. Daher muss auf allen anderen oben genannten Maschinen der Befehl — am besten vor jedem Commit oder Update ausgeführt werden.
dies am besten, natürlich, wird 90% arbeiten, an. Löschungen und Neu-Versionen werden plötzlich passieren. Meine Lösung ist jede Maschine zu haben, ich habe direkten oder indirekten Zugang zu tun
svn rm --keep-local .classpath
copy .classpath .classpath-nameOfTheMachine
svn add .classpath-nameOfTheMachine
Dies ist so geradezu hässlich kaum eine „Lösung“ genannt zu werden. Trotzdem erlaubte es immer schnelle Reparaturen von späteren Unfällen.
mögliches Duplikat von [SVN Datei aus dem Repository entfernen, ohne lokale Kopie zu löschen] (http://stackoverflow.com/questions/542065/svn-remove-file-from-repository-without-deleting-local-copy) – Shai