use real git version if git is available
authorDirk Koopman <djk@tobit.co.uk>
Tue, 14 Oct 2014 16:09:42 +0000 (17:09 +0100)
committerDirk Koopman <djk@tobit.co.uk>
Tue, 14 Oct 2014 16:21:56 +0000 (17:21 +0100)
Conflicts:
perl/Version.pm

perl/Version.pm
perl/cluster.pl
perl/issue.pl

index de7b071b9b4708cccda9673f3e6eea45ec78311b..8edb59e861467416b18e780eb2b479dc397d24d1 100644 (file)
@@ -10,7 +10,7 @@ package main;
 use vars qw($version $build $gitversion);
 
 $version = '1.57';
-$build = '43';
-$gitversion = '1d33367';
+$build = '44';
+$gitversion = 'b756660[i]';
 
 1;
index 70b81f71d031903ea9e2862ef998d6a2f10d5c5e..1e10eb518aae676ddbe0d8b85df3825951e52455 100755 (executable)
@@ -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;
 }
 
index 49bc62fdda6a93778d7e57a2da6a53f888674142..41d9fe8b0bc257838d4f746b1b2f2cca6910e515 100755 (executable)
@@ -36,7 +36,7 @@ use vars qw(\$version \$build \$gitversion);
 
 \$version = '$v';
 \$build = '$b';
-\$gitversion = '$g';
+\$gitversion = '$g\[i]';
 
 1;
 );