Pergunta

Eu tenho um repositório Subversion antigo, mas muito importante para que eu não tenha criado forma a iniciar a estrutura habitual: tronco, galhos, tags. Assim, todos os meus arquivos para este repositório está residindo na raiz.

Eu sei como criar as novas pastas e mover todos os meus arquivos no tronco, mas se eu fizer isso eu vou perder a história de meu projeto de 3 anos, uma vez que 'tronco' é uma nova pasta. Então, há uma solução para mover a história inteira do meu projecto de raiz para a pasta tronco?

Obrigado!

Foi útil?

Solução

Sim. Você pode usar svnadmin dump que irá despejar o repositório juntamente com a história em um arquivo. Você pode então usar svnadmin load para carregar o arquivo de despejo para a pasta tronco. Uma vez feito isso, excluir os arquivos da raiz.

svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
svnadmin load REPOS_PATH

Dump Doc: http://svnbook.red-bean.com/ en / 1,1 / re31.html Carga Doc: http://svnbook.red-bean.com/en/1.0 /re36.html

Outras dicas

Você pode usar

svn copy http://my.server/svn/repos/ http://my.server/svn/repos/trunk/ \
     -m "Copied"

Para criar uma cópia de sua raiz do repositório (^ /) para trunk / (^ / trunk), mantendo toda a sua história, incluindo a do diretório raiz.

Depois que você pode remover os arquivos e subdiretórios no antigo local no próximo commit.

Você vai a história não solta se você usar svn mv os arquivos. A história será mantida. Então, você poderia usar o tronco -Pai-dir carga svnadmin para refazer seu repositório, mas você precisa fazer checkouts frescas de tudo, desde que você deve ter um novo UUID no novo repositório.

svn co http://example.com/repos/
cd repos
svn mkdir trunk tags branches
svn mv a trunk/a
svn mv b trunk/b
svn ci -m 'Moving project into trunk'

Não é uma solução ideal é certo, mas por que não criar um novo repositório de toda cujo conteúdo é todo o código do repositório antigo, mas bem formatado no tronco etc. manter o repositório antigo completamente separados, mas tornando-se somente leitura.

Isto é certo que ser uma dor de ter de lembrar que antes da data X, você precisa olhar no repositório antigo em vez do novo, se você precisa saber a história de um item.

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