O título deve parecer estranho, mas estou tentando conseguir o seguinte:
Localização do repositório SVN: /home/flx/svn/flxdev Estrutura "flxdev" do repositório SVN:
+ Project1
++ files
+ Project2
+ Project3
+ Project4
Estou tentando configurar um gancho pós-commit que faz check-out automaticamente do outro lado quando faço um commit.
O documento pós-commit lista explicitamente o seguinte:
# POST-COMMIT HOOK
#
# The post-commit hook is invoked after a commit. Subversion runs
# this hook by invoking a program (script, executable, binary, etc.)
# named 'post-commit' (for which this file is a template) with the
# following ordered arguments:
#
# [1] REPOS-PATH (the path to this repository)
# [2] REV (the number of the revision just committed)
Então fiz o seguinte comando para testar:
REPOS="$1"
REV="$2"
echo "Updated project $REPOS to $REV"
No entanto, quando edito arquivos no Projeto1, por exemplo, isso gera"Projeto atualizado /home/flx/svn/flxdev para 1016"
Eu gostaria que isso fosse:"Projeto atualizado Project1 para 1016"
Ter essa variável me permite especificar diferentes ações por projeto pós-confirmação. Como posso especificar o parâmetro do projeto?
Obrigado!
Denis
Responder1
Usar svnlook
.
Rápido e sujo seria tentar algo como:
REPOS="$1"
REV="$2"
CHANGED_DIRS="`/usr/bin/svnlook -r $REV dirs-changed $REPOS`"
echo "Updated paths $CHANGED_DIRS in revision $REV"
Você pode tentar executar svnlook help
; ele listará os vários comandos que você pode usar/informações que você pode obter.