Improve the 'parents' parsing for git and ignore any empty parts; also

react gracefully if we could not parse the parents for some weird reason.
This commit is contained in:
Thomas Keller 2011-08-17 20:17:14 +02:00
parent b17de014ec
commit a2c832a130
2 changed files with 7 additions and 1 deletions

View File

@ -37,6 +37,8 @@ or newer to properly run this version of Indefero!
and only display this list if there are any branches available for all SCMs and only display this list if there are any branches available for all SCMs
- If git's author name is not encoded in an UTF-8 compatible encoding, skip the author lookup, - If git's author name is not encoded in an UTF-8 compatible encoding, skip the author lookup,
as we have no information what the author string is actually encoded in as we have no information what the author string is actually encoded in
- Indefero no longer displays an empty parents paragraph in the commit view for root revisions of
a git repository
## Documentation ## Documentation

View File

@ -646,7 +646,11 @@ class IDF_Scm_Git extends IDF_Scm
$c['full_message'] = IDF_Commit::toUTF8($c['full_message']); $c['full_message'] = IDF_Commit::toUTF8($c['full_message']);
$c['title'] = IDF_Commit::toUTF8($c['title']); $c['title'] = IDF_Commit::toUTF8($c['title']);
if (isset($c['parents'])) { if (isset($c['parents'])) {
$c['parents'] = explode(' ', trim($c['parents'])); $c['parents'] = preg_split('/ /', trim($c['parents']), -1, PREG_SPLIT_NO_EMPTY);
} else {
// this is actually an error state because we should _always_
// be able to parse the parents line with every git version
$c['parents'] = null;
} }
$res[] = (object) $c; $res[] = (object) $c;
return $res; return $res;