Como eu adiciono uma ramificação descendente criada pelo SVN no git-svn?

1

Eu tenho dois ramos rastreados em um repositório Git do SVN. A ramificação B foi criada em r6 no SVN copiando a r5 da Ramificação A. Quando adicionei a Ramificação B ao git-svn, ela só rastreia de volta para a r6. Eu esperava que ele ligasse o commit do Git do r6 no Branch B ao commit do Git do r5 no Branch A.

Eu tentei git rebase $(git svn find-rev r6 git-svn-BranchA) master-BranchB , mas não funcionou para mim neste cenário, uma vez que quebra as tentativas git svn rebase subseqüentes. Ele acha que precisa mesclar e parece que está tentando rebase de git-svn-BranchA em vez de git-svn-BranchB.

Como eu adiciono um ramo descendente criado pelo SVN no git-svn?

    
por Alain O'Dea 09.02.2011 / 20:46

1 resposta

0

Através de hacking e re-hacking eu tive um avanço:)

  1. Rebase o remote para o ponto de ramificação no SVN:

    git rebase $(git svn find-rev r5 git-svn-BranchA) git-svn-BranchB
    
  2. Reescreva diretamente o SHA do controle remoto git-svn para o ramo B:

    git rev-parse HEAD > .git/refs/remotes/git-svn-BranchB
    
  3. Exclua o ramo de rastreamento BranchB do SVN:

    git branch -D BranchB
    
  4. Obtenha uma nova ramificação de rastreamento para BranchB do SVN:

    git checkout -b BranchB git-svn-BranchB
    
  5. Reconstrua as informações de rastreamento:

    git svn rebase
    

    Você deve ver a saída como:

    Partial-rebuilding .git/svn/refs/remotes/git-svn-BranchB/.rev_map.########-####-####-####-############ ...
    Currently at 9 = ########################################
    r6 = ########################################
    r7 = ########################################
    r8 = ########################################
    r9 = ########################################
    Done rebuilding .git/svn/refs/remotes/git-svn-BranchB/.rev_map.########-####-####-####-############
    Current branch BranchB is up to date.
    

Eu realmente espero que alguém tenha uma versão muito menos feia do segundo passo. Parece um truque grotesco para mim.

    
por 10.02.2011 / 20:20

Tags