Olá, pessoal.
Estou começando a usar o SVN e gostaria de saber: como posso dividir meu projeto em versão desenvolvimento e produção?
Antes a gente utilizava o vss e tinha dois projetos separados, um para desenvolvimento e produção.
Obrigado!
Olá, pessoal.
Estou começando a usar o SVN e gostaria de saber: como posso dividir meu projeto em versão desenvolvimento e produção?
Antes a gente utilizava o vss e tinha dois projetos separados, um para desenvolvimento e produção.
Obrigado!
vc deixa o HEAD para produção
e cria branches para desenvolviemtno, normalmente se cria um branche para desenvolvimento, e depois de tudo certo faz o merge do branch no head para mandar pra produção.
[quote=Felagund]vc deixa o HEAD para produção
e cria branches para desenvolviemtno, normalmente se cria um branche para desenvolvimento, e depois de tudo certo faz o merge do branch no head para mandar pra produção.[/quote]
Vi algo assim no google, mas não sei como criar isso no SVN. Como faço pra criar o Head?
O HEAD no svn é chamado de TRUNK o/
Segue um link bacana:
http://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html
[quote=v1c70r_f]O HEAD no svn é chamado de TRUNK o/
Segue um link bacana:
http://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html[/quote]
Esse Head, trunk e afins, nada mais são do que pastas?
_o/
Isso, fisicamente são separados em pastas.
Os nomes ‘TRUNK’/‘HEAD’ e branchs são conceituais, para separar o projeto principal dos seus forks.
[quote=andre_guitar7][quote=v1c70r_f]O HEAD no svn é chamado de TRUNK o/
Segue um link bacana:
http://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html[/quote]
Esse Head, trunk e afins, nada mais são do que pastas?[/quote]
Não são apenas pastas. Você tem que criar um branch no SVN usando o comando copy. Se você reparar bem, debaixo do diretório raiz do seu projeto há dois diretórios: trunk e branches. O diretório trunk contém o branch principal (o “tronco da árvore”). O diretório branches vai conter os “galhos”.
Se você fizer um
$ svn copy http://svn.example.com/repos/calc/trunk \
http://svn.example.com/repos/calc/branches/my-calc-branch \
-m "Creating a private branch of /calc/trunk."
vai criar um novo branch.
Afinal, qual é a vantagem de fazer branch?
Imagine que você está com o seu projeto em produção.
Aí você está cheio de chamados e novas funcionalidades para implementar, cada um com datas diferentes de liberação, como você conseguirá garantir que apenas o que deve ser implantado na data determinada está no seu código a ser liberado?
Imagina então que você tem um ambiente de testes, desenvolvimento, homologação e produção. O fonte do projeto de produção(no trunk) com certeza será diferente do fonte em desenvolvimento(em alguma branch).
Isso apenas um cenário, existem várias possibilidades que o uso de branch se faz necessário, isso depende da sua necessidade.
USE BRANCHS QUANDO NECESSÁRIO, imagine um projeto do zero, inicialmente todos podem desenvolver utilizando apenas o trunk normalmente.
Isso é bem controverso. Tem gente que odeia branches e outros que acham importante. O melhor para mim é evitar o branching, se possível, mas usar, se for essencial.
Um caso de uso de branching é você ter que corrigir bugs em uma versão do sistema enquanto desenvolve a próxima versão. Se você tiver um branch para a ultima versão estável e outro para a versão em desenvolvimento fica fácil trabalhar em ambas ao mesmo tempo, sem que as correções realizadas em uma versão interfiram na outra em desenvolvimento.
Isso é bem controverso. Tem gente que odeia branches e outros que acham importante. O melhor para mim é evitar o branching, se possível, mas usar, se for essencial.
Um caso de uso de branching é você ter que corrigir bugs em uma versão do sistema enquanto desenvolve a próxima versão. Se você tiver um branch para a ultima versão estável e outro para a versão em desenvolvimento fica fácil trabalhar em ambas ao mesmo tempo, sem que as correções realizadas em uma versão interfiram na outra em desenvolvimento.[/quote]
A única coisa que preciso é administrar um código de desenvolvimento e um de produção. Como posso fazer pra replicar meu código de desenvolvimento para produção?
Leia o post anterior sobre o comando copy.
Ok, mas um branch e um comando copy não são a mesma coisa, certo?
Ok, mas um branch e um comando copy não são a mesma coisa, certo?[/quote]
É como se cria um branch no svn. Qualquer dúvida, leia o manual.
Acho que vou fazer o seguinte então, vou criar duas pastas, sendo uma de desenvolvimento e outra de produção. Quando algo estiver ok em desenvolvimento, faço um merge pra produção. Não vejo forma mais prática que isso.
André, mas o que tem de pouco prático em fazer “svn copy a b” ?
Não estou dizendo que não é prático, acho que é justamente o que vou fazer. Quando estiver ok em desenvolvimento faço uma cópia para produção.