var $authUser;
var $checks = array();
+
function __construct($ar) {
foreach($ar as $k=>$v) {
$this->$k = $v;
}
+
function checkVeto()
{
} else {
require_once 'MTrack/CommitHookChangeEvent.php';
$c = new MTrackCommitHookChangeEvent;
- $c->rev = $bridge->getChangesetDescriptor();
- $c->changelog = $bridge->getCommitMessage();
- $c->changeby = $this->authUser->email; //???
+ $c->rev = $bridge->getChangesetDescriptor();
+ $c->changelog = $bridge->getCommitMessage();
+ $c->changeby = $this->authUser->email; //???
$c->changeby_id = $this->authUser->id; //???
- $c->ctime = time();
+ $c->ctime = time();
+ $c->fileActions = $bridge->fileActions;
$changes[] = $c;
}
return $changes;
function postCommit(IMTrackCommitHookBridge $bridge)
{
+
+ // this might be run on multiple commits (big push...)
+
+
+ // in our system, we not only log commits that are against a
+ // ticket, but also ones that are not..
+
+
$files = $bridge->enumChangedOrModifiedFileNames();
$fqfiles = array();
// build up overall picture of what needs to be applied to tickets
$changes = $this->_getChanges($bridge);
+
+
+ print_R($changes);
+
// Deferred by tid
$deferred = array();
$me = $this->authUser;
+
+
+
foreach ($changes as $c) {
$tickets = array();
$log = $c->changelog;
}
if (count($tickets) == 0) {
$no_ticket[] = $c;
+
continue;
}
unset($act['spent']);
}
$deferred[$T->tid]['act'][] = $act;
-
- }
- //???
- $this->checkVeto('postCommit', $log, $fqfiles, $actions);
+
+ //???
+ $this->checkVeto('postCommit', $log, $fqfiles, $actions);
}
+
// defered is a list of actions...
+ $this->no_ticket = $no_ticket;
+ $this->deferred = $deferred;
+ $this->spent_by_tid_by_user = $spent_by_tid_by_user;
+
+ return true;
+
+ /*
+ $ret = array();
// print_r($deferred);
foreach ($deferred as $tid => $info) {
- $T = $T_by_tid[$tid];
-
- $log = join("\n\n", $info['comments']);
+ $T = $T_by_tid[$tid];
+ $log = join("\n\n", $info['comments']);
+
+
+
+
+
$CS = MTrackChangeset::begin("ticket:" . $T->tid, $log);
if (isset($hashed[$T->tid])) {
}
$CS = MTrackChangeset::begin("repo:" . $this->repo->id, $log);
$CS->commit();
+
+ */
}