Programação - SVN - Regras

De FuturaWiki
Edição feita às 15h35min de 7 de outubro de 2016 por Lucben (Discussão | contribs)

(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Definição

Cada programador possui seu proprio usuario e senha, sendo que ficara logado no servidor o que cada um fizer no programa.

É responsabilidade de cada um descrever o que esta sendo alterado naquele commit, na forma combinada em relação ao releases do wiki, com a exceção de que não precisa colocar o seu proprio nome, POREM deve-se informar caso seja uma modificação em algum sistema especifico ou no generico.

LEMBRE-SE de descrever ao maximo possivel para que outros saibam o que foi mudado no fonte.

Inicialmente deve-se instalar o programa TortoiseSVN no seu micro, ele esta em o:\software\utilitarios\

Evite ao maximo possivel ficar com alguma alteração unicamente em seu proprio micro, em caso de tarefas longas buscar dividir ela de forma a ser possivel "commitar" a mesma aos poucos para diminuir os conflitos no codigo.

Exemplo:

Programador X, tem de adicionar mais um campo no cadastro do cliente, e na venda do pedido usar esse campo para preencher a observação do mesmo. São 2 tarefas no qual:

  1. Alterar o cadastro de cliente
  2. Modificar o pedido de venda para usar a informação na observação.

Sendo assim ao concluir a 1, realize a sequencia abaixo para ja enviar a mesma ao servidor para em seguida começar a realizar a 2, dessa forma caso outro programador precise realizar alguma mudança no cadastro de cliente enquanto o programador X esta mexendo no cadastro de cliente, não ocorrera conflitos devido ao trabalho de cada um.

Conflitos ocorrem quando mais de uma pessoa mexe na mesma unit e ao enviar para o servidor ele percebe isso e avisa, DEVE-SE procurar o individuo que enviou o codigo que esta no servidor atual junto com o que deseja enviar suas proprias alterações e ambos verificarem o codigo para assim mesclar o trabalho de ambos no servidor, CASO ocorra de um programador sobrescrever o trabalho de outro sera possivel identicar QUEM fez isso E DE ACORDO com a situação havera uma "conversinha" com o "cidadão". Em caso de duvidas a respeito da resolução de conflitos no codigo ver com Nando OU Jones.

IMPORTANTE

  • Tanto em BRANCHES quanto em TAGS a nomeclatura para as versões é a mesma usada no projeto, aka "Ano.Mes.Dia.Release"
  • NUNCA EM HIPOTESE alguma "committe" para o servidor arquivos com extençoes diferentes de .pas .dfm .res .dpr .cfg, configure seu svn cliente para excluir do envio arquivos com extenções diferentes destas.
  • SEMPRE ao for efetuar o "commit", verifique a lista de arquivos que estarão sendo "committados", caso entre eles conste algum com alguma extenção que não deve ser enviada para o servidor, click sobre a mesma com botão direito e selecione "Add to ignore list" -> "*.Extenção", assim o svn não enviara os mesmo para o servidor
  • SE quiser manter a letra H: para indicar a unidade aonde estão os fontes, Desconecte da unidade h: e no prompt do windows rode o comando "subst h: D:\_Fontes\fontes-v01" isso criara o mapeamento virtual do caminho aonde esta os fontes. "o poder esta em vocês!"


PS: Ficou mais rapido compilar o FuturaServer Generico... se quiser dar uma aumentada ainda mais crie um disco virtual na memoria, para os interessados explico durante a tarde

Sequencia

Busque sempre realizar a sequencia abaixo para cada tarefa a ser feita.

  1. Botão direito em cima de d:\_Fontes\fontes-v01
  2. Click em SVN Update
  3. Informe Usuario/Senha se solicitado
  4. Realize suas mudanças no fonte
  5. Botão direito em cima de d:\_Fontes\fontes-v01
  6. Click em SVN Update
  7. Realize um teste rapido para verificar se o seu codigo continua compativel com o do servidor
  8. Depois de corrigido, se houver necessidade
  9. Botão direito em cima de d:\_Fontes\fontes-v01
  10. Click SVN Commit
  11. Informe Usuario/Senha se solicitado
  12. Preencha no campo "Message", a unit/tela/relatorio em questão entre colchetes [], e na linha subsequente o que foi feito na mesma, seguindo o padrão.
 Novo: "Foi adicionado isso e aquilo mais"
 Modificado: "Foi modificado isso"
 Excluido: "Foi excluido tal coisa por causa disso e daquilo la..."
 
  • SVN Checkout -> Obtem do servidor o repositorio de fontes
  • SVN Update -> Atualiza os arquivos do seu repositorio atual com o do servidor (não sobrescreve os que você houver modificado)
  • SVN Commit -> Envia para o servidor as suas modificações

Repositorios

Na versão atual foi criado os seguintes repositorios:

Teste

Use para efetuar testes diversos, como por exemplo testar o uso do svn...

svn://192.168.0.2/home/svn/teste04/trunk

Geral

Raiz do repositorio, não use a não ser em situações especificas... aka não mexa aqui

svn://192.168.0.2/home/svn/fontes-v01

Trunk

Este é o repositorio usado no dia a dia para armazenar as tarefas pendentes/concluidas

svn://192.168.0.2/home/svn/fontes-v01/trunk

Branches

Assim que algum codigo estiver relativamente estavel, o mesmo deve ser movido para uma subpasta sob este repositorio para ultimos testes

svn://192.168.0.2/home/svn/fontes-v01/branches

Tags

Uma vez concluido os teste, e o programa estiver estavel, testado e pronto para ser enviado

svn://192.168.0.2/home/svn/fontes-v01/tags

BaseDados

Usada para armazenar scripts em desenvolvimento

svn://192.168.0.2/home/svn/BaseDados-v01