use real git version if git is available

This commit is contained in:
Dirk Koopman 2014-10-14 17:09:42 +01:00
parent 7a395060c5
commit c664bf735e
3 changed files with 21 additions and 4 deletions

View File

@ -11,7 +11,7 @@ use vars qw($version $subversion $build $gitversion);
$version = '1.55';
$subversion = '0';
$build = '160';
$gitversion = '56478c6';
$build = '161';
$gitversion = '7a39506[i]';
1;

View File

@ -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;
}

View File

@ -38,7 +38,7 @@ use vars qw(\$version \$subversion \$build \$gitversion);
\$version = '$v';
\$subversion = '$s';
\$build = '$b';
\$gitversion = '$g';
\$gitversion = '$g\[i]';
1;
);