Fala aí pessoal, blz? Seguinte, há um bom tempo trabalho com o CVS e chegou um momento em que precisei usar o branch. Bom, fiz minhas alterações, criei o branch e comitei as classes no mesmo. O problema é que não comitei todas as classes do projeto e sim as classes que alterei. Se eu fizer um branch do meu trunk para o branch que criei, ele vai substituir as classes que alterei anteriormente com as classes do trunk ou vai manter as classes? Tenho receio de perder minhas alterações? Vc’s trabalham dessa forma, fazendo branch de todas as classes do projeto ou só as que alteraram?
O que a gente faz aqui eh, antes de iniciar o desenvolvimento de um novo release a gente cria um branch de desenvolvimento e faz o commit nesse branch. So quando o desenvolvimento eh “congelado” que a gente faz o commit no “head” do projeto.
[quote=windsofhell]
Hummm nunca vi ng trabalhar assim.
O que a gente faz aqui eh, antes de iniciar o desenvolvimento de um novo release a gente cria um branch de desenvolvimento e faz o commit nesse branch. So quando o desenvolvimento eh “congelado” que a gente faz o commit no “head” do projeto.
//Daniel[/quote]
Certo, mas o commit (do branch) é feito de todo o fonte do projeto?
[quote=paulohbmetal][quote=windsofhell]
Hummm nunca vi ng trabalhar assim.
O que a gente faz aqui eh, antes de iniciar o desenvolvimento de um novo release a gente cria um branch de desenvolvimento e faz o commit nesse branch. So quando o desenvolvimento eh “congelado” que a gente faz o commit no “head” do projeto.
//Daniel[/quote]
Certo, mas o commit (do branch) é feito de todo o fonte do projeto?
A Paz![/quote]
Nao a gente faz o commit do arquivo que a gente alterou. ex.
[quote=paulohbmetal]Hum… E se eu quiser, por exemplo, remover algum arquivo de um branch, como faço? Por exemplo, eu vi que não preciso do arquivo no branch… :roll:
A Paz![/quote]
Vc precisa :
remover o arquivo, eh so deletar tipo : rm <nome do arquivo>
[quote=windsofhell][quote=paulohbmetal][quote=windsofhell]
Hummm nunca vi ng trabalhar assim.
O que a gente faz aqui eh, antes de iniciar o desenvolvimento de um novo release a gente cria um branch de desenvolvimento e faz o commit nesse branch. So quando o desenvolvimento eh “congelado” que a gente faz o commit no “head” do projeto.
//Daniel[/quote]
Certo, mas o commit (do branch) é feito de todo o fonte do projeto?
A Paz![/quote]
Nao a gente faz o commit do arquivo que a gente alterou. ex.
cvs commit -m ‘bla bla bla’ NomeDaClass.java
[/quote]
Acho que não fui claro. Eu quero saber se quando vc vai criar o branch, vc cria com todo fonte do projeto ou só com aqueles que vc vai alterar? Essa que é minha dúvida… É que, acho meio estranho eu ficar trabalhando (ao mesmo tempo) nas classes do trunk com as do branch.
Por exemplo tenho trunk com os fontes do projeto em seguida o Joao trabalha no Branch A e o Pedro trabalha no Branch B ambos realizam as suas alterações como posso fechar uma versao com Branch A + B?
Paulohbmetal,
no CVS a “unidade lógica” é sempre o seu projeto. Não faz muito sentido em termos de gerencia de configuração somente gerar um branch com alguns arquivos do projeto, pois se você fizer checkout do branch, você deveria ter todos os arquivo do projeto e não somente o que você alterou.
Ramilani12,
para você ter a “soma” de dois branches, ou você escolhe um dos branches para aplicar as mudanças do outro branch, ou cria um terceiro branch e aplica as mudanças dos dois branches. Para aplicar um branch sobre o outro, é só fazer o checkout por um branch e depois um update passando como parametro o outro branch. É meio confuso ficar só falando. O artigo acima explica como fazer…
[quote=paulohbmetal][quote=windsofhell][quote=paulohbmetal][quote=windsofhell]
Hummm nunca vi ng trabalhar assim.
O que a gente faz aqui eh, antes de iniciar o desenvolvimento de um novo release a gente cria um branch de desenvolvimento e faz o commit nesse branch. So quando o desenvolvimento eh “congelado” que a gente faz o commit no “head” do projeto.
//Daniel[/quote]
Certo, mas o commit (do branch) é feito de todo o fonte do projeto?
A Paz![/quote]
Nao a gente faz o commit do arquivo que a gente alterou. ex.
cvs commit -m ‘bla bla bla’ NomeDaClass.java
[/quote]
Acho que não fui claro. Eu quero saber se quando vc vai criar o branch, vc cria com todo fonte do projeto ou só com aqueles que vc vai alterar? Essa que é minha dúvida… É que, acho meio estranho eu ficar trabalhando (ao mesmo tempo) nas classes do trunk com as do branch.
A Paz![/quote]
Pelo menos aqui a gente cria o projeto inteiro, tipo uma copia exata do HEAD do projeto.
Ai cada desenvolvedor faz o checkout desse branch de desenvolvimento e trabalha em cima dele.
Se vc pela manha por exemplo dar um update, vc vai pegar as alteracoes que os outros desenvolvedores estao fazendo, por isso eh sempre importante vc fazer isso sempre para ter as ultimas versoes.
Quando o projeto acaba, se estiver tudo funcionando a gente faz o commit de tudo que a gente alterou nao no branch do projeto mas no HEAD. A gente tenta manter o head intocavel, so trabalhamos em cima do branch.
[quote=oyama] Paulohbmetal,
no CVS a “unidade lógica” é sempre o seu projeto. Não faz muito sentido em termos de gerencia de configuração somente gerar um branch com alguns arquivos do projeto, pois se você fizer checkout do branch, você deveria ter todos os arquivo do projeto e não somente o que você alterou. [/quote]
[quote=windsofhell] Pelo menos aqui a gente cria o projeto inteiro, tipo uma copia exata do HEAD do projeto.
[/quote]
Hum… Bem que estava achando estranho mesmo. No meu caso agora, como coloquei somente os arquivos que alterei, é só dar um branch nos outros arquivos né? Se eu mandar fazer um branch no projeto inteiro, corre o risco dos arquivos (que já estão lá) serem substituídos?
Teoricamente não haveria problema, pois o branch no CVS é apenas uma TAG especial para marcar arquivos.
Ultimo caso, crie um novo branch com todos os arquivos do projeto e aplique as alterações neste novo branch.
Recomendo você estudar um pouco mais sobre SCM (Software Configuration Management) e não olhar o CVS apenas como um “repositório de arquivos”.
Aquele artigo que eu recomendei acima é um bom começo.
Teoricamente não haveria problema, pois o branch no CVS é apenas uma TAG especial para marcar arquivos.
Ultimo caso, crie um novo branch com todos os arquivos do projeto e aplique as alterações neste novo branch.
Recomendo você estudar um pouco mais sobre SCM (Software Configuration Management) e não olhar o CVS apenas como um “repositório de arquivos”.
Aquele artigo que eu recomendei acima é um bom começo.[/quote]