CVS-Checkout "exportieren"

628
Christian Neverdal

Ich habe ein CVS-Repository ausgecheckt. Das ursprüngliche Repository existiert nicht mehr. Wäre es möglich, etwas Ähnliches wie "Exportieren" an der Kasse selbst auszuführen? Was ich am Ende möchte, ist die Menge aller Dateien, die aus der Kasse kamen, und die Dateien entfernen, die danach hinzugefügt wurden.

Beispiel: Ich checke superProject aus und bekomme

superProject/checkedoutFile1.txt superProject/checkedoutFile2.txt superProject/checkedoutFile3.txt
Und dann füge ich hinzu
superProject/someFile1.txt superProject/someFile2.txt superProject/someFile3.txt
und dann möchte ich alle Dateien entfernen, die nicht im ursprünglichen Checkout waren.

0

2 Antworten auf die Frage

3
Tobu

cvsuFührt ein Offline-CVS-Update durch, indem die Zeitstempel von Dateien auf der Festplatte mit den darin gespeicherten Zeitstempeln verglichen werden CVS/Entries. So können Sie feststellen, welche Dateien lokal geändert wurden und von denen nicht bekannt ist, dass sie unter CVS-Kontrolle stehen.

sudo aptitude install cvsutils cvsu --batch="tar cf export.tar " --types=AFGM 

Führen cvsu --helpSie den Befehl aus, um die unterstützten Befehlszeilenoptionen anzuzeigen. Diese Funktionalität wird von Perl bereitgestellt und kann von Computer zu Computer variieren.

Unter Windows unterstützt Cygwin es .

1
kdo

Habe gerade Ihren Kommentar notiert und meine Antwort entsprechend bearbeitet.

Meine erste Antwort war: einfach alle Verzeichnisse mit dem Namen "CVS" entfernen

Wenn den ausgecheckten Verzeichnissen mehr Material hinzugefügt wurde, sollten Sie natürlich eine andere Route wählen. CVS speichert seine Metadaten in einem CVSUnterverzeichnis in jedem ausgecheckten Verzeichnis. Die verschiedenen Dateien sind auf Seite 16 des Cederqvist- Handbuchs beschrieben.

In Ihrem Fall werden die interessanten Informationen in der EntriesDatei gespeichert, die zwei verschiedene Zeilenformate aufweist:

/filename/...other stuff... D/directory/...filler... 

Der erste für einfache Dateien, der zweite für Verzeichnisse. Es gibt keine bestimmte Reihenfolge.

Sie könnten ein Skript schreiben, das die Verzeichnisstruktur durchläuft und Verzeichnis- und Dateinamen aus diesen EntriesDateien extrahiert . Sie können diese Liste einspeisen cpio -pmdv target-dir, um eine Kopie Ihrer Verzeichnisstruktur zu erstellen, die genau die Dateien enthält, cvs exportdie erstellt worden wären.

ich hoffe das hilft

Es gibt auch andere Dateien, die der Kasse hinzugefügt werden. Christian Neverdal vor 13 Jahren 0