forked from extern/egroupware
do not error out if changelog could not be queried from git, eg. because there is no previous tag
This commit is contained in:
parent
fb30a1c3ca
commit
cbefc25934
@ -200,6 +200,7 @@ function get_changelog_from_git($_path, $log_pattern=null, &$last_tag=null, $pre
|
|||||||
//echo __FUNCTION__."('$branch_url','$log_pattern','$revision','$prefix')\n";
|
//echo __FUNCTION__."('$branch_url','$log_pattern','$revision','$prefix')\n";
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
$changelog = '';
|
||||||
$path = str_replace($config['aliasdir'], $config['checkoutdir'], $_path);
|
$path = str_replace($config['aliasdir'], $config['checkoutdir'], $_path);
|
||||||
if (!file_exists($path) || !is_dir($path) || !file_exists($path.'/.git'))
|
if (!file_exists($path) || !is_dir($path) || !file_exists($path.'/.git'))
|
||||||
{
|
{
|
||||||
@ -209,18 +210,19 @@ function get_changelog_from_git($_path, $log_pattern=null, &$last_tag=null, $pre
|
|||||||
{
|
{
|
||||||
$last_tag = get_last_git_tag();
|
$last_tag = get_last_git_tag();
|
||||||
}
|
}
|
||||||
|
if (!empty($last_tag))
|
||||||
$cmd = $config['git'].' log '.escapeshellarg($last_tag.'..HEAD');
|
|
||||||
if (getcwd() != $path) $cmd = 'cd '.$path.'; '.$cmd;
|
|
||||||
$output = null;
|
|
||||||
run_cmd($cmd, $output);
|
|
||||||
|
|
||||||
$changelog = '';
|
|
||||||
foreach($output as $line)
|
|
||||||
{
|
{
|
||||||
if (substr($line, 0, 4) == " " && ($msg = _match_log_pattern(substr($line, 4), $log_pattern, $prefix)))
|
$cmd = $config['git'].' log '.escapeshellarg($last_tag.'..HEAD');
|
||||||
|
if (getcwd() != $path) $cmd = 'cd '.$path.'; '.$cmd;
|
||||||
|
$output = null;
|
||||||
|
run_cmd($cmd, $output);
|
||||||
|
|
||||||
|
foreach($output as $line)
|
||||||
{
|
{
|
||||||
$changelog .= $msg."\n";
|
if (substr($line, 0, 4) == " " && ($msg = _match_log_pattern(substr($line, 4), $log_pattern, $prefix)))
|
||||||
|
{
|
||||||
|
$changelog .= $msg."\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $changelog;
|
return $changelog;
|
||||||
@ -300,6 +302,7 @@ function get_last_git_tag()
|
|||||||
$cmd = $config['git'].' tag -l '.escapeshellarg($config['version'].'.*');
|
$cmd = $config['git'].' tag -l '.escapeshellarg($config['version'].'.*');
|
||||||
$output = null;
|
$output = null;
|
||||||
run_cmd($cmd, $output);
|
run_cmd($cmd, $output);
|
||||||
|
array_shift($output);
|
||||||
|
|
||||||
return trim(array_pop($output));
|
return trim(array_pop($output));
|
||||||
}
|
}
|
||||||
@ -573,6 +576,10 @@ function do_editchangelog()
|
|||||||
$changelog .= get_changelog_from_svn($branch_url, $config['editchangelog'], $revision);
|
$changelog .= get_changelog_from_svn($branch_url, $config['editchangelog'], $revision);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (empty($changelog))
|
||||||
|
{
|
||||||
|
$changelog = "Could not query changelog for $config[version], eg. no last tag found!\n";
|
||||||
|
}
|
||||||
$logfile = tempnam('/tmp','checkout-build-archives');
|
$logfile = tempnam('/tmp','checkout-build-archives');
|
||||||
file_put_contents($logfile,$changelog);
|
file_put_contents($logfile,$changelog);
|
||||||
$cmd = $config['editor'].' '.escapeshellarg($logfile);
|
$cmd = $config['editor'].' '.escapeshellarg($logfile);
|
||||||
|
Loading…
Reference in New Issue
Block a user