3 pontos por xguru 3 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • Sem necessidade de clone local: faz streaming direto de refs e objetos do remoto de origem para o remoto de destino, sem fazer checkout do repositório no disco local
  • Usa um caminho de transmissão por relay para enviar os dados de pacote do upload-pack da origem diretamente para o receive-pack do destino, mantendo o uso de memória constante independentemente do tamanho do repositório
  • Quando o relay não é possível (force, prune, delete etc.), usa fallback materializado: busca os objetos para um store em memória do go-git, depois codifica o packfile e faz push; é possível limitar a memória com --materialized-max-objects
  • Com apenas git-sync sync, cobre desde o seeding inicial de um destino vazio até a sincronização contínua, e git-sync plan permite visualizar previamente antes do push
  • git-sync replicate faz os refs do destino corresponderem exatamente aos da origem, mas opera em modo estrito e falha se for necessário materializar localmente
  • Suporta todas as ações de gerenciamento de refs, incluindo criação, atualização, atualização forçada com --force e remoção com --prune
  • Planeja todas as ações antes do push e fornece saída JSON tipada, permitindo integração direta com pipelines de CI/automação
  • Também pode ser incorporado como biblioteca Go e oferece APIs estáveis como Probe, Plan, Sync e Replicate
  • Somente unidirecional, sem suporte a SSH (apenas Smart HTTP/HTTPS), e executado em modo one-shot, sem daemon nem função de monitoramento
  • Licença MIT

1 comentários

 
colus001 2 시간 전

Parece que fizeram isso porque worktree está em alta. Vou experimentar!