Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to display current working copy version of an hg repository on a PHP page

Tags:

php

mercurial

I use Mercurial for most of my projects and when I deploy a web site, I simply just do an hg clone on the production server and hg pull -u from there. What I'd like to do is add a small snippet to my site's footer which displays the current revision number (both decimal and hex) as well as perhaps the current branch. Stack Overflow and BitBucket both do a variation of what I'm looking for.

I briefly tried parsing the output of exec('hg summary'), but I ran into a couple permissions problems before wondering if there was any better way to do it. Is there a better way, or is exec my best option?

like image 262
Jimmy Sawczuk Avatar asked May 15 '11 00:05

Jimmy Sawczuk


1 Answers

You could use a post-update hook to put the information in a file. In the site's .hg/hgrc you'd put something like this:

[hooks]
post-update = hg id --rev > VERSION ; hg id --id >> VERSION

then you can access that file from inside your php. You'll still need to make sure that the user running the hg pull -u trusts the hgrc file and that the VERSION file has permissions such that the webserver can read it.

like image 151
Ry4an Brase Avatar answered Sep 28 '22 20:09

Ry4an Brase