X-Git-Url: http://scm.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=1e10eb518aae676ddbe0d8b85df3825951e52455;hb=9e9d7677bcebdbbc3c9f66b142311c091188b26b;hp=70b81f71d031903ea9e2862ef998d6a2f10d5c5e;hpb=b7566602f29a7d2d9e2d9bb3e0e85ea6fd75af6a;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index 70b81f71..1e10eb51 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -438,7 +438,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__}; @@ -448,6 +448,22 @@ 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; + $build = $b || 0; + $gitversion = "$g\[r]"; + } + } + } $SIG{__DIE__} = $w; }