Pergunta

Estou usando o Visual SVN Server e o Tortoise SVN (cliente) para controle de origem.Gostaria que todos os desenvolvedores padronizassem um formato consistente para notas de check-in.

Por exemplo, quero que a mensagem de commit seja padronizada para ...

Sinopse:

Nome do desenvolvedor: (pré-preenchido)

Revisados ​​pela:

[ID do bug]:

[Alterar estado do bug]:

Problemas conhecidos:

Arquivos afetados: (pré-preenchido)

No futuro, gostaria que [Bug Id] e [Bug State] fornecessem as informações para acionar uma atualização automática do sistema de rastreamento de bugs.Além disso, o nome do desenvolvedor e os arquivos afetados devem ser pré-preenchidos com o usuário svn e os arquivos que o usuário está enviando.

Por favor, envie quaisquer links ou amostras que você possa ter.

Foi útil?

Solução

Tirado de Como criar um modelo de check-in Tortoise SVN (modificado para se adequar às versões mais atuais):

O modelo de log pode ser personalizado de acordo com os requisitos do projeto e pode ser usado para implementar um formato de log estrito.

Adicionar isso ao seu repositório svn é fácil:

  1. Selecione uma pasta SVN à qual você deseja aplicar isso, vá para as propriedades do Subversion (clique com o botão direito TortoiseSVN -> Properties)

  2. Selecione New -> Advanced, então tsvn:logtemplate na lista suspensa chamada Property name.

  3. Adicione os modelos acima (ou os seus próprios) à área de texto abaixo da caixa de combinação.

  4. Se você deseja aplicar a propriedade a todos os arquivos e pastas na hierarquia abaixo da pasta atual, marque a caixa de seleção Recursiva.

  5. Clique em OK para adicionar essa propriedade à lista.

  6. Faça check-in de todas as pastas e arquivos para que todos os outros membros da sua equipe possam usar o mesmo modelo.

Outras dicas

Uma maneira de fazer isso com a linha de comando é alterar a variável de ambiente SVN_EDITOR, descrita aqui:

http://svn.haxx.se/dev/archive-2006-02/0487.shtml

SVN_EDITOR="rm svn-commit.tmp && cp $REPOS/hooks/log.tmpl svn-commit.tmp && vi svn-commit.tmp"

Ou, para maior conforto do SVN_EDITOR (por exemplo,vinculando corretamente ao item de trabalho do TFS no caso de ter que usar o SvnBridge), pode-se armazenar o seguinte script como ~/bin/svn_editor :

#!/bin/sh

template_file="${@}"
template_file_new="${template_file}.new"

current_work_item_number_file="${HOME}/tfs_work_item_number_current.txt"
[ -f "${current_work_item_number_file}" ] && work_item=$(cat "${current_work_item_number_file}") || work_item="please fill in!"

# Yes folks, this is the TFS convention (hard, NOT-TO-BE-ALTERED text)
# to properly link to work items via SvnBridge commits!
work_item_prefix_hard_tfs_convention_text="work item: "

work_item_text="${work_item_prefix_hard_tfs_convention_text}${work_item}"

custom_text="${work_item_text}\n\n[this addition above initially placed to ignored content part here,\nto ensure properly abortable empty message by default - please move it to active content as needed]"

sed -e 's/\(will be ignored--\)/\1\n'"${custom_text}"'/' "${template_file}" > "${template_file_new}"

mv -f "${template_file_new}" "${template_file}"

$EDITOR "${@}"

e então simplesmente faça

export SVN_EDITOR=~/bin/svn_editor

em ~/.bashrc ou algo assim.Pontos de bônus por manter o arquivo de número do item de trabalho atualizado mesmo na página do item de trabalho atual, conforme visualizado na interface da web do Firefox TFS (acho que possivelmente existe uma maneira de se comunicar com o Firefox para obter títulos de páginas, etc.).Ou simplesmente faça com que este script inicie um primeiro editor inicial executado no arquivo de item de trabalho persistente e então deixe-o executar o segundo editor no modelo de commit personalizado.

Eu encontrei usando:Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top