Pular para o conteúdo principal

Questão de Engenharia de Software — Geral — INSTITUTO AOCP 2024

Engenharia de SoftwareGeral
Código
qa631613
Banca
INSTITUTO AOCP
Órgão
MGI
Ano
2024
Cargo
Esp ( )

Referente à ferramenta de controle de versão SVN, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.

 

(  ) O SVN utiliza um modelo centralizado de controle de versão, onde um repositório central armazena todas as versões dos arquivos.

 

(  ) O comando svn commit é utilizado para atualizar a cópia local de trabalho com as últimas alterações do repositório central.

 

(  ) No SVN, os branches são cópias independentes do projeto principal, que podem ser usadas para desenvolvimento paralelo sem interferir no tronco principal.

 

(  ) O comando svn revert desfaz as alterações locais não confirmadas e restaura os arquivos para o estado do último commit.


  1. AV – V – F – F.
  2. BV – F – V – V.
  3. CF – V – V – F.
  4. DF – F – V – V.
  5. EV – F – F – V.
Revelar gabarito e comentário

GabaritoB — V – F – V – V.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Controle de Versão com SVN: modelo centralizado e comandos essenciais

Gabarito: letra B (V – F – V – V). O SVN (Subversion) adota um modelo centralizado de controle de versão, com um repositório central que guarda todas as versões; o comando svn commit envia as alterações locais para o repositório (e não o contrário); branches são linhas de desenvolvimento independentes; e svn revert descarta alterações locais não confirmadas, restaurando o estado do último commit. A única afirmativa falsa é a segunda, que inverte a função do svn commit com a do svn update.

O SVN é uma ferramenta clássica de controle de versão centralizado. Isso significa que existe um repositório central — um servidor que armazena o histórico completo de todas as versões dos arquivos — e cada desenvolvedor trabalha com uma cópia de trabalho (working copy) local. Essa arquitetura contrasta com os sistemas distribuídos, como Git e Mercurial, nos quais cada clone local contém o repositório completo. No SVN, o repositório central é a fonte da verdade: é para lá que as alterações são enviadas e de lá que são baixadas.

O fluxo de trabalho básico envolve alguns comandos que a banca adora cobrar. O svn update (ou svn up) é o comando que atualiza a cópia de trabalho local com as alterações mais recentes do repositório central. Já o svn commit (ou svn ci) é o comando que envia as alterações locais para o repositório central, registrando uma nova versão. A confusão entre esses dois comandos é a pegadinha clássica: um puxa (update), o outro empurra (commit).

Os branches no SVN são cópias independentes do projeto principal (o trunk), criadas para desenvolvimento paralelo. Eles permitem que uma equipe trabalhe em novas funcionalidades ou correções sem interferir no tronco principal, e depois podem ser mesclados (merge) de volta. O comando svn revert desfaz as alterações locais não confirmadas, restaurando os arquivos para o estado do último commit — ou seja, é o "ctrl+Z" da sua cópia de trabalho, mas apenas para o que ainda não foi enviado ao repositório.

NÃO CAIA NESSA!

A banca inverte a função do svn commit com a do svn update. O candidato que decora os comandos sem entender o fluxo cai na armadilha: commit é enviar para o repositório central, update é receber as alterações do repositório. Lembre-se: commit empurra, update puxa. 💪

SVN (Subversion)
  • 1Modelo centralizado
    • Repositório central (fonte da verdade)
    • Cópia de trabalho local
  • 2Comandos essenciais
    • svn update
      • Recebe alterações do repositório
    • svn commit
      • Envia alterações locais ao repositório
    • svn revert
      • Desfaz alterações locais não confirmadas
  • 3Branches
    • Cópias independentes do trunk
    • Desenvolvimento paralelo
    • Merge de volta ao tronco
LEVEL · soulevel.com.br

Afirmativa 1 — ✅ Verdadeira

O SVN utiliza um modelo centralizado de controle de versão, onde um repositório central armazena todas as versões dos arquivos. Essa é a característica fundamental do Subversion: existe um servidor central que guarda o histórico completo, e os desenvolvedores trabalham com cópias locais que são sincronizadas com esse repositório. É exatamente o oposto do modelo distribuído do Git, onde cada clone contém o repositório inteiro.

Afirmativa 2 — ❌ Falsa

O comando svn commit é utilizado para enviar as alterações locais para o repositório central, criando uma nova versão. O comando que atualiza a cópia de trabalho local com as últimas alterações do repositório é o svn update. A afirmativa inverte a função dos dois comandos — essa é a pegadinha central da questão.

Afirmativa 3 — ✅ Verdadeira

No SVN, os branches são cópias independentes do projeto principal, que podem ser usadas para desenvolvimento paralelo sem interferir no tronco principal. Essa é a definição correta de branch: uma linha de desenvolvimento separada que permite trabalhar em funcionalidades ou correções isoladamente, podendo depois ser mesclada de volta ao tronco.

Afirmativa 4 — ✅ Verdadeira

O comando svn revert desfaz as alterações locais não confirmadas e restaura os arquivos para o estado do último commit. Ele atua apenas sobre o que ainda não foi enviado ao repositório — se você já fez commit, o revert não desfaz; seria necessário um svn merge reverso ou svn delete + commit.

NÃO CAIA NESSA!

Para não confundir os comandos, pense no fluxo: você trabalha na cópia local, atualiza com svn update para receber o que os outros fizeram, envia com svn commit para publicar o seu trabalho, e desfaz com svn revert se errar antes de enviar. Memorize o par: update = receber, commit = enviar.

Gabarito: letra B — sequência V – F – V – V.

Link permanente: /questoes/qa631613