public static function get_hash($git_path, $ref) {
$args = array("rev-parse", "--verify", "-q", $ref);
$result = self::git_execute($args, $git_path);
- if(prag_match("#([a-f0-9]{40})#i", $result, $match))
+ if(preg_match("#([a-f0-9]{40})#i", $result, $match))
return $match[1];
return null;
}
}
unset($branch);
if($existing)
- continue;
+ return;
+ $name_arr = array();
+ if($name)
+ $name_arr[] = $name;
$this->data['branches'][count($this->data['branches'])] = array(
"id" => $this->brach_id++,
"uid" => $this->branch_uid++,
"active" => true,
"sticky" => true,
- "name" => array($name),
+ "name" => $name_arr,
"next" => $first_id,
"pre_merge" => false
);
$branch['active'] = false;
$commit['dot_type'] = self::DOT_TYPE_INIT;
}
- $branch['next'] = (array_key_exists('parent', $commit) ? $commit['parent'][0] : null);
+ $branch['next'] = ((array_key_exists('parent', $commit) && count($commit['parent'])) ? $commit['parent'][0] : null);
$branch['pre_merge'] = false;
$this->data['ubranches'][$branch['uid']] = $this->data['branches'][$branch['id']-1];
$this->graph_data = new graph_data_generator();
if($head == null) {
//add all refs to the graph
+ $rhash = GitCommand::get_hash($project['path'], "HEAD");
+ if($rhash)
+ $this->graph_data->add_branch($rhash, null);
+
foreach($this->project['refs'] as $ref => $rhash) {
if(preg_match('#^refs/heads/#i', $ref) && preg_match('/^[a-f0-9]*$/i', $rhash)) {
$this->graph_data->add_branch($rhash, $ref);