140 likes | 330 Views
Concurrent Versions System (CVS). Alexandre Monteiro. O que é CVS?. Ferramenta de apoio ao gerenciamento de versões; Aplicação cliente – servidor; Controla as versões através de tags; Permite visualização de diferenças entre as versões; Permite merging entre versões conflituosas;.
E N D
Concurrent Versions System(CVS) Alexandre Monteiro
O que é CVS? • Ferramenta de apoio ao gerenciamento de versões; • Aplicação cliente – servidor; • Controla as versões através de tags; • Permite visualização de diferenças entre as versões; • Permite mergingentre versões conflituosas;
Vantagens • Integração com ferramentas de desenvolvimento; • Projeto Open Source (GNU); • Permite o rastreamento das atividades (histórico, usuários ativos); • Armazenamento inteligente de arquivos; • Múltiplas linhas de desenvolvimento em um repositório;
O que não é? • Mecanismo para backup • Ferramenta para a construção de builds • Substituto para comunicação entre desenvolvedores • Conflitos não são resolvidos automaticamente • Ferramenta de solicitação de mudanças • Não controla requisições de mudança
Arquitetura Cliente-Servidor • No servidor • Repositório central • Armazena histórico de arquivos • Armazena arquivos de controle • No Cliente • Área de trabalho (Workspace) • Armazena uma cópia dos arquivos do repositório
WinCVS • Interface gráfica que permite acesso ao repositório central • Permite também o uso de um repositório local • Bom para projetos com um único desenvolvedor rodando Windows ou MacOS
Ícone de estado Número da revisão Tipo do arquivo nome do tag file view módulos status view WinCVS – Tela Principal
Usando WinCVS • Abrir GNU > WinCVS 1.2 • (ou www.wincvs.org) • Admin > Preferences... • CVSROOT - :pserver:{login}@cvs.cin.ufpe.br:/data/if7191055 • Authentication – “passwd” file on the cvs server • Admin > Login... • Colocar a senha...
Usando WinCVS • Import Module... – Carrega um novo módulo ao repositório; • Add... – Adiciona um novo arquivo à um módulo do repositório; • Check Out Module... – Carrega um módulo do repositório para o workspace local; • Update Selection... – Carrega a nova versão do arquivo (ou diretório) selecionado do repositório para o workspace local (se houver mudanças não salvas haverá conflitos);
Usando WinCVS • Commit Selection... – Salva a versão local como uma nova versão no repositório; • Create a Tag by Module... – Facilita o check out a partir de Tags; • Create a Branch by Module... – Cria uma nova linha de desenvolvimento; • Release Selection – Retira o arquivo ou diretório selecionado do controle do cvs;
CVS Repository Exploring • Plug-in do eclipse que permite acesso a um repositório CVS; • Facilidade de uso (integração); • Ótimas ferramentas de diff e merging;
Módulos e Arquivos Histórico e Tags Código Eclipse – Tela Principal
Adicionando um Repositório • Window > Open Perspective > Other... • CVS Repository Explorer; • Add CVS Repository • Host – cvs.cin.ufpe.br; • Repository Path - /data/if7191055; • User – {login}; • Connection type - pserver; • Use Default Port;
Fluxo Ideal de Trabalho • Comece sem nada. • Selecione um projeto no branch (ou HEAD) e selecione Checkout (ou Replace with > Latest from Repository se o projeto já existe localmente); • Isso irá apagar qualquer cópia local antiga; • Faça as mudanças. Trabalhe localmente com o projeto, salvando as mudanças apenas na sua máquina; • Sincronize. Quando você estiver pronto, sincronize: • Update; • Examine as mudanças, faça as alterações necessárias; • Rode os Testes; • Commit; • Por prudência, repita os passos acima para garantir que não houve mudanças novamente;