SVN: 2 Ordner mergen



  • Hi,

    ich habe (unter Linux) 2 Ordner A und B. B ist eine Working Copy, A jedoch nicht (ist also nicht im svn).

    Ich muss jetzt B mittels A updaten. Da kann es ja mehrere Faelle geben: Wenn es in A eine neue Datei gibt, die es in B noch nicht gibt, muss ich nach dem kopieren ein svn add machen. Ist in A hingegen eine Datei geloescht worden, muss ich in B ein svn delete machen usw.

    Die Frage: Bietet mir SVN irgendwelche Hilfen an um die Arbeit zu automatisieren? Oder muss ich das mergen alles manuell per Scripts machen?



  • Ab SVN 1.7 gibt es ja nur mehr ein einziges grosses .svn Verzeichnis pro Working-Copy, nicht mehr eins pro Unterverzeichnis.

    Dadurch kannst du die Working-Copy B komplett ausleeren (ausgenommen des einen .svn Ordners natürlich), und den Inhalt von A hineinkopieren.

    Dann kannst du dir von SVN den Working-Copy Status holen. Dann müsstest du noch per Skript für alle "missing" Dateien und Verzeichnisse ein "svn delete" ausführen, und für alle "unversioned" Dateien und Verzeichnisse ein "svn add".

    Fertiges Programm was dir das abnimmt kenne ich aber keines.

    Unter Windows kann man den letzten Schritt mit ein paar Klicks mit TortoiseSVN machen. Ist dann zwar nicht vollautomatisch, aber man muss auch nichtmal ein Skript dafür schreiben.
    ("Show changes" -> nach Status sortieren -> alle "missing" Dateien/Verzeichnisse markieren (die dann ja "am Stück" stehen) -> rechtsklick und "delete" auswählen -- dann analog für die "unversioned" Dateien/Verzeichnisse)

    Vielleicht kann man das so ähnlich auch mit einem grafischen Linux SVN Client machen.


Anmelden zum Antworten