Sistemas de controle de versões são ferramentas de apoio aos...

Próximas questões
Com base no mesmo assunto
Q2319264 Engenharia de Software
Sistemas de controle de versões são ferramentas de apoio aos desenvolvedores cuja principal função é controlar as modificações realizadas em um arquivo de projeto. Assinale a alternativa incorreta:  
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D

Para compreender a questão e suas alternativas, é essencial ter conhecimento sobre sistemas de controle de versões. Estes sistemas são fundamentais para o desenvolvimento colaborativo de software, pois permitem que as mudanças feitas por diferentes desenvolvedores sejam rastreadas e gerenciadas de forma eficiente, evitando conflitos e perda de informações importantes.

A alternativa A está correta, pois descreve a natureza de uma revisão em sistemas de controle de versão. De fato, cada revisão ou commit representa um estado completo do repositório em um dado momento, incluindo a estrutura de diretórios e os arquivos.

A alternativa B também está correta, identificando o RCS e o SVN (Subversion) como sistemas de controle de versão conhecidos. Ambos são ferramentas que ajudam no rastreamento de alterações em arquivos ao longo do tempo.

A alternativa C está correta, pois explica corretamente o processo de commit, que é a ação de enviar mudanças da cópia de trabalho local para o repositório central, permitindo que o desenvolvedor continue a fazer alterações e novas submissões.

A alternativa E é verdadeira, pois uma das principais vantagens das ramificações (ou branches) é a possibilidade de reintegrar mudanças feitas em um ramo separado de volta ao ramo principal (ou trunk), permitindo uma gestão flexível do desenvolvimento.

Contudo, a alternativa D está incorreta porque o conceito de "ramificações implícitas" não é comum em sistemas de controle de versão. Normalmente, as ramificações são ações explícitas feitas pelo desenvolvedor, onde um novo ramo de desenvolvimento é criado intencionalmente para, por exemplo, desenvolver uma nova funcionalidade ou consertar um bug, sem interferir no ramo principal. Este conceito é conhecido como branching e é uma prática padrão para gerenciar diferentes linhas de desenvolvimento dentro de um mesmo projeto.

Portanto, ao entender esses conceitos, fica claro o porquê a alternativa D é a resposta incorreta, pois sugere uma característica de sistemas de controle de versão que não é típica ou desejada na prática. Ramificações são sempre atos deliberados e controlados pelos desenvolvedores e suas equipes.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo