2008-11-16 22 views
6

Tenía la esperanza de automatizar algunas tareas relacionadas con SubVersion, así que obtuve SharpSvn. Desafortunadamente no puedo encontrar mucha documentación para ello.¿Cómo puedo ver los cambios realizados después de que se haya corregido una revisión y analizar los comentarios?

Deseo poder ver los cambios después de que el usuario haya realizado una nueva revisión para que pueda analizar el código de los comentarios especiales que luego pueden cargarse en mi sistema de tickets.

Respuesta

3

Si solo desea navegar SharpSvn puede usar http://docs.sharpsvn.net/. La documentación allí está lejos de estar completa ya que el enfoque se centra principalmente en proporcionar funciones. Cualquier ayuda en la mejora de la documentación (o SharpSvn sí mismo) es bienvenida ;-)

Para utilizar los mensajes de registro para su control de incidencias se pueden utilizar dos rutas:

  1. Un gancho que procesa los cambios uno a la post-commit un tiempo
  2. Un servicio programado que llama 'svn log -r < último-recuperado >: HEAD' de vez en cuando.

Las últimas compilaciones diarias de SharpSvn tienen algo de soporte para commit hooks, pero esa parte aún no es apilable.

Se puede crear un puesto de cometer gancho (post-commit.exe) con:

static void Main(string[] args) 
{ 
    SvnHookArguments ha; 
    if (!SvnHookArguments.ParseHookArguments(args, SvnHookType.PostCommit, false, out ha)) 
    { 
    Console.Error.WriteLine("Invalid arguments"); 
    Environment.Exit(1); 
    } 

    using (SvnLookClient cl = new SvnLookClient()) 
    { 
    SvnChangeInfoEventArgs ci; 
    cl.GetChangeInfo(ha.LookOrigin, out ci); 

    // ci contains information on the commit e.g. 
    Console.WriteLine(ci.LogMessage); // Has log message 

    foreach(SvnChangeItem i in ci.ChangedPaths) 
    { 
     // 
    } 
    } 
} 

(Para una solución completa que también tendría que enganche el post-revprop de cambio, ya que sus usuarios podrían cambiar el mensaje de registro después de la primera confirmación)

0

Me pregunto si los ganchos de subversión (en el servidor SVN) podrían no ser otro enfoque aquí? No lo he intentado, pero CaptainHook parece ofrecer la integración de enlace svn ->. NET.

+1

CaptainHook es una buena solución para usar ganchos en .NET. Asegúrate de agarrar los parches. Uno corrige 2x errores –

Cuestiones relacionadas