Frage

Ich habe eine Verzeichnisstruktur in svn wie folgt aus:

  • Projekt A
    • Zweige
    • Tags
    • Stamm
  • Projekt B
    • Zweige
    • Tags
    • Stamm

...

Ich möchte nur Stamm-Verzeichnisse für alle diese Projekte zur Kasse. Es gibt etwa 400 diese Art von Projekten so Stamm manuell Auschecken wird eine Option nicht sein.

Meine erste Vermutung wäre svn Liste zu verwenden, aber meine Shell-Scripting Fähigkeiten sind nicht auf dem gleichen Niveau, und ich bin sicher, wie die entsprechenden Verzeichnisse erstellen und Anfügen ‚Stamm‘ und eine Kasse tun.

Wer bereit, mich in der richtigen Richtung zeigen?

TL: DR;

  • svn list erzeugt so etwas wie 'project_a'.
  • Ich möchte Kasse 'project_a / trunk' in 'project_a'.
War es hilfreich?

Lösung

Sie können speichern Sie die Liste von Projekten in einer Datei (projects_list), dann dieses Skript ausführen:

for p in $(cat projects_list); do
    mkdir $p
    svn co "$url/$p/trunk" $p
done

Andere Tipps

Hier ist ein Weg, es zu tun, indem die Tiefe Flagge mit:

echo Getting Projects the folder structure
svn co http://www.therepo.com/projectsParentFolder --depth immediates

echo Getting the structure for each Project
for /f %%f in ('dir /b .\projectsParentFolder') do svn co http://www.therepo.com/projectsParentFolder/%%f .\projectsParentFolder\%%f --depth immediates

echo Getting the trunk for each Project
for /f %%f in ('dir /b .\projectsParentFolder') do svn co http://www.therepo.com/projectsParentFolder/%%f/trunk .\projectsParentFolder\%%f\trunk --depth infinity
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top