O plugin hg-bzr é possível?

0

Eu me pergunto por que não há nenhum plugin do Mercurial para trabalhar com o Launchpad / Bazaar da Mercurial? Existe alguma limitação técnica que torne impossível usar o armazenamento / clone do Mercurial local para trabalhar com repositórios remotos do Bazaar?

    
por anatoly techtonik 25.01.2015 / 15:00

1 resposta

1

O reverso (bzr-hg) existia, mas esse plugin foi abandonado em 2012. Veja o link . Eu suspeito que um plugin hg-bzr não surgiu por razões similares, como porque desistimos do plugin bzr-hg, além do fato de que a popularidade do bzr simplesmente diminuiu - então um plugin é menos necessário.

Um dos problemas com o plug-in bzr-hg é que tanto o Bazaar quanto o Mercurial têm APIs de nível inferior que estão mudando com freqüência suficiente para que o plug-in seja interrompido regularmente.

O Bazaar e o Mercurial também têm um modelo de dados bastante diferente - a diferença é maior do que entre, por exemplo, Bazaar e Git - o que dificultou a conversão de revisões de uma maneira mais eficiente.

O Mercurial e o Bazaar têm vários recursos que são difíceis de mapear entre eles.

  • As informações nos manifestos do Mercurial e nos inventários do Bazaar não podem ser convertidas facilmente - você precisa de tabelas de pesquisa para informações de identificação de arquivos
  • As propriedades de revisão do
  • Bazaar são semelhantes aos extras do Mercurial, mas não suportam caracteres especiais (ou o contrário)
  • O Mercurial não suporta "revisões fantasma", revisões que são referenciadas mas não estão presentes no repositório
  • O Mercurial não possui um conceito de IDs de arquivo, portanto, os IDs de arquivo precisam ser armazenados em outro local no repositório, como um arquivo especial
  • O Mercurial não suporta diretórios vazios, vários autores de commit ou revisões com mais de dois pais ("octopus merge", na terminologia do Git)

Essas coisas são muito mais fáceis ao interagir com o Git, porque são endereçáveis ao conteúdo e mais simples (por exemplo, ele não possui gráficos de revisão por arquivo). O Hg-Git ou o Bzr-Git podem apenas importar o que você tem no Git para o Mercurial e desde que você acabe convertendo-o de volta no Git com a mesma representação, você obtém o mesmo commit SHA que você tinha originalmente.

    
por jelmer 06.02.2015 / 01:21