Wenn ich 20 Verzeichnisse unter Trunk / mit vielen Dateien in jedem hätte und nur 3 dieser Verzeichnisse benötige, wäre es dann möglich, eine Subversion-Prüfung mit nur diesen 3 Verzeichnissen unter Trunk durchzuführen?
svn
sparse-checkout
Schreibgeschützt
quelle
quelle
Antworten:
Subversion 1.5 führt spärliche Kassen ein, die möglicherweise nützlich sind. Aus der Dokumentation :
quelle
Dank der Kommentare zu meinem Beitrag hier sieht es tatsächlich so aus, als wären spärliche Verzeichnisse der richtige Weg. Ich glaube, das sollte es tun:
Alternativ
--depth immediates
stattempty
checkt Dateien und Verzeichnisse intrunk/proj
ohne deren Inhalte. Auf diese Weise können Sie sehen, welche Verzeichnisse im Repository vorhanden sind.Wie in der Antwort von @ zigdon erwähnt, können Sie auch eine nicht rekursive Prüfung durchführen. Dies ist ein älterer und weniger flexibler Weg, um einen ähnlichen Effekt zu erzielen:
quelle
Skipped 'prom/foo'
nachsvn update --set-depth infinity proj/foo
:(svn update --set-depth immediates proj
, damit proj / foo für die Aktualisierung erstellt wird.Oder führen Sie eine nicht rekursive Prüfung von / trunk durch und führen Sie dann einfach eine manuelle Aktualisierung der 3 benötigten Verzeichnisse durch.
quelle
Ich habe ein Skript geschrieben, um komplexe, spärliche Kassen zu automatisieren.
quelle
Wenn Sie bereits über die vollständige lokale Kopie verfügen, können Sie unerwünschte Unterordner mithilfe des
--set-depth
Befehls entfernen .Siehe: http://blogs.collab.net/subversion/sparse-directories-now-with-exclusion
Der
set-depth
Befehl unterstützt Multipile-Pfade.Durch das Aktualisieren der lokalen Stammkopie wird die Tiefe des geänderten Ordners nicht geändert.
Sie können den Ordner mit dem Parameter
--set-depth
infinity erneut verwenden, um das rekusive Auschecken des Ordners wiederherzustellen.quelle
Art von. Wie Bobby sagt:
wird die Ordner erhalten, aber Sie werden separate Ordner aus einer Subversion-Perspektive erhalten. Sie müssen für jeden Unterordner separate Commits und Updates durchführen.
Ich glaube nicht, dass Sie einen Teilbaum auschecken und dann mit dem Teilbaum als eine Einheit arbeiten können.
quelle
Nicht besonders nützlich, nein. Sie können Teilbäume auschecken (wie in Bobby Jacks Vorschlag), aber dann verlieren Sie die Fähigkeit, sie atomar zu aktualisieren / festzuschreiben. Dazu müssen sie unter ihrem gemeinsamen Elternteil platziert werden. Sobald Sie das gemeinsame Elternteil auschecken, laden Sie alles unter diesem gemeinsamen Elternteil herunter. Nicht rekursiv ist keine gute Option, da Updates und Commits rekursiv sein sollen.
quelle