From: Alan Knowles Date: Tue, 15 Jan 2019 10:18:39 +0000 (+0800) Subject: Fix #5661 - MTrack - daily email large and no branch X-Git-Url: http://git.roojs.org/?p=web.mtrack;a=commitdiff_plain;h=3284c5a224ba044c7fbdebd23ae8db2c1314200d Fix #5661 - MTrack - daily email large and no branch --- diff --git a/MTrack/CommitChecker.php b/MTrack/CommitChecker.php index 1924c50e..e1c20916 100644 --- a/MTrack/CommitChecker.php +++ b/MTrack/CommitChecker.php @@ -196,6 +196,7 @@ class MTrack_CommitChecker { $c->changelog = $bridge->getCommitMessage(); $c->changeby = $this->authUser->email; //??? $c->changeby_id = $this->authUser->id; //??? + $c->branch = $bridge->branch; //print_r($bridge);exit; $c->ctime = isset($bridge->props['Date']) ? strtotime($bridge->props['Date']) : time(); $c->fileActions = $bridge->fileActions; diff --git a/MTrack/SCM.php b/MTrack/SCM.php index 817a1afd..e8244031 100644 --- a/MTrack/SCM.php +++ b/MTrack/SCM.php @@ -264,11 +264,11 @@ abstract class MTrackSCM public function resolveRevision($rev, $object, $ident) { if ($rev !== null) { - return $rev; + return $rev; } if ($object === null) { - return null; + return null; } switch ($object) { diff --git a/MTrack/SCM/Git/CommitHookBridge.php b/MTrack/SCM/Git/CommitHookBridge.php index b16178c2..2c5dee21 100644 --- a/MTrack/SCM/Git/CommitHookBridge.php +++ b/MTrack/SCM/Git/CommitHookBridge.php @@ -9,7 +9,7 @@ class MTrack_SCM_Git_CommitHookBridge extends IMTrackCommitHookBridge { var $repo; - + var $branch = ""; var $files = array(); var $log = array(); var $commits = array(); @@ -26,6 +26,7 @@ class MTrack_SCM_Git_CommitHookBridge extends IMTrackCommitHookBridge while (($line = fgets(STDIN)) !== false) { echo "got: $line\n"; list($old, $new, $ref) = explode(' ', trim($line), 3); + $this->branch = $ref; $this->commits[] = $new; if (preg_match('/^0+$/',$old)) { diff --git a/MTrack/SCM/Git/Event.php b/MTrack/SCM/Git/Event.php index 41406c07..a6a2a68d 100644 --- a/MTrack/SCM/Git/Event.php +++ b/MTrack/SCM/Git/Event.php @@ -13,7 +13,9 @@ class MTrack_SCM_Git_Event extends MTrackSCMEvent /** who committed this revision */ public $changeby; - + + /** branch for this revision */ + public $branch; /** when this revision was committed */ public $ctime; @@ -34,12 +36,11 @@ class MTrack_SCM_Git_Event extends MTrackSCMEvent $lines = explode("\n", $commit); $line = array_shift($lines); - if (!preg_match("/^commit\s+(\S+)$/", $line, $M)) { + if (!preg_match("/^commit\s+(\S+)\s+(\S+)$/", $line, $M)) { return false; } $ent->rev = $M[1]; - - $ent->branches = array(); // FIXME + $ent->branch = $M[2] ; $ent->tags = array(); // FIXME $ent->files = array(); @@ -116,7 +117,7 @@ class MTrack_SCM_Git_Event extends MTrackSCMEvent } // fixme.. if (!count($ent->branches)) { - $ent->branches[] = 'master'; + $ent->branches[] = $this->branch; //'master'; } $ent->files_array = array_values($ent->files); return $ent; diff --git a/MTrack/SCM/Git/Repo.php b/MTrack/SCM/Git/Repo.php index 3c777e95..402e45ad 100644 --- a/MTrack/SCM/Git/Repo.php +++ b/MTrack/SCM/Git/Repo.php @@ -271,6 +271,7 @@ HOOK; $args[] = "--no-abbrev"; $args[] = "--numstat"; $args[] = "--date=rfc"; + $args[] = "--source"; // show the branch.. //echo '
';print_r($args);echo '
'; @@ -285,7 +286,7 @@ HOOK; $commit = null; while (true) { $line = fgets($fp); - if ($line === false) { + if ($line === false) { //end of file.. if ($commit !== null) { $commits[] = $commit; }