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.