Programação - SVN - Regras
Índice
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:
- Alterar o cadastro de cliente
- 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.
- Botão direito em cima de d:\_Fontes\fontes-v01
- Click em SVN Update
- Informe Usuario/Senha se solicitado
- Realize suas mudanças no fonte
- Botão direito em cima de d:\_Fontes\fontes-v01
- Click em SVN Update
- Realize um teste rapido para verificar se o seu codigo continua compativel com o do servidor
- Depois de corrigido, se houver necessidade
- Botão direito em cima de d:\_Fontes\fontes-v01
- Click SVN Commit
- Informe Usuario/Senha se solicitado
- 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