0 Reaktionen

SVN Arbeitskopie: Dateien anzeigen und hinzufügen, die nicht unter Versionskontrolle stehen

Geschätzte Lesedauer:

Nachdem ich an dieser Stelle vor ein paar Tagen erklärt hatte, wie mit einfachen Shell Befehlen der Abgleich mehrerer Arbeitskopien erfolgen kann, zeige ich nun einen kleinen, aber hilfreichen Befehl um zu sehen, welche Dateien in der Arbeitskopie vorhanden, aber noch nicht in das SVN Repository eingefügt wurden.
Ein einfacher svn commit Befehl ignoriert diese Dateien, so dass es schon einmal vorkommen kann, dass ein paar dieser Dateien vergessen werden.

Mit dem Befehl svn status -u kann man alle Dateien und Verzeichnisse anzeigen lassen, die lokal geändert oder hinzugefügt wurden, also nicht dem Stand des Repositories entsprechen.
Der Parameter -u bewirkt dabei, dass beim Server der aktuelle Stand abgefragt wird und nicht nur der lokale Stand berücksichtigt wird.

?       module.xml.orig
?       data
?       pxfw.core.pxl
?       testing
M       module.xml
A       page_log.log

Die „nicht versionierten“ Dateien sind mit einem ? – für unbekannt – gekennzeichnet. Wir möchten nur diese Dateien anzeigen und gleichzeitig den ganzen Anzeigewust davor ausblenden.

[pastacode lang=“bash“ message=“Kommandozeile“ highlight=““ provider=“manual“]

svn status -u | grep '^?' | sed -r 's/^\?\s*(.*?)$/\1/g'

[/pastacode]

Dies ändert die Ausgabe von zuvor in

module.xml.orig
data
testing
pxfw.core.pxl

Genau das wollen wir haben. Wenn wir nun automatisch all diese Dateien zum Subversion Repository hinzufügen möchten, reicht ein einfacher Befehl

[pastacode lang=“bash“ message=“Kommandozeile“ highlight=““ provider=“manual“]

svn status -u | grep '^?' | sed -r 's/^\?\s*(.*?)$/\1/g' | xargs svn add

[/pastacode]

Dieser Artikel wurde von Marius Burkard verfasst.

Marius Burkard ist Diplom-Wirtschaftsinformatiker und arbeitet seit 2006 als selbstständiger Software-Entwickler und Linux-Server-Administrator mit der Firma pixcept KG. Er ist unter anderem mitverantwortlich für die Projekte Was-lese-ich.de und ISPProtect.

Und jetzt du! Deine Meinung?

Erforderliche Felder sind mit einem Asterisk (*) gekennzeichnet. Die E-Mail-Adresse wird nicht veröffentlicht.
  1. Nach Absenden des Kommentar-Formulars erfolgt eine Verarbeitung der von Ihnen eingegebenen personenbezogenen Daten durch den datenschutzrechtlich Verantwortlichen zum Zweck der Bearbeitung Ihrer Anfrage auf Grundlage Ihrer durch das Absenden des Formulars erteilten Einwilligung.
    Weitere Informationen