Subversion status liste

Kommentieren Dec 14 2007

 

Der Befehl svn st gibt eine schöne Überisicht über die Änderungen in seiner Arbeitskopie.

Nun kommt man bestimmt zu einem Punkt bei dem man ein Verzeichnis gelöscht oder Dateien umbenannt hat an. Hat man dies nicht mit dem jeweiligen svn Befehl getan, sonder über die Dateiverwaltung dann wird sich svn beschweren und man hat viel Handarbeit vor sich.

Nennt man also viele Dateien um ohne svn mv *datei* zu benutzen beschwert sich svn, dass die Datei fehlt und eine neue Datei vorhanden ist.
Ist ja auch in Ordnung. Sind das aber nun viele Dateien hat man das Problem diese aus der Liste von svn st auszusortieren.

Hier kommen die Fähigkeiten der Linux Konsole ins Spiel:

for fil in `svn st | grep \!`; do f="$(exec echo $fil | sed 's/\!//')"; echo $f; svn rm $f; done;


Soll heisen, mach ein svn st, suche mir nur die raus die Fehlen (!) und mache ein svn rm auf diese Dateien.

Das Selbe kann man auch mit neuen Dateien machen:

for fil in `svn st | grep \?`; do f="$(exec echo $fil | sed 's/\?//')"; echo $f; svn add $f; done;



Diese Variante ist nicht genz perfeckt, denn es kommt Leerzeilen dabei zurück und der svn Befehl wirft eine Warnun aber ansonsten geht das durch.


Wenn jemand eine bessere Lösung zur Hand, bitte einfach als Kommentar.

Banana out !