git & svn externals - uma solução final ainda?

este é o fluxo de trabalho que atualmente uso para meus projetos svn (eu nunca uso ramos svn, e alguns projetos também são ativamente trabalhados por outras pessoas):

no servidor, faça o inicialgit svn fetch o que pode levar horas. Crie também uma ramificação 'build'.em uma máquina de desenvolvimento, a clonagem agora é rápida:git clone srv://project.git, git checkout build Seguido porgit update-refs ..., git svn fetch restaurar o link para o repositório svntrabalho, confirmação, trabalho confirmação, ...para verificar se as coisas estão bem,git push build para o servidor e acionar uma compilação no Hudson para essa ramificaçãopara armazenar o trabalho para que eu possa trabalhar nele a partir de outra máquina, também empurre build branchquando satisfeito, junte-se a commits juntos em etapas lógicas (por exemplo, uma para cada bug), comprometa-se com svn e redefina tudo comogit checkout master, git merge build, git svn dcommit, git push, git checkout build, git rebase master, git push build

Digite svn externals. Eu tentei todos os scriptsaqui já, mas todos eles falham. Meus externos estão configurados assim:

/path/to/x x
/path/to/y/z y/z
/path/to/a/b.file a/b.file

e os scripts fazem coisas como tentar criar/path/to/x na raiz do sistema de arquivos egit svn fetch /path/to/x. Além disso, os arquivos únicos parecem causar mais problemas. (subquestão 1: qual é o formato svn: externals para o qual esses scripts foram escritos?)

Não parece difícil modificar um dos scripts para lidar com a minha situação e replicar a estrutura de diretórios que estou procurando corretamente, mas resta um grande problema: se eu alterar um arquivo em x e y / z diretórios, não vejo uma maneira de juntar isso em um único svn commit e essa é uma das razões pelas quais comecei a usar o git em primeiro lugar.

Daí a pergunta: existe uma maneira de replicar o fluxo de trabalho acima, usando apenas partes de um determinado repositório svn, de maneira que eu possa executar o svn dcommit na raiz? Eu preferiria uma solução pronta para uso que funcione no linux e no windows.

editar Eu rapidamente invadi um dos scripts que encontrei e o fiz replicar a estrutura de diretórios dos svn externals. Eu não posso clonar arquivos únicos, porém, aqui está a saída:

git svn clone -r HEAD srv://svn/repo/path/to/projects.sln
Initialized empty Git repository in xxx/projects.sln/.git/
Invalid filesystem path syntax: REPORT request failed on '/svn/repo/!svn/vcc/default':
  Cannot replace a directory from within at yyy/git/libexec/git-core/git-svn line 5114

subquestão 2: não é possível buscar um único arquivo através do git svn?

questionAnswers(2)

yourAnswerToTheQuestion