git.lirion.de

Of git, get, and gud

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--environment.conf2
-rw-r--r--scripts/config_version.rb17
-rw-r--r--scripts/config_version.sh7
3 files changed, 25 insertions, 1 deletions
diff --git a/environment.conf b/environment.conf
index a1579ce..6d60708 100644
--- a/environment.conf
+++ b/environment.conf
@@ -1,5 +1,5 @@
modulepath = modules:site:$basemodulepath
-config_version = '/usr/bin/git --git-dir $confdir/environments/$environment/.git rev-parse HEAD'
+config_version = 'scripts/config_version.sh $environmentpath $environment'
# Environment timeout should be set to unlimited. When set to zero it is less performant.
# When code is deployed the admin API of puppetserver should be used to force a refresh of code from disk.
diff --git a/scripts/config_version.rb b/scripts/config_version.rb
new file mode 100644
index 0000000..52f32c5
--- /dev/null
+++ b/scripts/config_version.rb
@@ -0,0 +1,17 @@
+require 'rugged'
+
+environmentpath = ARGV[0]
+environment = ARGV[1]
+
+repo = Rugged::Repository.discover(File.join(environmentpath, environment))
+head = repo.head
+
+#sha1 hash of the newest commit
+head_sha = head.target_id
+
+#the commit message associated the newest commit
+commit = repo.lookup(head_sha)
+
+#add something to find the remote url
+
+puts head_sha
diff --git a/scripts/config_version.sh b/scripts/config_version.sh
new file mode 100644
index 0000000..1f42d34
--- /dev/null
+++ b/scripts/config_version.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+if [ -e /opt/puppetlabs/server/pe_version ]
+then
+ /opt/puppetlabs/puppet/bin/ruby $1/$2/scripts/config_version.rb $1 $2
+else
+ /usr/bin/git --git-dir $codedir/environments/$environment/.git rev-parse HEAD
+fi