Git para SVN de forma manual

Tem esse projeto que eu comecei usando o Git, mas tenho que entregar em um SVN.

Daí para não bagunçar o checkout que fiz do SVN resolvi continuar usando o Git e copiar os arquivos para o diretório onde está o checkout do SVN.

Para saber quais arquivos tenho que copiar uso o

git diff <id_do_commit_que_ainda_não_copiei> --name-only

Para copiar os arquivos listados eu uso o xargs* com cp.

xargs -I {} cp {} ../projeto_no_svn/{}

Assim, para cada arquivo listado pelo git diff, o xargs vai executar um comando:

cp diretorio/arquivo.algumacoisa ../projeto_no_svn/diretorio/arquivo.algumacoisa

O comando completo fica:

git diff <id_do_commit_que_ainda_não_copiei> --name-only | xargs -I {} cp {} ../projeto_no_svn/{}

* Fonte: http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s