AWS CodeCommit is a fully-managed source control service
O que significa que é destinado a fontes. Aqui estão algumas razões pelas quais um controle de origem é uma má escolha para binários:
- Primeiramente - um sistema de controle de versão (VCS) não é um repositório Maven! Não é possível calcular os índices Maven.
- Incompatibilidade de versão. Os arquivos de origem são versionados por seu conteúdo. Os VCSs sabem como diferenciá-los e entender o que mudou. Os binários, por outro lado, geralmente são versionados pelo nome. Do ponto de vista do VCS, são entradas diferentes, cada uma sem qualquer histórico de versões.
- Não tenho certeza se o CodeCommit pode apagar arquivos. Se (como o Subversion) não puder, uma vez que um arquivo é adicionado, ele permanecerá no repositório para sempre.
- O controle de origem sabe como pesquisar fontes. E, claro, o tipo mais importante de pesquisa é por conteúdo. No entanto, a pesquisa por binários é diferente: o que mais importa são os metadados do arquivo, o local, a estrutura do nome do arquivo e, no caso de artefato arquivado, o conteúdo do arquivo.
- O esquema de permissões do VCSs é adaptado para fontes de versão (novamente!). Por exemplo, não há permissão de substituição. Isso é porque substituir fontes é algo que fazemos o tempo todo em VCS - é o mesmo nível de segurança que, digamos, adicionar um novo arquivo de origem. No entanto, a situação é muito diferente com binários. Embora seja bom adicionar novos binários, substituir o binário lançado é algo que não deveria ser feito (é necessário ter uma permissão especial para isso).