1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | <?php /** * GitPHP Head * * Represents a single head * * @author Christopher Han <xiphux@gmail.com> * @copyright Copyright (c) 2010 Christopher Han * @package GitPHP * @subpackage Git */ require_once(GITPHP_GITOBJECTDIR . 'Ref.class.php'); /** * Head class * * @package GitPHP * @subpackage Git */ class GitPHP_Head extends GitPHP_Ref { /** * commit * * Stores the commit internally * * @access protected */ protected $commit; /** * __construct * * Instantiates head * * @access public * @param mixed $project the project * @param string $head head name * @param string $headHash head hash * @return mixed head object * @throws Exception exception on invalid head or hash */ public function __construct($project, $head, $headHash = '') { parent::__construct($project, 'heads', $head, $headHash); } /** * GetCommit * * Gets the commit for this head * * @access public * @return mixed commit object for this tag */ public function GetCommit() { if (!$this->commit) { $this->commit = $this->project->GetCommit($this->GetHash()); } return $this->commit; } /** * CompareAge * * Compares two heads by age * * @access public * @static * @param mixed $a first head * @param mixed $b second head * @return integer comparison result */ public static function CompareAge($a, $b) { $aObj = $a->GetCommit(); $bObj = $b->GetCommit(); return GitPHP_Commit::CompareAge($aObj, $bObj); } } |