El Blog de Trespams

Blog personal sobre tecnologia, gestió de projectes i coses que se me passen pel cap

Tancar tickets amb Trac a partir de comentaris al subversion

Una de les característiques que més m'agraden del Trac és la possibilitat de tancar tickets i tasques que tenguem definides sols posant una paraula i el número de ticket o tasca quan feim la integració dels canvis a subversion.

Per exemple un comentari del tipus: "Corregit l'error xxxx. Closes #3". A més d'integrar els nostres canvis dins subversion tancaria el ticket número 3. A més si navegam pels canvis de subversion (dins el mateix Trac) ens apareixerà un enllaç cap al ticket, de manera que podem navegar des de subversion al ticket. Com que els comentaris apareixen també a la llista de canvis realitzats també podem fer la navegació des d'aquesta pantalla.

Activar aquesta opció no està gaire documentat, d'aquí que per a enrecordar-me per la propera vegada, i per si serveix a algú més, aquí el teniu:

  • Cercam l'arxiu trac-post-commit-hook.gz . A debian el tenc a /usr/share/doc/trac/contrib. El descomprimirem al directori que més ens agradi i a l'unic arxiu que conté trac-post-commit-hook li dorarem el mateixos permisos d'execució que tengui l'usuari http.
  • Anam al repositori subversion, ens situam al repositori del nostre projecte i anam al directori hooks. Reanomenarem el fitxer post-commit.tmpl com a post-commit i li donam també permisos d'execució per l'usuari de subversion.
  • Editam aquest arxiu, de manera que després dels comentaris quedi:
    REPOS="$1"
    REV="$2"
    LOG=`/usr/bin/svnlook log -r $REV $REPOS` AUTHOR=`/usr/bin/svnlook author -r $REV $REPOS`
    TRAC_ENV='/somewhere/trac/project/'
    TRAC_URL='http://trac.mysite.com/project/'
    /usr/bin/python /usr/local/src/trac/contrib/trac-post-commit-hook
    -p "$TRAC_ENV"
    -r "$REV"
    -u "$AUTHOR"
    -m "$LOG"
    -s "$TRAC_URL"

Això està documentat a l'arxiu python que hem descomprimit fa una estona. A TRAC_ENV hi posarem el directori on hi ha el nostre projecte trac, a TRAC_URL la URL del projecte i en lloc de

/usr/local/src/trac/contrib/trac-post-commit-hook

escriurem la ruta allà on hem posat l'arxiu.Això és tot. Que ho disfruteu!

blog comments powered by Disqus