Löschen-Datei aus der Arbeitskopie aber nicht aus dem repository
Da konnte ich nicht finden die Antwort auf die obige Frage von überall im web, ich komme mit der Lösung selber. Es ist ein manueller Prozess, aber ich konnte nicht finden alle anderen standard-Lösung. Also hier ist es:
Angenommen, Sie möchten, um die Datei zu löschen test.txt aus dem Verzeichnis Arbeit. Wenn du nun löschen test.txt gewaltsam durch
rm -rf test.txt
Befehl dann auf der nächsten svn up auf die Arbeit dir (oder einer der übergeordneten Ordner), die Datei wird wiederhergestellt. Also der trick ist, löschen Sie es aus .svn/entries - Datei, wie gut. So ist die vollständige Sequenz der Befehle für das löschen test.txt nur von der Arbeit kopieren ist:
cd work
rm -rf test.txt
svn st #it shows ! sign beside test.txt which means that
#in the next **svn up** it will be restored
chmod u+w .svn/entries
vi .svn/entries
#delete the lines associated with test.txt
#you need to delete the following 3 lines from .svn/entries
#test.txt
#file
#^L
svn st #it doesn't report test.txt anymore
- Das funktioniert nur für die Kasse, die Sie haben. Wenn Sie check this out wieder in einen anderen Ordner, Kasse enthalten wird, die Datei und den dazugehörenden Metadaten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
lallafa Berichte eine gute Methode, basierend auf etwas namens Dünn besetzten Verzeichnisse:
nicht gut, wenn:
svn 1.6
diese Methode Tuks 1 Stunden, aber aufsvn 1.7
es dauerte mehr als 50 Stunden. Dies war in 2011.Hinzugefügt von Quelle:
wenn Sie später verwenden möchten, das Verzeichnis wieder, die Sie tun können,
Ich wünschte, ich wüsste, wie kann ich die Liste der Verzeichnisse, die bereits "ausgeschlossen" auf diese Weise, weil
st
zeigen nicht Sie. 😀andere Methode aus dieselbe Quelle, die von jemandem namens "Mike5' (oder jed/jeds), dass die arbeiten an Verzeichnisse:
für jedes Verzeichnis, das Sie wollen, um zu verhindern, aktualisieren, tun
some_folder
mit dem Ordner, den Sie möchten, zu ignorieren.http://dummy/exists/but/empty_folder
mit einem bestehenden Pfad im repository ist ein leeres Verzeichnis, werden nie aktualisiert oder gelöscht - angeblich erstellt und speziell für diesen Zweck.Dadurch erreichen Sie:
Werden Sie nicht erreichen:
--depth
, erste, dies zu tun, und dann weiter die Kasse (noch nicht getestet).Es ist auch eine gute Idee zu verwenden
svn propset svn:ignore "*" empty_folder
auf dem dedizierten leeres Verzeichnis, so kann niemand verpflichten, etwas zu es.svn info
. Ich sehe keinen Weg, um eine Liste der ausgeschlossenen Verzeichnisse, aber.Es sollte so einfach wie: