git.lirion.de

Of git, get, and gud

summaryrefslogtreecommitdiffstats
path: root/scripts/config_version.rb
blob: 565222637dbda6ab287c6264acc2cd9b2082f6b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
begin
  require 'rugged'
  require 'socket'
rescue LoadError
  t = Time.new
  puts t.to_i
else
  environmentpath = ARGV[0]
  environment     = ARGV[1]

  # Get the hostname of the Puppet master compiling the catalog.
  # Sometimes the hostname is the fqdn, so we'll take the first segment.
  compiling_master = Socket.gethostname.split('.').first

  # Get the path to the environment being compiled.
  repo = Rugged::Repository.discover(File.join(environmentpath, environment))
  head = repo.head

  # First 12 characters of the sha1 hash of the newest commit.
  commit_id = head.target_id[0...11]

  # Show the compiling master, environment name, and commit ID.
  puts "#{compiling_master}-#{environment}-#{commit_id}"
end