Your SlideShare is downloading. ×
0
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Svn e processos de controle de código
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Svn e processos de controle de código

403

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
403
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. SVN E PROCESSOS DECONTROLE DE CÓDIGO
  2. DEFININDO O CONTROLEComo podemos ver na citação do própriodocumento oficial, é muito facil acontecer adocumento oficial, é muito facil acontecer asobrescrita por acidente.É mais fácil, quando as cópias emdesenvolvimento se misturam a de produção e dereferência. Será explicado o por quê nas situaçõesde exemplo.
  3. MODELOS DE CONTROLEOs modelos de controle devem ser um dosprimeiros tópicos ao discutir-se a implantação doSVN. São eles:1. Copy-Modify-Merge ou Copiando-Modificando-Unificando.Vamos simplificar o nome desseUnificando.Vamos simplificar o nome dessemodelo para Merge.2. Lock-Modify-Unlock ou Bloqueando-Modificando-Liberando. Vamos simplificar onome desse modelo para Lock.
  4. PERSONAGENSResponsável pela validação.Grupo de desenvolvedoresDesenvolvedor
  5. MAU GERENCIAMENTO DOS ARQUIVOS EMPRODUÇÃONão criadareferência aversão.Produção(Build)Repositório de desenvolvimento(Trunk)
  6. REFERENCIANDO ARQUIVOS DE PRODUÇÃOProdução(Build)Repositório de produção(Tag)
  7. KANBANDevemos ter um sistema deversionamento que suportealterações de usuáriosdiferentes em um mesmoarquivo ao mesmo tempo.Isso significa que no nossokanban ao lado poderiamoster desenvolvendorester desenvolvendoresdiferentes na seção doingalterando o mesmoarquivo.Nesse sentido ter umprocesso visual de quaisarquivos estão sendoalterados pode ajudar aresolver conflitos.
  8. RESOLUÇÃO DE CONFLITOSRepositório deEdit ConflictsResolução do conflitoRepositório dedesenvolvimento(Trunk)Merge
  9. BRANCHINGRepositório de ramificações(branches)/projeto_devn/projeto_dev1MergeRepositório de produção(Tag)O administrador pode realizar o merge necessário e liberar a versãopara produção(Tag).
  10. BRANCHING (P2)/projeto_dev2/projeto_dev1Merge/projeto_devnVersões que carregam necessidade de testes e validações devem serencaminhadas para branches.Repositório deramificações(branches)
  11. LOCKRepositório de desenvolvimento(Trunk)Lock(bloqueia)Repositório de desenvolvimento(Trunk)Commit- release(publica e libera)Pode-se utilizar o Lock(bloqueio) para pequenas alterações.Em um kanban poderíamos acompanhar a demanda desses arquivospara outras modificações.
  12. QUEBRANDO O VERSIONAMENTOUtilizar pastas doprojeto não versionadasquebra o versionamento.Se você precisaramificar (colocar emuma pasta avulsa) a suauma pasta avulsa) a suacópia local (você sódeve ter uma*) o SVNtem um repositório sópara isso.A situação seguinteexemplifica essasafirmações.
  13. QUEBRANDO O VERSIONAMENTORepositório de desenvolvimento(Trunk)Quebra de versionamento
  14. QUEBRANDO O VERSIONAMENTO (P2)Repositório de desenvolvimento(Trunk)Quebra de versionamento
  15. MOTIVOS PARA SE TRABALHAR COM OREPOSITÓRIO DE RAMIFICAÇÕES (BRANCHES)1. Banir mais de uma cópia local(principalmente asnão versionadas) nas máquinas clientes do SVN.Com isso evitamos subscrita.2. Separar versões de teste de versões de produção.3. Diminuir a necessidade de várias validações em umaúnica versão.única versão.4. Agilizar a liberação de versões para testes.5. Evitar que funcionalidades que não estãofinalizadas/concluídas sejam submetidas ao cliente.6. Evitar que projetos longos estejam presente somentena máquina cliente, durante a fase deimplementação.7. Resolver provisoriamente alterações concorrentes nomesmo arquivo, afim de evitar conflitos.
  16. UTILIZANDO O BRANCHES.RECURSOS DO SVN.Repositório de desenvolvimento(Trunk) Repositório de ramificações(branches)/projeto_devn/projeto_dev1AlternaMantémcópia única
  17. UTILIZANDO O BRANCHES.Repositório de desenvolvimento(Trunk) Repositório de ramificações(branches)/projeto_devn/projeto_dev1PublicaMERGE
  18. MITOS RELACIONADOS AO UPDATEConforme vimos o update sobrescreve com a versão maisatual, as suas cópias locais. Se a versão do repositório foipublicada erroneamente, você receberá esse arquivo.Se você fez alterações que não estão publicadas o updatetentará realizar o merge caso as linhas alteradas nãoafetem suas modificações.afetem suas modificações.Caso contrário existirá um conflito, e você não perderánada, inclusive por que o SVN guardará sua cópia localcom o nome .mine, conforme você pode ver na imagem aolado.A partir daí você decide sobre o conflito. O sistema não éadivinho.
  19. ARQUIVOS GERADOS NO CONFLITOfilename.ext.mineEste é seu arquivo tal como existia em sua cópia local antesde tê-la atualizado - ou seja, sem indicações de conflito.Este arquivo contém as modificações mais recentes e nadamais.filename.ext.rREVANTfilename.ext.rREVANTEste é o arquivo que serviu de revisão BASE antes deatualizar sua cópia local. Ou seja, é o arquivo que vocêassinalou para controlar antes de efetuar as modificações.filename.ext.rNOVAREVEste é o arquivo que o cliente Subversion acabou de receberdo servidor quando você atualizou sua cópia local. Estearquivo corresponde à revisão HEAD do repositório.
  20. CONCLUSÕESUsar o SVN com pastas não versionadas ajuda aquebrar o versionamento.É necessário obter a cultura de que todos osarquivos de projeto devem estar sobreversionamento.versionamento.Devemos conhecer o que equipe está fazendo afimaté de evitar re-trabalho e conflitos.Podemos usar o SVN afim de resolver problemasconhecendo melhor o como seu uso foi pensado.
  21. FIMAutor: Cláudio da Costa ApolônioTécnologo em Processamento de Dados – Fatec-BS(Rubens Lara)Pós-Graduando em Gerencimento de Projetos – Senac-SP (Santos)

×