Browse Source

Add GetLastCommit function

master
Sven Slootweg 10 years ago
parent
commit
9a10d6716b
  1. 2
      public_html/libgit/base.php
  2. 17
      public_html/libgit/class.branch.php
  3. 12
      public_html/libgit/class.repository.php
  4. 8
      public_html/test.php

2
public_html/libgit/base.php

@ -23,6 +23,8 @@ function sha1_from_bin($bin)
return bin2hex($bin);
}
class GitBranchNotFoundException extends Exception {}
require(dirname(__FILE__) . "/class.repository.php");
require(dirname(__FILE__) . "/class.branch.php");
require(dirname(__FILE__) . "/class.object.php");

17
public_html/libgit/class.branch.php

@ -0,0 +1,17 @@
<?php
class GitBranch
{
public $sha = "";
public $repo = null;
function __construct($repo, $sha)
{
$this->repo = $repo;
$this->sha = $sha;
}
function GetLastCommit()
{
return $this->repo->GetObject($this->sha);
}
}

12
public_html/libgit/class.repository.php

@ -54,6 +54,16 @@ class GitRepository
function GetBranch($name)
{
return new GitBranch($this, $sha);
$filename = "{$this->path}/refs/heads/{$name}";
if(file_exists($filename))
{
$sha = trim(file_get_contents($filename));
return new GitBranch($this, $sha);
}
else
{
throw new GitBranchNotFoundException("The {$name} branch does not exist.");
}
}
}

8
public_html/test.php

@ -1,10 +1,12 @@
<?php
require("libgit/base.php");
$s = new GitRepository("/home/occupy/testrepo.git");
$repo = new GitRepository("/home/occupy/testrepo.git");
pretty_dump($repo->GetBranch("master")->GetLastCommit());
/*pretty_dump($s->GetObject("54e03e490b1bee1c154c3545bf258cab0629ee02"));
pretty_dump($s->GetObject("98d99489382a3541e6783bb2083554785f3eb72a"));
pretty_dump($s->GetObject("9d8e0ba4a30f6a5d775a879c42c7de5aed4530c6"));
pretty_dump($s->GetObject("710bfee4440517255475bf7c5454c0bdbb3b3e56"));*/
pretty_dump($s->GetObject("710bfee4440517255475bf7c5454c0bdbb3b3e56"));
pretty_dump($s->GetObject("ab2d7159831970ca08f2c9fc5c0fa34b17d572e9"));
pretty_dump($s->GetObject("cdebafd9e7426d0243cfb0a4ea2116a8b97b01e7"));
pretty_dump($s->GetObject("cdebafd9e7426d0243cfb0a4ea2116a8b97b01e7"));*/
Loading…
Cancel
Save