Introduce the config_version parameter

How to determine the configuration version. By default, it will be the time
that the configuration is parsed, but you can provide a shell script to
override how the version is determined. The output of this script will be added
to every log message in the reports, allowing you to correlate changes on your
hosts to the source version on the server.

- http://docs.puppetlabs.com/references/stable/configuration.html#configversion

Users of git_repo can use the following:

    git --git-dir $envs_dir/$environment/.git --all --long