X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=81e23cf874ce35c04561f725f5f8768a382495e4;hb=c664bf735ebbf814c651b6d9d94fbd5abb8cd15c;hp=5b65717e705ebee2634f3c87f3cc6b2e3555d55b;hpb=7a395060c59baffc5d2a57c2dbcbed89aa85dd1e;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index 5b65717e..81e23cf8 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -370,7 +370,7 @@ if (DXSql::init($dsn)) { $dbh = $dbh->connect($dsn, $dbuser, $dbpass) if $dbh; } -# try to load Encode +# try to load Encode and Git { local $^W = 0; my $w = $SIG{__DIE__}; @@ -380,6 +380,23 @@ if (DXSql::init($dsn)) { import Encode; $can_encode = 1; } + eval { require Git; }; + unless ($@) { + import Git; + + # determine the real version number + my $repo = Git->repository(Directory => "$root/.git"); + if ($repo) { + my $desc = $repo->command_oneline(['describe', '--long'], STDERR => 0); + if ($desc) { + my ($v, $s, $b, $g) = $desc =~ /^([\d.]+)(?:\.(\d+))?-(\d+)-g([0-9a-f]+)/; + $version = $v; + $subversion = $s || 0; + $build = $b || 0; + $gitversion = "$g\[r]"; + } + } + } $SIG{__DIE__} = $w; }