Comment obtenez-vous informé des mises à jour de votre référentiel?
-
21-09-2019 - |
Question
Je travaille sur plusieurs référentiels au travail et que vous souhaitez être informé, si quelque chose change dans les dépôts SVN.
J'ai fait un petit script BAT (oui, BAT est parfois utile) qui maintient l'exécution d'une svn log -r BASE:HEAD
sur ma copie de travail. Il montre soumettre tous les commentaires et les dates de révision. Il fonctionne très bien, mais il est mal à l'aise pour les différents dépôts.
Comment garder une trace des changements dans vos dépôts? Utilisez-vous un petit programme que vous avez fait pour vous-même? Utilisez-vous quelqu'un d'autre logiciel fait? Je suis intéressé par toutes les approches de ce problème.
Je voudrais obtenir Notifications et plus d'informations sur la validation. Les fonctions intégrées IDE sont bonnes, mais ne fonctionnent que si je demande l'information.
Je ne veux pas agir pour obtenir ces informations.
Plate-forme: Windows, Subversion 1.5 et
.La solution
J'utilise CommitMonitor ; il est d'un des développeurs du TortoiseSVN. Vous pouvez facilement ajouter plusieurs URL SVN pour surveiller et spécifier un intervalle pour vérifier commits. Si les mises à jour se trouvent, il montre un peu les fenêtres pop-up dans le coin de l'écran.
Il y a aussi SVN moniteur , mais qui est un peu plus compliqué à utiliser et à configurer. En plus de donner un message sur commits, il peut aussi vous montrer les fichiers que vous avez modifié et vous rappeler de valider vos modifications.
Autres conseils
Si vous avez TortoiseSVN installé, vous pouvez alors utiliser notificateur SVN .
Je WebSVN installé et abonnez-vous au flux RSS des chemins qui me intéressent.
J'utilise PowerShell pour détecter les changements sur une branche SVN et à déployer. Ce script doit être appelé à partir de et exécutée à partir de la racine SVN (ou vous pouvez simplement boucle et dormir pour toujours):
function get-revision() {
$rev = svn info 2>&1 | sls '^Last Changed Rev:' | out-string
$rev = $rev -split ':'
$rev[1].Trim()
}
function if-changed([string]$branch, [scriptblock]$script) {
Write-Verbose "Checking for changes: $branch"
pushd $branch
$r = get-revision
if ($r -gt $status[$branch]) {
Write-Verbose "|- '$branch' changed, revision $r"
& $script
}
else { Write-Verbose "|- '$branch' is up to date at revision $r" }
$status[$branch] = $r
popd
}
svn update
Write-Verbose "Getting the deploy status"
if (Test-Path status) { $status = Import-Clixml status } else { Write-Verbose "|- No status found"; $status=@{} }
if-changed trunk { "Deploying trunk..." }
Il est beaucoup plus facile et portable que d'utiliser l'une des applications mentionnées ci-dessus tiers.
svn info | grep Revision
fonctionne pour moi. Il montre, par exemple:
Revision: 183
Si elle a changé de ce que je pense qu'il devrait, j'étudier plus.
J'utilise
svn status --show-updates
pour vous montrer que j'ai changé des fichiers ainsi que les fichiers qui ont été modifiés dans le référentiel.
Vous pouvez utiliser crochet de Subversion scripts pour configurer les notifications.