Questão nº 48
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 48)
O analista Ângelo está comparando os sistemas de
versionamento Git e Subversion (SVN). Ele está especialmente
interessado no tipo de arquitetura dos versionadores e na
capacidade nativa de travar a modificação de determinados
arquivos (file locking).
Ao fim da comparação, Ângelo deve concluir que:
- Atanto o Git quanto o SVN possuem arquitetura distribuída, mas só o Git suporta file locking;
- Btanto o Git quanto o SVN possuem arquitetura distribuída, mas só o SVN suporta file locking;
- Ctanto o Git quanto o SVN possuem arquitetura centralizada, mas só o SVN suporta file locking;
- Do Git não suporta file locking e possui arquitetura distribuída, enquanto o SVN suporta file locking e possui arquitetura centralizada; (alternativa correta)
- Eo SVN não suporta file locking e possui arquitetura distribuída, enquanto o Git suporta file locking e possui arquitetura centralizada.
Resposta comentada
Gabarito Alternativa D
Sistemas de controle de versão, como Git e SVN, são ferramentas que registram todas as mudanças feitas em arquivos ao longo do tempo, permitindo que você volte a versões anteriores ou colabore com outras pessoas. A principal diferença entre eles está em como organizam e armazenam essas mudanças: o Git usa uma arquitetura distribuída, onde cada desenvolvedor tem uma cópia completa do histórico do projeto, enquanto o SVN usa uma arquitetura centralizada, com um único servidor armazenando todo o histórico.
(A) Incorreta: O SVN possui arquitetura centralizada, não distribuída. Além disso, o Git não suporta file locking nativamente para arquivos em geral.
(B) Incorreta: O SVN possui arquitetura centralizada, não distribuída. Esta alternativa é um distrator tentador porque acerta que "só o SVN suporta file locking", mas erra fundamentalmente a arquitetura do SVN. A armadilha aqui é focar apenas na parte do file locking, que é um ponto comum de comparação, e ignorar o erro na arquitetura.
(C) Incorreta: O Git possui arquitetura distribuída, não centralizada.
(D) Correta: O Git não suporta file locking nativamente (sua filosofia é de fusão de código, não de bloqueio) e tem arquitetura distribuída. O SVN suporta file locking (útil para arquivos binários ou que não podem ser facilmente mesclados) e tem arquitetura centralizada.
(E) Incorreta: O SVN suporta file locking e possui arquitetura centralizada. O Git não suporta file locking nativamente e possui arquitetura distribuída.
Fonte: FGV TRF1 2024 Técnico Judiciário - Desenvolvimento de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.