Estou trabalhando em um projeto com mais dois programadores, onde cada um de nós possui o ambiente de desenvolvimento instalado em nossas máquinas.
Estamos usando Eclipse e CVS(dentro do eclipse).
Como devo fazer para que , quando um programador esteja editando um arquivo em sua máquina este arquivo não possa ser editado por outro programador?
O máximo que consegui foi fazer aparecer uma mensagem de aviso, mas se o programador selecionar , será permitido editar o arquivo.
Se não me engano é você que usava SourceSafe antes???
Se for, você deve estar acostumado com CheckOut e CheckIn, certo? Mas o CVS não funciona desta forma.
No CVS você pode deixar dois desenvolvedores mexerem em um mesmo fonte, e o CVS depois faz a junção das alterações quase automaticamente. A não ser que haja um conflito onde os dois mexeram na mesma área do fonte, você não terá problemas.
Dá uma lida nesses links para maiores informações:
Não sei se isso eh possível…
Pois ando vc edita um arquivo esse fica na sua máquina, e soh vai para o CVS qndo vc commitar as alterações… qndo isso eh feito, ele sobrescreve o arquivo que estaja lá…
Uma coisa que vc pode controlar eh a versão dos arquivos… verificar se a sua eha a última que esta no repositório (CVS) e assim… ao fazer o commit vc pede para que seja feita uma sincronização entre o arquivo na sua máquina e o que está no repositório…
Não chueguei a ver os links que foram passados… mas vê se tem algo neles que diz se o CVS faz uma sincronização automatica… ao algo assim…
fcoury
PadrE,
É possivel sim, acredite
Eu sei que parece muito difícil uma coisa dessa acontecer, principalmente para quem tem um passado de SourceSafe (eu vim desse mundo também!).
O CVS não vai deixar você sobrescrever um arquivo nunca, a não ser que você FORCE essa operação (chamada no Eclipse de Overwrite and Commit eu acho).
Normalmente fazemos primeiro um update do CVS, que junta o fonte do CVS com o seu local (como eu disse - quase sempre automaticamente) e depois um commit. E, como não existem conflitos depois do update, o commit acontece com a junção dos dois fontes.
Espero que isso ajude.
Abraços!
fcoury
Faça o seguinte teste:
Na sua máquina
Baixe um arquivo do CVS
Altere uma parte do arquivo
Na máquina de outro desenvolvedor
Baixe o mesmo arquivo do CVS
Altere OUTRA parte do arquivo
Escolha Team > Commit em cima do arquivo e confirme
Na sua máquina
Vá no Team > Synchronize do Eclipse
Clique duas vezes na sua classe, o Eclipse deve mostrar as suas alterações e também as alterações do outro desenvolvedor
Clique com o botão direto na sua classe e escolha Update
Clique duas vezes de novo na sua classe, você irá ver que as alterações do outro desenvolvedor já foram incorporadas na sua classe