Duvida subversion + de 1 desenvolvedor no mesmo projeto

5 respostas
fabioebner

Pessoal. tenho uma duvida… como eu trabalho com o subversion com mais de uma pessoa mexendo no mesmo projeto??? da pra fazer isso? pq o basico de um alterar, dar commit o outro qdo for abrir dar um update altera e da commit bele…

mas e qdo tiver duas pessoas mexendo no mesmo projeto… algumas paginas alteradas serao comuns(como o face-config) outras serao diferente… como proceder? dar merge, commit, update, lock, alguem pode me dar uma ajuda??

valeus

5 Respostas

Rubem_Azenha

Para desenvolvimento “concorrente”, você tem duas opções:

:arrow: Lock dos arquivos que estiver mexendo, para garantir que só você esta mexendo nesses arquivos e não correr o risco de perder as alterações por que alguem fez um commit em cima do seu.

:arrow: Não usar lock; usar merge.

Não utilizo SVN, mas eu prefiro a abordagem do merge, o lock te dá uma falsa sensação de segurança.
Eu procuro, antes de commitar, fazer um update do repositorio (e aí fazer o merge das alterações localmente), compilar, rodar testes, e depois fazer o commit.

acdesouza

Dá uma olhada no Google sobre tutoriais sobre o Subversion.

Aqui mesmo no GUJ já existem alguns tópicos falando sobre o Subversion. Seria legal dar uma olhada neles.

A parte de Conceitos Fundamentais do Subversion, no livro svnbook pode explicar esses conceitos que você está procurando.

fabioebner

microfilo… entao eu tentei usar o merge mas deu uns rolos mto loco. nao consegui. e se eu abrir uma classe. alterar e depois antes de salvar dar um update ele nao vai perder o q eu fiz??

acdesouza

Situação onde não precisa de merge manual:

  1. Você altera o arquivo xpto.java;
  2. Você faz um update do seu projeto localmente: Aqui o Svn irá copiar as alterações que estão no repositório e que você não tem. Para os arquivos que você não modificou. Isso é um merge altomático.
  3. Você commita as alterações do arquivo xpto.java;

Situação onde precisa de merge manual:

  1. Você altera o arquivo xpto.java;
  2. Outra pessoa altera o arquivo xpto.java;
  3. Outra pessoa faz um update do projeto localmente: Aqui o Svn irá copiar as alterações que estão no repositório e que a outra pessoa não tem. Para os arquivos que você não modificou. Isso é um merge automático.
  4. Outra pessoa commita as alterações do arquivo xpto.java;
  5. Você faz um update do projeto localmente: Aqui o Svn irá copiar as alterações que estão no repositório e que a você não tem. Para os arquivos que você não modificou. Isso é um merge automático. Para os arquivos que você modificou, e foram modificados no servidor, o Svn irá gerar um backup do seu arquivo, uma cópia do arquivo que está no servidor e irá marcar, no seu arquivo as situações em que você precisa decidir qual linha está certa. Isso é um merge manual.
  6. Você marca o arquivo xpto.java como resolvido, depois de fazer o merge manualmente ;
  7. Você commita as alterações do arquivo xpto.java;
acdesouza

Como usar o Subversion no Eclipse, no site DeveloperWorks da IBM.

Criado 14 de janeiro de 2008
Ultima resposta 15 de jan. de 2008
Respostas 5
Participantes 3