svn commit fehlende Datei automatisch
Ich möchte eine Batchdatei schreiben, die können auto-commit fehlende Datei rekursiv.
wie schreibt die batch-Befehl?
bitte hilft.
- Was ist eine fehlende Datei? Etwas von einem anderen Zweig, wo würden Sie
merge
? Etwas, das noch nicht begangen worden sind, wo würden Sieadd
? Welche ist es? - Das verlinkte Bild zeigt die Dateien, die ich löschen von lokalen, aber ich will mich verpflichten, es zu SVN durch Befehl Linie. badongo.com/pic/11740167
- die fehlenden Dateien sind, sind diejenigen, die gelöscht wurden, lokal aber nicht mit SVN delete. @Arst: sind Sie auf der Suche nach einem Skript, das SVN zu löschen und dann SVN commit werden alle fehlenden Dateien? Konnte, Sie nicht mit SVN delete-Dateien anstelle von lokal zu löschen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den folgenden batch-Skript sollte mit SVN delete und commit alle Dateien markiert als fehlende (d.h. gelöscht, die lokal, aber nicht mit dem Befehl SVN delete):
Fehlenden Dateien angezeigt, die sich durch
svn status
mit dem Charakter!
zum Beispiel:Dieses Skript nutzt dann findstr heraus zu filtern, änderungen andere als die fehlenden Dateien. Diese Liste der fehlenden Dateien werden dann in eine Datei geschrieben,
missing.list
.Nächste, Durchlaufen wir diese Datei mit
tokens=2 delims=
zu entfernen, die!
aus den Zeilen in die Datei, indem Sie uns mit (hoffentlich) nur den Dateinamen. Einmal haben wir das mit dem Namen, geben wir es ansvn delete
und dannsvn commit
. Fühlen Sie sich frei ändern Sie den Inhalt der Nachricht.Bitte beachten Sie, dass ich nicht getestet dieses Skript. Insbesondere, ich weiß nicht, was passiert, wenn eine der Dateien, die Sie wollen, zu Begehen, hat ein Leerzeichen im Pfad, oder was passiert, wenn Sie Begegnung ein Konflikt Teil des Weges durch. Ist es vielleicht besser zu ersetzen
svn delete
undsvn commit
mitecho svn delete
undecho svn commit
, so dass Sie sehen können, was dieses Skript ist zu tun, bevor Sie lassen Sie es Locker auf Ihrem repository.for
- Schleife für die Ausgabe von einem Befehl. Ich glaube mich zu erinnern versuchte zu erreichen, bevor. Das ist, warum ich schrieb, die Ausgabe der Zeile vor derfor
Schleife in eine Datei. Wenn Sie nicht möchten, dass diemissing.list
- Datei bleibt hängen herum, Sie können immer hinzufügendel missing.list
an das Ende der batch-script.svn st ^| findstr /R "^!"
) tun, svn del "%i"for
- Schleife für die Ausgabe von einem Befehl. Sieht aus wie Ihre batch-fu ist besser als meine 🙂Verwenden
svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' )
Sehen http://geryit.com/blog/2011/03/command-line-subversion-practices/ weitere Befehlszeile subversion
führen Sie einfach die folgenden Befehle in der Wurzel Ihrer Arbeitskopie:
Machte ich etwas ändern für meine Arbeit..
dann
Es funktioniert für mich. Danke.
Arst,
ist fast richtig, aber Sie vergessen haben, wickeln Sie den in Klammern gesetzten Befehle mit back ticks:
Danke für die knappe Befehl, in jedem Fall.