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

.
È stato utile?

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.

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top