2010-02-17 10 views
21

Estoy trabajando en varios repositorios en el trabajo y me gustaría estar informado, si algo cambia en los repositorios SVN.¿Cómo se notifica de las actualizaciones de su repositorio?

Hice un pequeño script BAT (sí, BAT es útil a veces) que sigue ejecutando un svn log -r BASE:HEAD en mi copia de trabajo. Muestra todos los comentarios enviados y las fechas de revisión. Funciona muy bien, pero no es cómodo para diferentes repositorios.

¿Cómo se hace un seguimiento de los cambios en sus repositorios? ¿Usas un pequeño programa que hiciste para ti? ¿Utiliza software que alguien más creó? Estoy interesado en cada acercamiento a este problema.

Deseo recibir notificaciones y más información acerca de la confirmación. Las funciones integradas de IDE son buenas, pero funcionan solo si solicito la información.
No quiero actuar para obtener esta información.

Plataforma: Windows, Subversion 1.5 y superior.

Respuesta

30

Estoy usando CommitMonitor; es de uno de los desarrolladores de TortoiseSVN. Puede agregar fácilmente varias URL SVN para supervisar y especificar un intervalo para verificar las confirmaciones. Si se encuentran actualizaciones, muestra una pequeña ventana emergente en la esquina de la pantalla. También hay SVN Monitor, pero eso es un poco más complicado de usar y configurar. Además de dar un mensaje sobre confirmaciones, también puede mostrarle qué archivos ha modificado y recordarle que debe confirmar sus cambios.

+0

Estas recomendaciones son muy buenas, ya lo veré! – guerda

+3

+1 para el monitor de commit - drop-dead fácil de usar – Antony

+0

Actualización sobre la nueva ubicación para CommitMonitor: http://sourceforge.net/projects/commitmonitor/ – Ascalonian

0

svn info | grep Revision funciona para mí. Muestra, por ejemplo:

Revision: 183 

Si ha cambiado de lo que creo que debería, investigo más.

+0

¿Cómo funciona la notificación? –

0

utilizo

svn status --show-updates 

a mostrar qué archivos que he cambiado, así como aquellos archivos que han cambiado en el repositorio.

Puede usar Subversion's hook scripts para configurar las notificaciones.

+1

No ayuda. Me gustaría ser notificado. – guerda

5

Si tiene TortoiseSVN instalado, entonces puede usar SVN Notifier.

+0

¿Cómo comienzo SVN Notifier? ¿Hay un exe? Solía ​​correr solo, pero lo detuve hace unos días. – Danijel

2

He instalado WebSVN y suscribirse a feeds RSS de los caminos que me interesan.

+0

¡Buena posibilidad! – guerda

1

Uso PowerShell para detectar cambios en una rama SVN e implementar. Este script debe ser llamado desde Task Scheduler y se ejecuta desde la raíz SVN (o simplemente puede bucle y dormir para siempre):

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"; [email protected]{} } 

if-changed trunk { "Deploying trunk..." } 

Esto es mucho más fácil y más fáciles de transportar que el uso de cualquiera de las aplicaciones de terceros antes mencionados.

+0

¿Cuál es el método de notificación? No está claro desde el código de PowerShell. –

+0

¿Cómo se notifica al usuario? Por ejemplo, ¿se abre una ventana de línea de comando *** *** nueva que contiene el texto de notificación? –

+0

Puedes elegir lo que sea: 'si-cambió el trunk {Send-Mail ...}' BaloonPopup es otra opción popular. – majkinetor

Cuestiones relacionadas