Domanda

Ho un repository configurata in questo modo:

+---CollectionA
|   \---project1
|       \---trunk
|           \---sourcecode
|       \---tags
|           \---rel-1
|   \---project2
|       \---trunk
|           \---sourcecode
|       \---tags
|   \---project3
|       \---trunk
|           \---sourcecode
|       \---tags
|           \---rel-1

Mi piacerebbe checkout qualsiasi progetto etichettato rel-1 come quel progetto. In questo caso mi piacerebbe avere project1 e project3 nel mio lavoro, ma non project2.

Tutti projectN sono progetti Eclipse Java.

Sto usando Eclipse / sovversiva, ma sono aperto a utilizzare tartaruga o la riga di comando (Windows) Se ho bisogno di.

Modifica : Attualmente, per fare questo, dovrò passare attraverso i miei 30 alcuni progetti e checkout ogni singola variabile. C'è un modo per farlo senza passare per ogni singolo progetto?

È stato utile?

Soluzione

Penso che sarà necessario scrivere uno script di riga di comando al fine di fare questo. Non c'è modo che conosco per fare questo usando un IDE integrato Tortoise o / strumento SVN poiché questa è una non comune (nella mia esperienza) tipo di operazione di checkout.

Si può chiedere svn sulla riga di comando se una directory esiste utilizzando l'elenco svn di comando.

Poi si potrebbe controllare l'uscita (forse restituisce un valore diverso da zero se la directory non viene trovato, o si potrebbe analizzare il flusso di output) per determinare se esiste il tag. Aggiungere i progetti che contengono il tag a un elenco, poi checkout quei progetti.

Qualcosa di simile a questo:

For each project in myProjects:
   exec "svn list " myRepositoryPath + "/" + myProject + "/tags/directory"

Altri suggerimenti

Usiamo lo scripting per raggiungere l'efficienza che stai cercando. Creare uno script cassa generico che guarda ad un secondo file manifest che contiene i tag / rami / nomi del tronco che si desidera alla cassa per ogni modulo.

Ho giocato con l'idea di creare un modulo che contiene le directory "progetto" con persone esterne alle specifiche tag / rami / tronchi di combinazione dei moduli dei progetti ma non ho mai ottenuto intorno a farlo.

Se avete intenzione di fare questo molto, si potrebbe creare un'altra directory nel repository, e dargli la proprietà svn:externals. Elencare tutti i progetti rilevanti come gli esterni. Poi, quando si estrae la nuova directory, si otterrà tutti i progetti controllato all'interno di esso.

Per completare le risposte precedenti, si potrebbe utente gli script per creare un file di progetto Set Eclipse squadra, di importare direttamente tutti i progetti in una sola volta. Impossibile trovare un riferimento directe al "formato di file FPF", ma si otterrà l'idea con questo esempio e controllando l'aiuto di Eclipse.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top