Controle de Versão SVN e Tortoise SVN Nicole Sultanum.
Transcript of Controle de Versão SVN e Tortoise SVN Nicole Sultanum.
![Page 1: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/1.jpg)
Controle de VersãoSVN e Tortoise SVN
Nicole Sultanum
![Page 2: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/2.jpg)
Sumário
• Controle de versão: o que é?• SVN• Tortoise SVN• Operações básicas
![Page 3: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/3.jpg)
Controle de versão: o que é?
Software
Tempo
Criadas as classes básicas X, Y, e Z
Classe X recebe novos atributos
Adicionadas classes de persistência (arquivo)
Interface gráfica principal desenvolvida
![Page 4: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/4.jpg)
Controle de versão: o que é?
Tempo
Versão 1.0(arquivos)
Desenvolvimento Solução MySQL
Desenvolvimento Versão Linux (arquivos)
![Page 5: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/5.jpg)
Controle de versão: o que é?
Software
![Page 6: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/6.jpg)
Controle de versão: o que é?
• Manutenção do histórico de modificações• Possibilidade de criação de linhas paralelas de
desenvolvimento• Controle de acesso concorrente
![Page 7: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/7.jpg)
SVN
• Sistema para Controle de Versão
• Propósito geral• Free• ‘Evolução’ do CVS
• Usado por...– Google– Sourceforge– Tigris.org– ...
![Page 8: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/8.jpg)
SVN
Alterações locais
Checkout
Commit
Versão 1Versão 2
Alterações locais
Update
Versão 3
Commit
Import
![Page 9: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/9.jpg)
Tortoise SVN
• Cliente SVN para Windows• Funciona como uma espécie de plug-in do
Windows Explorer• Fácil operação
![Page 10: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/10.jpg)
Algumas operações básicas
• Import• Checkout• Update
• Conflitos• Merge
• Commit• Add• Delete• Rename
![Page 11: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/11.jpg)
Import
• Iniciar o versionamento de um conjunto de arquivos
• ‘Upload’ para o SVN
![Page 12: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/12.jpg)
Checkout
• Importa o estado atual do repositório para uma cópia local, sob controle de versão
![Page 13: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/13.jpg)
Update
• Atualiza o estado da cópia local para concordar com mudanças do repositório:– Adicionando...– removendo...– Modificando arquivos
AddedUpdatedMerged
Conflicted
![Page 14: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/14.jpg)
Update
• Added– Novo arquivo adicionado
• Updated– Arquivo modificado no servidor, não modificado localmente
• Merged– Arquivo modificado no servidor e modificado localmente, porém em
locais distintos
• Conflicted– Arquivo modificado no servidor e modificado localmente, nos mesmos
locais– Exige intervenção manual
![Page 15: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/15.jpg)
Duplo clique no arquivo em conflito
Resolvendo Conflitos
Clique c/botão direito no conflito, aqui
Salvar Marcar arquivo em conflito como ‘resolvido’
Quando terminar de editar todos os conflitos...
![Page 16: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/16.jpg)
Commit
• Postar suas modificações no repositório oficial
![Page 17: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/17.jpg)
Commit
• Regras gerais:– Sempre dê update imediatamente antes de dar
commit– Não dê commit se sua versão não está
compilando/rodando– Seja consciente: descreva as atividades realizadas
por você naquele commit– Antes de dar commit, Verifique se você não
esqueceu de adicionar nenhum arquivo novo
![Page 18: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/18.jpg)
Add
• Adicionar arquivos/pastas ao versionamento• A modificação é válida a partir do próximo
commit dado
![Page 19: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/19.jpg)
Add
• O que NÃO deve ser versionado:– bin, obj, dlls, .thumb
• O SVN controlará as mudanças nestes arquivos. Não queremos isso!– Toda vez que um projeto for recompilado, o SVN
vai acusar que o arquivo .dll foi modificado– Indicação de modificação, mesmo sem nenhuma
alteração significativa do projeto (código fonte)– Pode dar conflitos desnecessários
![Page 20: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/20.jpg)
Delete
• Remover arquivos do repositório
![Page 21: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/21.jpg)
Delete
• Remover arquivos do versionamento – Copiar o arquivo para uma pasta– SVN:Delete– Re-copiar o arquivo da pasta temporária para a
pasta original
![Page 22: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/22.jpg)
Rename
• Não existe uma operação atômica para rename– Copia pastas e arquivos com o nome modificado
• Apaga arquivos com nome antigo• Para pastas, só deleta da cópia local após commit
![Page 23: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/23.jpg)
Recomendações gerais
• Cuidado ao realizar muitas operações de delete/rename sobre o mesmo arquivo– Erros inesperados podem ocorrer
![Page 24: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/24.jpg)
Links
• [Revision Control - Wikipedia]http://en.wikipedia.org/wiki/Revision_control• [Subversion – Site oficial]http://subversion.tigris.org/• [Tortoise SVN – Site oficial]http://tortoisesvn.tigris.org/
![Page 25: Controle de Versão SVN e Tortoise SVN Nicole Sultanum.](https://reader035.fdocumentos.tips/reader035/viewer/2022062219/552fc11b497959413d8c99c8/html5/thumbnails/25.jpg)
Controle de VersãoSVN e Tortoise SVN
Nicole Sultanum