Pregunta

Estoy trabajando en varios repositorios en el trabajo y me gustaría ser informado, si hay algún cambio en los repositorios SVN.

Hice un pequeño script BAT (sí, la MTD es útil a veces) que mantiene la ejecución de una svn log -r BASE:HEAD en mi copia de trabajo. Muestra todas presentar observaciones y las fechas de revisión. Funciona muy bien, pero no es cómodo para los diferentes repositorios.

¿Cómo hacer un seguimiento de los cambios en los repositorios? Cómo se utiliza un pequeño programa que haya hecho por sí mismo? Cómo se utiliza el software de algún otro hecho? Estoy interesado en cada acercamiento a este problema.

Me gustaría llegar Notificaciones y más información sobre la confirmación. Las funciones IDE integradas son buenas, pero sólo funcionan si solicito la información.
No quiero actuar para obtener esta información.

Plataforma: Windows, Subversion 1.5 y superior

.
¿Fue útil?

Solución

Estoy usando CommitMonitor ; que es uno de los desarrolladores de la TortoiseSVN . Usted puede agregar fácilmente varias direcciones URL SVN para monitorear y especificar un intervalo para comprobar si hay confirmaciones. Si se encuentra alguna actualización, se muestra un poco las ventanas emergentes 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 en confirmaciones, sino que también le puede mostrar qué archivos ha modificado y recordarle que tiene que confirmar sus cambios.

Otros consejos

Si usted tiene TortoiseSVN instalado, entonces se podría utilizar SVN notificador .

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

PowerShell para detectar cambios en una rama SVN y desplegar. Este script debe ser llamado desde 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"; $status=@{} }

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 que se mencionan anteriormente.

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

Revision: 183

Si ha cambiado de lo que yo creo que debería, entonces investigar más a fondo.

Yo uso

svn status --show-updates

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

Se puede usar gancho de Subversion guiones para configurar las notificaciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top