SóProvas


ID
1306507
Banca
CESPE / CEBRASPE
Órgão
ANATEL
Ano
2014
Provas
Disciplina
Engenharia de Software
Assuntos

Acerca das ferramentas de software para suporte às atividades de análise e controle de versão, julgue o próximo item.


As ferramentas de controle de versão Git e SVN oferecem o mesmo grau de confiabilidade no armazenamento das informações e são ambas implantadas conforme o conceito de sistemas de controle de versão distribuído.

Alternativas
Comentários
  • só o git é distribuído

  • Sistemas de Controle de Versão Distribuídos

    É aí que surgem os Sistemas de Controle de Versão Distribuídos (Distributed Version Control System ou DVCS). Em um DVCS (tais como Git, Mercurial, Bazaar ou Darcs), os clientes não apenas fazem cópias das últimas versões dos arquivos: eles são cópias completas do repositório. Assim, se um servidor falha, qualquer um dos repositórios dos clientes pode ser copiado de volta para o servidor para restaurá-lo. Cada checkout (resgate) é na prática um backup completo de todos os dados (veja Figura 1-3).


    Fonte: http://git-scm.com/book/pt-br/v1/Primeiros-passos-Sobre-Controle-de-Vers%C3%A3o

  • No Git é possível trabalhar Offline, o contrário do SVN.

  • SVN --> centralizado

    GIT --> distribuído

  • Erro da questão: mesmo grau de confiabilidade no armazenamento das informações

  • SVN ou Apache Subversion --> centralizado

    GIT --> distribuído

    Mercurial --> distribuído

  • A questão cobra conhecimento sobre as ferramentas de controle de versão Subversion (SVN) e Git.

    Conforme Sommerville, o gerenciamento de versões é uma das atividades fundamentais no gerenciamento de configuração de software, a partir dele é fornecido suporte para “manter o controle das diferentes versões de componentes de software" [1]. Nesse sentindo, o SVN e o Git são ferramentas com o objetivo de auxiliar na execução dessa atividade, automatizando algumas funções.

    Uma das principais diferenças entre as duas ferramentas são os seus tipos. O SVN é um sistema de controle de versão centralizado. Isso significa que o sistema possui “um único servidor que contém todos os arquivos de controle de versão, e um número de clientes que usam arquivos a partir desse lugar central" [2].

    Por outro lado, o Git é um sistema de controle de versão distribuído. Isso significa que os clientes usam o estado mais recente dos arquivos e duplicam localmente o repositório completo. Com isso, se o servidor falhar, qualquer um dos repositórios de clientes pode ser copiado de volta para o servidor para restaurá-lo [2]. Assim, “cada clone é de fato um backup completo de todos os dados" [2].

    Gabarito da professora: ERRADO.



    Referências:

    [1] Engenharia de Software, Ian Sommerville; tradução Ivan Bosnic e Kalinka G. de O. Gonçalves; revisão técnica Kechi Hirama. — 9. ed. — São Paulo: Pearson Prentice Hall, 2011.

    [2] Git book – versão português 2.0. Capítulo 1 – Começando. Disponível no site do git-scm.