Regras do Fork no Ligo Bots

2 min

As regras do Fork no Ligo Bots garantem a integridade e o controle das alterações ao criar, atualizar (pull) e mesclar (merge) forks com a versão principal (Main) ou entre forks. Essas regras são essenciais para evitar conflitos e garantir que o fluxo do bot permaneça estável durante o desenvolvimento colaborativo.

Pull: conectores e blocos

  • Exclusão de conector/bloco:
    • Se um conector criado na Main for removido após a criação do fork e for feito um pull, o conector/bloco será removido do fork.
    • Se um conector for excluído no fork, mas existir na Main, ao fazer pull, o conector/bloco será recriado no fork.
  • Criação de conector/bloco:
    • Se um conector/bloco for criado no fork, o pull não irá removê-lo. Caso exista um conector na Main, ambos ficarão presentes, e ao fazer merge, será exibido um aviso de conector duplo.
  • Conectores duplicados:
    • Se houver conectores duplicados na origem, o sistema não irá duplicar o conector no destino, mesmo que o usuário aceite itens duplicados durante o merge.

Merge Fork x Main

  • Ao fazer merge do fork com a Main, a Main ficará idêntica ao fork, exceto:
    • Blocos criados diretamente na Main após a criação do fork não serão apagados.
    • Se houver múltiplos forks, é importante sempre fazer pull antes do merge para evitar que a Main fique desatualizada ou com itens faltando.
  • Casos de conflito:
    • Alterações simultâneas na Main e no fork podem gerar conflitos, que devem ser resolvidos antes do merge.

Merge Fork x Fork

  • Ao mesclar forks, blocos e conectores criados em um fork não são excluídos ao receber merges de outros forks.
  • Após um merge com a Main, novos forks perdem referência com forks antigos ainda não mesclados, podendo causar duplicação de blocos/conectores em merges futuros.

Compare

  • Exclusão de conectores: Não é contabilizada como alteração.
  • Criação de conectores: É contabilizada como alteração.

Essas regras ajudam a manter o controle sobre as versões do bot, evitando perdas de dados e conflitos durante o desenvolvimento colaborativo.