Questão de Engenharia de Software — Gerência de Configuração — FCC 2016
Engenharia de Software›Gerência de Configuração
Código
fc028410
Banca
FCC
Órgão
CREMESP
Ano
2016
Nível
Superior
Cargo
Analista de Tecnologia da Informação - Análise de Sistemas
Considere, por hipótese, que no CREMESP existam diversos projetos de desenvolvimento de código aberto que usam o Subversion (SVN) para controle de versões dos códigos fonte. Um Analista de Sistemas foi solicitado a fazer uma transição para o Git mantendo, no entanto, o SVN em funcionamento. O Analista deve usar o Git como um cliente válido para um servidor Subversion, de forma que possa usar todos os recursos locais do Git e fazer um push para um servidor Subversion, como se estivesse usando o Subversion localmente. Com isso ele poderá fazer ramificação (branching) local e fusão (merge), usar a área de teste (staging area), cherry-picking, e assim por diante, enquanto os colaboradores do CREMESP continuam a trabalhar no SVN. Para isso, o Git oferece uma ferramenta que funciona como um canal de comunicação bidirecional para o SVN cujo principal comando é:
Asvn git.
Bsvnsync.
Csvnadmin.
Dgit-svn-id.
Egit svn.
Revelar gabarito e comentário▾
GabaritoE — git svn.
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”.
Git – Interoperabilidade com Subversion
Gabarito: letra E. O comando git svn é a ferramenta que permite usar o Git como um cliente válido para um servidor Subversion, viabilizando o uso de recursos locais do Git (branching, merge, staging area, cherry-picking) enquanto o servidor SVN permanece ativo para a equipe. É a ponte bidirecional entre os dois sistemas.
O Git oferece o subcomando git svn para interagir com repositórios Subversion. Ele permite clonar, sincronizar e enviar alterações (dcommit) de/para o SVN, funcionando como um cliente SVN completo. Enquanto isso, os demais colaboradores continuam usando o SVN normalmente.
Alternativa A — ❌ Incorreta
svn git não é um comando válido nem do Git nem do Subversion. É uma combinação inventada sem utilidade real no controle de versão.
Alternativa B — ❌ Incorreta
svnsync é uma ferramenta do Subversion para espelhar (mirror) repositórios SVN de forma incremental, não para usar Git como cliente. Seu propósito é replicação, não interoperabilidade bidirecional com Git.
Alternativa C — ❌ Incorreta
svnadmin é o utilitário de administração de repositórios Subversion (criação, dump, upgrade, etc.), sem relação com a interface Git como cliente.
Alternativa D — ❌ Incorreta
git-svn-id é um campo de metadado adicionado automaticamente às mensagens de commit quando o Git faz push para um repositório SVN via git svn dcommit. Não é um comando; é apenas um identificador registrado no log do commit.
Alternativa E — ✅ Correta ⟵ GABARITO
O comando git svn é exatamente a ferramenta descrita. Ele provê um gateway bidirecional: o desenvolvedor trabalha com todos os recursos do Git localmente (branching, merge, staging area, cherry-picking) e, ao final, usa git svn dcommit para enviar os commits para o servidor Subversion, de forma transparente para quem continua usando o SVN.
NÃO CAIA NESSA!
Muitos candidatos confundem git svn com svnsync (que espelha repositórios SVN, sem ser cliente Git) ou com git-svn-id (metadado de commit, não comando). Lembre-se: o comando correto tem um espaço entre git e svn, não um hífen.