Pregunta

Tengo TotroiseSVN instalado y que la mayoría de mis repositorios de entrada y salida de C:\subversion\ y un par de entrada y salida de un recurso compartido de red (me olvidé de este cuando originalmente publicado esta pregunta).

Esto significa que no tengo una "subversión" servidor per se.

¿Cómo puedo integrar TortoiseSVN y Fogbugz?

Editar:inserta cursiva

¿Fue útil?

Solución

He estado investigando este problema y han conseguido que funcione.Hay un par de problemas menores pero que pueden ser trabajadas en-torno.

Hay 3 partes diferenciadas este problema, como sigue:

  1. El TortoiseSVN parte - obtención de TortoiseSVN para insertar el Bugid y el hipervínculo en el svn log

  2. El FogBugz parte - llegar FogBugz para insertar el SVN info y los enlaces correspondientes

  3. El WebSVN parte - garantizar los vínculos de FogBugz en realidad el trabajo

Instrucciones para la parte 1 son en otra respuesta, aunque en realidad no hace más que necesario.Las cosas acerca de los ganchos en realidad es para la parte 2, y como se señaló - no funciona "out of the box"

Sólo para confirmar, estamos buscando en el uso de TortoiseSVN SIN un servidor SVN (es decir.archivo basado en repositorios)

Yo estoy acceso a los repositorios utilizando las rutas de acceso UNC, pero también funciona para las unidades locales o de las unidades asignadas.

Todo esto funciona con TortoiseSVN v1.5.3 y SVN Server v1.5.2 (necesita instalar el Servidor SVN porque la parte 2 de las necesidades de svnlook.exe que está en el paquete de servidor.En realidad no se configurarlo para que funcione como un Servidor SVN) incluso puede ser posible que con solo copiar svnlook.exe desde otro equipo y ponerlo en algún lugar en tu camino.

Parte 1 - TortoiseSVN

La creación de la TortoiseSVN propiedades es todo lo que se requiere para obtener los enlaces en el SVN log.

Instrucciones anteriores funcionan bien, voy a citar aquí por comodidad:

Configurar las Propiedades

  1. Haga clic derecho en el directorio raíz de la desprotegido proyecto que desea trabajar.

  2. Seleccione "TortoiseSVN -> Propiedades"

  3. Añadir las cinco de la propiedad de los pares de valores haciendo clic en "Nuevo..." y la inserción de los siguientes en "Nombre de la Propiedad" y "Valor de la Propiedad", respectivamente:(asegúrese de marcar la casilla "Aplicar la propiedad de forma recursiva" para cada uno)

    bugtraq:label    BugzID:
    bugtraq:message  BugzID: %BUGID%
    bugtraq:number   true
    bugtraq:url      http://[your fogbugz URL here]/default.asp?%BUGID%
    bugtraq:warnifnoissue   false
    
  4. Haga clic en "ACEPTAR"

Como Jeff dice, tendrás que hacer eso para cada copia de trabajo, de modo de seguir sus instrucciones para la migración de las propiedades.

Eso es todo.TortoiseSVN ahora va a añadir un enlace a la correspondiente FogBugz bugID cuando se cometen.Si eso es todo lo que usted desea, usted puede parar aquí.

Parte 2 - FogBugz

Para que esto funcione tenemos que configurar los scripts gancho.Básicamente, el archivo por lotes se llama después de cada commit, y este a su vez llama al script VBS que hace de la presentación de la FogBugz.El VBS script funciona realmente bien en esta situación así que no es necesario modificarla.

El problema es que el archivo de proceso por lotes está escrito para trabajar como servidor gancho, pero necesitamos un cliente el gancho.

SVN server llama a la post-commit gancho con estos parámetros:

<repository-path> <revision>

TortoiseSVN llama a la post-commit gancho con estos parámetros:

<affected-files> <depth> <messagefile> <revision> <error> <working-copy-path>

Así que por eso no funciona - los parámetros son incorrectos.Tenemos que modificar el archivo de proceso por lotes para que pase los parámetros correctos para el script VBS.

Usted notará que TSVN no pasa la ruta de repositorio, que es un problema, pero no funciona en las siguientes circunstancias:

  • El nombre del repositorio y de la copia de trabajo nombre de la misma
  • Hacer el commit en la raíz de la copia de trabajo, no en una subcarpeta.

Voy a ver si puedo solucionar este problema y publicará de nuevo aquí si yo.

Aquí está mi modificado por lotes de archivos que funciona (por favor disculpen el exceso de comentarios...)

Usted necesitará fijar el gancho y directorios del repositorio para que coincida con su configuración.

rem @echo off
rem   SubVersion -> FogBugz post-commit hook file
rem   Put this into the Hooks directory in your subversion repository
rem   along with the logBugDataSVN.vbs file

rem   TSVN calls this with args <PATH> <DEPTH> <MESSAGEFILE> <REVISION> <ERROR> <CWD>
rem   The ones we're interested in are <REVISION> and <CWD> which are %4 and %6

rem   YOU NEED TO EDIT THE LINE WHICH SETS RepoRoot TO POINT AT THE DIRECTORY 
rem   THAT CONTAINS YOUR REPOSITORIES AND ALSO YOU MUST SET THE HOOKS DIRECTORY

setlocal

rem   debugging
rem echo %1 %2 %3 %4 %5 %6 > c:\temp\test.txt

rem   Set Hooks directory location (no trailing slash)
set HooksDir=\\myserver\svn\hooks

rem   Set Repo Root location (ie. the directory containing all the repos)
rem   (no trailing slash)
set RepoRoot=\\myserver\svn

rem   Build full repo location
set Repo=%RepoRoot%\%~n6

rem   debugging
rem echo %Repo% >> c:\temp\test.txt

rem   Grab the last two digits of the revision number
rem   and append them to the log of svn changes
rem   to avoid simultaneous commit scenarios causing overwrites
set ChangeFileSuffix=%~4
set LogSvnChangeFile=svn%ChangeFileSuffix:~-2,2%.txt

set LogBugDataScript=logBugDataSVN.vbs
set ScriptCommand=cscript

rem   Could remove the need for svnlook on the client since TSVN 
rem   provides as parameters the info we need to call the script.
rem   However, it's in a slightly different format than the script is expecting
rem   for parsing, therefore we would have to amend the script too, so I won't bother.
rem @echo on
svnlook changed -r %4 %Repo% > %temp%\%LogSvnChangeFile%
svnlook log -r %4 %Repo% | %ScriptCommand% %HooksDir%\%LogBugDataScript% %4 %temp%\%LogSvnChangeFile% %~n6

del %temp%\%LogSvnChangeFile%
endlocal

Voy a asumir que los repositorios se encuentran en \\myserver\svn\ y las copias de trabajo, que todos están bajo `C:\Projects\

  1. Vaya a su FogBugz cuenta y haga clic en Extras -> Configurar la Integración de Control de Origen

  2. Descargar el archivo de VBScript para la Subversión (que no se moleste con el archivo de proceso por lotes)

  3. Crear una carpeta para almacenar los scripts gancho.Lo puse en la misma carpeta que mi repositorios.por ejemplo. \\myserver\svn\hooks\

  4. Cambiar el nombre de VBscript para quitar el .safe en el final del nombre de archivo.

  5. Guardar mi versión de el lote de archivos en su directorio hooks, como post-commit-tsvn.bat

  6. Haga clic derecho en cualquier directorio.

  7. Seleccione "TortoiseSVN > Configuración" (en el menú del clic derecho desde el último paso)

  8. Seleccione "Scripts Gancho"

  9. Haga clic en "Agregar" y establezca sus propiedades como sigue:

    • El Tipo De Anzuelo:Post-Commit Gancho

    • De Trabajo De Copiar La Ruta: C:\Projects (o cualquiera que sea tu directorio raíz para todos sus proyectos.)

    • Línea De Comando A Ejecutar: \\myserver\svn\hooks\post-commit-tsvn.bat (esto debe apuntar a donde quiera que ponga su ganchos directorio en el paso 3)

    • Garrapata "Esperar a que el script termine"

  10. Haga clic en ACEPTAR dos veces.

La próxima vez que se comprometen y entrar en un Bugid, será sometido a FogBugz.Los enlaces no funcionan, pero al menos la revisión de la información está allí y que usted puede buscar manualmente el registro de TortoiseSVN.

NOTA:Te darás cuenta de que la raíz del repositorio está codificada en el archivo por lotes.Como resultado, si la hora de salida de los repositorios que no tiene la misma raíz (por ejemplo.uno en la unidad local y uno en la red), entonces usted tendrá que usar 2 archivos por lotes y 2 entradas correspondientes en virtud de los Scripts Gancho en la TSVN configuración.La manera de hacer esto sería tener 2 aparte de la Copia de Trabajo árboles, uno por cada raíz del repositorio.

Parte 3 - WebSVN

Errr, no he hecho esto :-)

De la lectura de la WebSVN docs, parece que WebSVN en realidad no se integran con el servidor SVN, simplemente se comporta como cualquier otro cliente de SVN, pero presenta una interfaz de web.En teoría, entonces, debería funcionar bien con un archivo basado en el repositorio.Yo no lo he probado, aunque.

Otros consejos

Esta respuesta es incompleta y deficiente!Sólo funciona a partir de TortoisSVN a Fogbugz, pero no la otra manera alrededor.Todavía tengo que saber cómo llegar a trabajar hacia atrás a partir de Fogbugz (como es diseñado a) para que yo pueda ver el número de Revisión de un fallo es abordado desde Fogbugz mientras mira a un bicho.


Útil URL

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-propertypage.html

http://tortoisesvn.net/issuetracker_integration


Conjunto de los "Ganchos"

  1. Vaya a su fogbugz cuenta y haga clic en Herramientas > Configurar la Integración de Control de Origen

  2. Descargar "post-commit.bat" y el archivo de VBScript para la Subversión

  3. Crear un "ganchos" directorio común de la ubicación de fácil acceso (preferiblemente sin espacios en la ruta de acceso del archivo)

  4. Coloque una copia de los archivos en los ganchos de los directorios

  5. Cambie el nombre los archivos sin el ".seguro" extensión

  6. Haga clic derecho en cualquier directorio.

  7. Seleccione "TortoiseSVN > Configuración" (en el menú del clic derecho desde el último paso)

  8. Seleccione "Scripts Gancho"

  1. Haga Clic En "Agregar"

  2. Establecer las propiedades así:

    • El Tipo De Anzuelo:Post-Commit Gancho

    • De Trabajo De Copiar La Ruta:C:\\Projects (o cualquiera que sea tu directorio raíz para todos sus proyectos.Si usted tiene múltiples será necesario hacer este paso para cada uno.)

    • Línea De Comando A Ejecutar:C:\\subversion\\hooks\\post-commit.bat (esto debe apuntar a donde quiera que ponga su ganchos directorio desde el paso 3)

    • También he seleccionado la casilla de verificación para Esperar a que el script termine...

ADVERTENCIA:No olvides que la doble barra inclinada!"\\"

Haga clic en ACEPTAR...

Adding a Hook Script

Nota:la captura de pantalla es diferente, siga el texto de las rutas de los archivos, NO la captura de pantalla...

En este punto parecería que podría haga clic en "gestor de la Integración" y seleccione Fogbugz.nope.Sólo devuelve "no Hay ningún problema-tracker proveedores disponibles".

  1. Haga clic en "ACEPTAR" para cerrar todo configuración de la ventana de diálogo

Configurar las Propiedades

  1. Una vez más, haga clic Derecho en el directorio raíz de la desprotegido proyecto en el que desea trabajar (lo que usted necesita hacer esto "configurar las propiedades" paso a paso para cada proyecto, Consulte "Migración de las Propiedades Entre los Proyectos" más abajo)

  2. Seleccione "TortoiseSVN > Propiedades" (en el menú del botón derecho desde el último paso)

  3. Añadir las cinco de la propiedad de los pares de valores haciendo clic en "Nuevo..." y la inserción de la siguiente en "el Nombre de la Propiedad" y "Valor de la propiedad", respectivamente:

bugtraq:etiqueta BugzID:
bugtraq:mensaje BugzID:%%BUGID%%

bugtraq:verdadero

bugtraq:url http://[tu fogbugz URL aquí]/default.asp?%BUGID%

bugtraq:warnifnoissue falso

properties window adding new property

  1. Haga clic en "ACEPTAR"

De llevar a cabo los Cambios y la Visualización de los Registros de

Ahora, cuando se están cometiendo, puede especificar uno de los errores que cometen las direcciones.Este tipo de fuerzas que se comprometa después de corregir cada error...

specifying bug addressed when commiting

Al ver el registro (a la Derecha haga clic en la raíz del proyecto, TortoiseSVN > mostrar registro) usted puede ver el id del error que cada comprobación corresponde a (1), y puede hacer clic en el id del error número para ser llevado a fogbugz para ver que error automáticamente si usted está buscando en el real mensaje de registro.Bastante ingenioso!


La Migración De Las Propiedades Entre Los Proyectos

  1. Haga clic derecho sobre un proyecto que ya cuenta con la adecuada configuración de las Propiedades de

  2. Seleccione "TortoiseSVN > Propiedades" (desde el menú del botón derecho del paso 1)

  3. Resaltar todas las propiedades deseadas

  4. Haga Clic En "Exportar"

  5. Nombre del archivo después de la propiedad, y colocar en un lugar fácilmente accesible directorio (puse la mía con los ganchos de archivos)

save properties dialogue

  1. Haga clic derecho en el directorio raíz de la desprotegido proyecto que necesita propiedades establecidas para.

  2. Haga Clic En "Importar"

  3. Seleccione el archivo que exportó en el paso 4 de arriba

  4. Haga Clic En Abrir

¿Por qué no puede simplemente instalar un servidor de subversion?Si usted descarga VisualSVN Server, que es gratuita, se obtiene un servidor http para tu código fuente y por lo tanto puede utilizar el FogBugz secuencias de comandos para la integración de los dos.

La razón por la que estoy preguntando es porque todos los scripts y documentación hasta ahora se supone que el servidor de secuencias de comandos de cliente es demasiado nuevo para FogBugz tener plantillas para ellos, por lo que está bastante a la izquierda a sus propios dispositivos en eso.

El problema es que FogBugz un enlace a una página web, y file:///etc no es una página web.Para conseguir la integración de dos maneras, usted necesita un servidor web para su repositorio de subversion.Configurar Apache o algo que puede alojar esas cosas de la forma correcta.

Yo no estoy seguro de seguir.¿Tienes los repositorios en la red o en el disco C:\?Según dos de sus mensajes, usted tiene ambos, o ninguno de los dos, o de uno de ellos o...

Usted no puede conseguir VisualSVN o Apache para servir de forma segura repositorios desde un recurso compartido de red.Porque originalmente dijo que tenía los repositorios en la unidad C:\, que es lo que obtienes consejos para.Si usted tiene una configuración diferente, usted tiene que decirnos acerca de eso.

Si usted tiene los repositorios de tu disco duro local, me gustaría instalar VisualSVN, o integrarlo en el Apache.VisualSVN puede ejecutar fina junto a Apache por lo que si vas a esa ruta sólo tiene que instalarlo.Su repositorios existentes también se pueden copiar en la raíz del repositorio directorio de VisualSVN y está en marcha y funcionando.

Estoy seguro de por qué ese gran post aquí está etiquetada como incompleta, como se detalla los pasos necesarios para configurar un script gancho para informar FogBugz acerca de las nuevas revisiones vinculado a los casos, que debe ser lo que la incompleta el mensaje dice que no hace.Es que no funciona?

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