Existe alguma equivalência de '--depth immediates' em 'git'?

1

Atualmente, estou tentando configurar git front-end para o repositório Subversion.

Meu repositório Subversion é um único repositório grande que consiste em vários projetos correlatos:

svn-root
  |-- project1
  |   |-- branches
  |   |-- tags
  |   '-- trunk
  |-- project2
  |   |-- branches
  |   |-- tags
  |   '-- trunk
  '-- project3
      |-- branches
      |-- tags
      '-- trunk

Como às vezes é necessário mover arquivos entre projetos diferentes, não quero dividir o repositório entre os separados.

Vou usar git-svn para configurar um front-end do git, mas não vejo como mapear exatamente a estrutura svn to git. Os dois sistemas tratam branches e tags muito diferentes e duvido que seja possível.

Para simplificar o problema, eu apenas git svn clone o diretório raiz inteiro e deixo os diretórios branches/tags/trunk ficarem lá. Mas isso definitivamente resultará em muitos arquivos nos diretórios branches e tags . No Subversion, é fácil apenas definir a profundidade do checkout para immediates , que só irá verificar os títulos das ramificações / tags, sem o conteúdo do diretório. mas não sei se isso pode ser feito em git .

O git-svn me confundiu. Espero que haja uma solução mais elegante.

    
por Xiè Jìléi 03.01.2011 / 08:11

2 respostas

0

Realmente não há uma boa maneira de fazer isso. O Git não suporta checkouts parciais. Então, você mantém tudo em um repositório e verifica tudo de uma vez, ou usa submodules e mantém o arquivo em movimento no mínimo. Veja também link no último ponto.

    
por 03.01.2011 / 09:14
1

Você não precisa fazer o checkout de todo o histórico. A seguinte declaração só verifica as alterações mais recentes:

git clone --depth 1 [email protected]:project

Esse check-out NÃO é bom para edição e check-in, mas é ótimo para compartilhar a base de código atual ou para a implantação na produção, etc.

    
por 04.01.2011 / 14:48

Tags