Gerenciamento do Código Fonte
Crítico para equipes
Se sua equipe é maior que um, gerenciamento de código fonte é essencial. Permitirá que sua equipe trabalhe junto mais rapidamente, com muito menos "Estou fora desta; Eu estou trabalhando nele", e muito menos "Eu não sei direito o que esta pessoa fez aqui". As Mãos à Obra, a execução bem sucedida de Gerenciamento de Código Fonte será uma grande vitória para coordenação e desempenho de sua equipe.
Útil para arqueologia do código
Quando encontrar seu próprio código velho, ou então, algum código de alguém, ver as mensagens de log e a maneira como foi construído é frequentemente e inacreditavelmente útil para encontrar erros e fazer manutenção.
Branches (Ramos de Desenvolvimento)
Frequentemente, você trabalha por um dia ou dois em uma idéia nova, somente para descobrir que você não estava trabalhando nela, você precisa se organizar e você pode não lembrar de todos os bilhões de coisas que você mudou, enquanto se divide pra botar para fora esta idéia nova. Isto é exatamente o que branches em um sistema de controle da versão significa para o gerenciamento. Aprenda como usar branches para seu sistema de Controle de Versão. Eles são mais fáceis do que você pensa, especialmente no subversion.
Subversion
Similar ao CVS, mas redesenhado de baixo para cima
Commits são por um conjunto de mudanças inteiro, não apenas por arquivos
Mais fáceis de compreender o relacionamento dos commits
API para utilitrios Python
Subversion em 1 Minute
svnadmin cría /var/lib/svn
Cria a estrutura do seu produto e arquivos
Svn import * URL para o repositório *
Livro excelente sobre o subversion publicado por O'Reilly - baseado no livro on line.
Gerenciador de Controle de Fontes não apenas para codificadores
Interfaces gráficas e linha de comando para Windows, Linux, e OS X
Simples bastante para que os desenhistas e os escritores usem
Fácil de vender - "Você não tem que preocupar-se"
No início, a tarefa de ter n desenvolvedores usando seu sistema de controle da versão parece desanimadora. Eu posso encontrar, entretanto, n desenvolvedores que podem amá-lo quando realizam facilmente seu trabalho fora dos arquivos de seu computador e sincronizado com o servidor dele, e compreendem que não tem que preocupar-se com erros. Isto é como você vende toda esta idéia.
As melhores práticas para Gerenciadores de Controle de Fontes
Mensagens de log são suas amigas
Assim não tratem-nas como suas inimigas:
Consulte os itens das mensagens no collector.
É bom escolher uma sintaxe simples e padrão para isto. Eu uso freqüentemente a frase "Collector # 123", e posso construir ferramentas WEB que permitem que você pule direto para esse erro e ver os detalhes do que você está tentando reparar. Isto ajuda a fechar o loop sobre do porque você fazia estas mudanças em primeiro lugar.
Focalize sobre porque, não o que
Naturalmente você editava o login_form. Nós podemos ver o que. Por que, entretanto, você fêz aquelas mudanças? Que era quebrado? Que requisição de cliente para este endereço? Esta é a informação que você quer mais tarde. Explanações do que você deve fazer tem que estar comentadas no código em todo o caso.
Verifique no "pristine" copia como primeira cópia
Se você quiser customizar o login_form do Plone, por exemplo, não faça a cópia dele para o seu diretório de produtos do site e imediatamente inicie o corte nele. Alternativamente, copíe-o para seu diretório, verifique-o se está correto, em seu pristine form, a seguir inicie o corte separado. Agora, você pode resolver dois problemas: (a) Ele é trivial para você para diferenciar a revisão 1 da revisão 2 deste arquivo para encontrar porque você estava customizando ela em primeiro lugar, e (b) quando Plone é atualizado e lá estão mudanças no envio do login_form, Ele é muito mais fácil de incorpora-los, desde que você saiba exatamente como login_form estava quando você iniciou, sem ter que procurar ao redor para encontrar essa versão.
Estas coisas fazem somente de uma minúscula parte da disciplina - e elas realmente pagam depois. Eles tornam isto muito mais fácil de compreender porque você customizou uma skin de Plone dois meses atrás.