Pergunta

Eu tenho um repositório configurado assim:

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

Eu gostaria de verificar qualquer projeto marcado rel-1 como esse projeto. Nesse caso, eu conseguiria project1 e project3 no meu espaço de trabalho, mas não project2.

Tudo projectN são os projetos Java Eclipse.

Estou usando o eclipse/subversivo, mas estou aberto a usar a tartaruga ou a linha de comando (Windows), se necessário.

Editar: Atualmente, para fazer isso, terei que passar por meus 30 projetos e fazer o check-out de cada tag individualmente. Existe uma maneira de fazer isso sem passar por cada projeto individualmente?

Foi útil?

Solução

Eu acho que você precisará escrever um script de linha de comando para fazer isso. Não há como eu conhecer isso usando a tartaruga ou uma ferramenta IDE/SVN integrada, já que esse é um tipo de operação incomum (na minha experiência).

Você pode perguntar ao SVN na linha de comando sobre se existe um diretório usando o Lista SVN comando.

Em seguida, você pode verificar a saída (talvez ele retorne um valor diferente de zero se o diretório não for encontrado, ou você pode analisar o fluxo de saída) para determinar se a tag existe. Adicione os projetos que contêm a etiqueta a uma lista e, em seguida, consulte esses projetos.

Algo assim:

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

Outras dicas

Usamos scripts para alcançar a eficiência que você está procurando. Crie um script de check -out genérico que procure um segundo arquivo de manifesto que contém os nomes de tags/ramificações/troncos que você deseja fazer o checkout de cada módulo.

Eu brinquei com a idéia de criar um módulo que contém diretórios de "projeto" com externos para as tags/ramificações/troncos específicos da combinação de módulos dos projetos, mas nunca consegui fazer isso.

Se você vai fazer muito isso, poderá criar outro diretório em seu repositório e dar o svn:externals propriedade. Liste todos os projetos relevantes como externos. Então, quando você conferir o novo diretório, você fará todos os projetos que checam dentro dele.

Para complementar as respostas anteriores, você pode usar os scripts para criar um arquivo de conjunto de projetos da equipe Eclipse, para importar diretamente todos os projetos de uma só vez. Não foi possível encontrar uma referência direta ao "formato de arquivo psf", mas você terá a ideia com este exemplo e verificando a ajuda do eclipse.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top