2010-06-01 4 views

Répondre

5

La difficulté que vous aurez est de savoir où mettre le tableau afin qu'il puisse être servi. Si vous êtes d'accord avec une vue standard que tout le monde voit, vous pouvez utiliser un travail cron pour exécuter hg activity et enregistrer l'image dans un nom de fichier standard avec les fichiers statiques hgweb (le css, etc.). Ensuite, modifiez simplement votre modèle hgweb pour inclure une balise img référençant le fichier image. Si votre travail cron écrase ce fichier périodiquement (tous les jours, toutes les heures?), Vous serez prêt à partir.

Si vous avez besoin de quelque chose de plus dynamique (requêtes spécifiques à l'utilisateur, plages de dates particulières, etc.), vous pouvez consulter (mon) hg chart extension. Ce n'est pas aussi complet que les fonctionnalités hg activity mais il a l'avantage de cracher des URL de google chart API plutôt que des fichiers image. Exemple:

https://chart.apis.google.com/chart?cht=lxy&chs=400x400&chd=e:AAAKAaAjAtA6BHBQBaBkBtB3CACKCUChCqC0C9DHDRDaDkDuD3EBEOEXEhExE7FIFRFbFlFuF4GBGOGeGyG7HFHOHbHlHyIFIVIiIyI8JMJcJlJyJ8KcK2LGLWL8MQMwNDNTNgNqNzOAONOaOjOtO3PAPKPUPdPnPwP6QEQNQXQhQqQ0Q-RORXRnR0SBSLSUSeSrS0S-TITRTeTuT7UIUVUeUoU1VFVPVbVoVyV8WFWPWYWiWsW1W.XJXSXcXmXvX5YGYSYfYpYzY8ZGZTZcZpZzZ8aGaQaZajata6bDbNbWbgbwcDcQcacjc0c9dHdQdadkdtd3eBeNeae3fEfOfXfnf0gOgegug4hBhVhhhrh1h-iIiSibiliyjFjVjlj.kSkckpk1lClSlflvmDmMmWmfmpmznAnJnTncnmnwn5oDoNoWogoqo2pApKpTpdpnpwp9qHqUqdqnq3rArRrkr0r-sKsXshsqs0tLtbtkt0uEuRuou7vFvOvYvivrv4wFwPwfwowyw7xFxPxYxlxvx4yFyVyfypyyy8zGzPzZzizsz20D0M0W0g0p0z081J1T1d1m1w152J2g3Q3q3z4E4Q4g4t5B5K5U5k5u536B6R6r677E7R7h707-8O8b8l8x879F9S9b9o9y97-P-f-o-y-8.F.P.Y.i.s.1..,VnFsKVETK.eWNyCaLTTrSnBdN.MKMVTTHuL8SLLBAbENHZD.HrE8CEKSC1G1H9CiSeJiMb..ItFLFDmnDBIhMKCVFcDbFaCAOuNUEsBtepD3DuBTA6DfGjBoDdDLAuHpAVFWEjI5CYCzAtGWGqFTAhfrDFGxHbFVNZBjE7EBAbDjEaK2CjJXAnHeDpFyGhRSD2OWGJajC.KGHreDISCqGtKVHUCZKbFtCHhId8GrB2EpHRJqItR5A5OSSrOJHgDpKmBHA4D2C1BbE4KBHbCtFHKQW7QpQuKRJDMSEGfDDrDZAeB2VqEPGkHlFHJrHuFFJ-IcB5DQFaGZAaArATA4AJALDaBmCTCkCoAlEtAkEPHpCwE.ETGbFfC9BZJtMJBNBwBPCZHzA3CEAUEiCBBqPdcDIwLnPjFPH3B9S-GNFbDqDaOfdOKcGDKaHeK8IODGJdDXCUCdHADbBQDKCIB1DGAzDCWKLREaCGAFAeA7DEPCA0BZC5FSc0OTC9N7ANKGDGQMEPPfN.BSFHBwJeHiH-FvJlXxEuF1K-M0COEbHHDfB-FKA-TpaADISdHoXiMUMGETE2HnBFBqIYAVATAWA2F5DOEELxNmElS-EDBFFRBBHaEFAyE2AbI9SHDKDSDSFqBtCyFQFZFeBCHhAuCKAibPDlCjXXMRDYKXCq&chxt=y,x&chxl=1:%7c05/03/05%7c03/17/06%7c01/30/07%7c12/15/07%7c10/29/08&chxr=0,0,7166 

qui ressemble à: aexample chart

Ensuite, il n'y a aucun fichier pour sauver ou servir. Vous modifiez votre modèle pour appeler un code qui exécute hg chart, insérez l'URL dans le code HTML de la page et laissez google créer et diffuser l'image.

2

je suis venu avec la configuration suivante:

Ajouter un dossier activité au modèle statique

Ajouter une activité appelée crochet changegroup dans hgwebconfig:

[hooks] 
changegroup.activity = hg activity --filename /usr/share/mercurial/templates/static/activity/${PWD##*/}.png 

Le $ {PWD ## * /} sera remplacé par le nom du dossier du référentiel (un script hook est exécuté à la racine d'un référentiel). Lors du déclenchement (push ou pull d'un ou de plusieurs changesets) un graphe d'activité est placé dans le dossier static/activity du dossier template (par défaut).

Maintenant, vous pouvez ajouter le code HTML suivant à la page du modèle de votre choix

<img src="{staticurl}/activity/{repo}.png"/> 

Cela va charger le dernier graphique d'activité pour le dépôt en cours.

Avertir: Vous devez effectuer au moins une pression après l'activation de ce crochet avant la création de l'image.

Questions connexes