Domanda

ho una struttura di directory in svn in questo modo:

  • Progetto A
    • rami
    • tronco
  • Progetto B
    • rami
    • tronco

...

Voglio cassa solo le directory tronco per tutti questi progetti. Ci sono circa 400 di questo tipo di progetti, in modo check-out tronco manualmente non sarà un'opzione.

La mia prima risposta sarebbe quella di utilizzare la lista svn, ma il mio guscio capacità di scripting non sono alla pari e sono sicuro come creare le directory appropriate e aggiungere 'tronco' e fare un checkout.

Chiunque voglia mi punto nella giusta direzione?

TL: DR;

  • Elenco svn produce qualcosa come 'project_a'.
  • Voglio cassa 'project_a / trunk' in 'project_a'.
È stato utile?

Soluzione

È possibile memorizzare l'elenco dei progetti in un file (projects_list), quindi eseguire questo script:

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

Altri suggerimenti

Ecco un modo per farlo utilizzando il flag profondità:

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top