Come si fa a ricevere la notifica degli aggiornamenti del tuo repository?
-
21-09-2019 - |
Domanda
Sto lavorando su diversi repository sul lavoro e vorrei essere informato, se qualcosa cambia nei repository SVN.
Ho fatto un piccolo script BAT (sì, BAT è utile a volte) che mantiene l'esecuzione di un svn log -r BASE:HEAD
sulla mia copia di lavoro. Esso mostra tutte presentare osservazioni e le date di revisione. Funziona davvero bene, ma non è comodo per diversi repository.
Come si fa a tenere traccia dei cambiamenti nei repository? Non si utilizza un piccolo programma che hai fatto per te stesso? Non si utilizza il software qualcun altro fatto? Sono interessato a ogni approccio a questo problema.
Mi piacerebbe avere Notifiche e ulteriori informazioni sulla commettere. Le funzioni integrate IDE sono buone, ma funzionano solo se chiedo l'informazione.
Non voglio agire per ottenere queste informazioni.
Piattaforma: Windows, Subversion 1.5 e superiori
.Soluzione
CommitMonitor ; è da uno degli sviluppatori del TortoiseSVN . È possibile aggiungere facilmente diversi URL SVN per monitorare e specificare un intervallo per verificare la presenza di commit. Se vengono trovati aggiornamenti, mostra un po 'di finestre pop-up in un angolo dello schermo.
C'è anche SVN Monitor , ma che è un po 'più complicato da usare e configurare. Oltre a dare un messaggio sul commit, può anche mostrare i file che sono stati modificati e si ricorderà per confermare le modifiche.
Altri suggerimenti
Se hai TortoiseSVN installato, allora si potrebbe utilizzare SVN Notifier .
WebSVN installato e iscriversi ai feed RSS dei percorsi che mi interessano.
E-mail. Un esempio SVN post-commit hook per inviare e-mail può si trovano in subversion stesso .
PowerShell per rilevare i cambiamenti su un ramo di SVN e distribuire. Questo script dovrebbe essere chiamato da Utilità di pianificazione ed eseguito dalla radice SVN (o si può semplicemente loop e dormire per sempre):
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..." }
Questo è molto più facile e portatile che utilizzare una delle applicazioni di terze parti di cui sopra.
svn info | grep Revision
funziona per me. Essa mostra, ad esempio:
Revision: 183
Se è cambiato da quello che penso che dovrebbe, poi ho indagare ulteriormente.
Io uso
svn status --show-updates
per mostrare quali sono i file che ho cambiato, così come i file che sono stati modificati nel repository.
Si potrebbe utilizzare gancio di Subversion script per impostare le notifiche.