View
1.288
Download
0
Category
Preview:
DESCRIPTION
Arquitetura e vantagens do Subversion
Citation preview
Subvertendo o Código PHP com SVNSubvertendo o Código PHP com SVN
Ricardo Coelho
Quem sou eu?Quem sou eu?
● Ricardo Coelho é fundador e coordenador do PHP-Maranhão
● Representante do estado noPHP Brasil Comunidades
● Auditor NBR ISO 27001:2006● Perito Forense Digital● CTO da Nexy
Porque Subversion?Porque Subversion?
● E o CVS?● Faltam: commit atômico, rename, move,
copy, permissões de repositório● E o VSS?
● Sem commit atômico, sem rename, sem move, sem copy, sem permissões de repositório, código proprietário, limitado a plataforma Windows, sófunciona em repositóriospequenos, documentaçãoescassa
Quem migrou do CVS?Quem migrou do CVS?
● Apache Software Foundation● Debian● Zope● KDE● Mono● (…) todo mundo está migrando!
Integração ContínuaIntegração Contínua
● Testes unitários executados a cada commit● É possível saber quem quebrou, onde, como e
quando e isso tudo na hora em que acontece● phpUnderControl
ComponentesComponentes
● svn: Ferramenta cliente● Update, Checkout, Commit, Import, Export
● svnadmin: Ferramenta do repositório● Create
● svnserve: Servidor dedicado TCP/IP● svnlook: Ferramenta para inspeção● DAV: Módulo servidor TCP/IP do Apache
ArquiteturaArquitetura
svn(cliente texto)
Aplicativo Gráfico
Serviços para Aplicações Cliente
Biblioteca deGerenciamento
de cópias de trabalho
Acesso ao Repositório
svnserve
SVN File
RepositórioBDB ou FSFS
DAV
HTTPS
HTTP
SSH
Esquemas
file://http://https://svn://
svn+ssh://
Comandos básicosComandos básicos
● svnadmin create● svn import● svn checkout● svn update● svn commit● svn revert● svn export
● .svn?● svn switch
ConcorrênciaConcorrência
● Acesso simultâneo● Estratégia de locking● Estratégia de merging● Resolução de conflitos● Quem commita primeiro
vai para casa mais cedo!● E se eu quiser incluir uma funcionalidade nova?● E como ficam as manutenções enquanto isso?
Branches & TagsBranches & Tags
● Diretórios recomendados● Branching === Copying● O histórico (Citarás o branching!)● svn status● svn diff● svn merge sempre da versão comum● Merging === Diff & Apply● Tag == Branch? WTF?
– Mantenha o repositório compilável!– E se eu quiser continuar o trabalho em casa?
FontesFontes
● http://svnbook.red-bean.com● http://subversion.apache.org/● http://www.pronus.eng.br/artigos_tutoriais/ger
encia_configuracao/subversion.php● http://subversion.apache.org/docs/community-
guide/
ContatosContatos
● Email: ricardo@nexy.com.br● Twitter: @ramcoelho● Skype: ram.coelho● www.nexy.com.br
Obrigado!Obrigado!
Recommended