forked from WhiteHouse/drushsubtree
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdrushsubtree.gitcommander.class.inc
More file actions
84 lines (74 loc) · 1.63 KB
/
drushsubtree.gitcommander.class.inc
File metadata and controls
84 lines (74 loc) · 1.63 KB
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
<?php
/**
* @file
*/
require_once('drushsubtree.commander.class.inc');
/**
* GitCommander class.
*/
class GitCommander extends Commander {
private $uri;
private $branch;
/**
* Construct basic commander object.
*
* @param array $options
* - uri, string
* - branch, string
*/
public function __construct($options = array()) {
$uri = (isset($options['uri'])) ? $options['uri'] : '';
$branch = (isset($options['branch'])) ? $options['branch'] : '';
$this->setUri($uri);
$this->setBranch($branch);
}
/**
* Provides command to list remote's tags.
*
* @param
*/
function listRemoteTags() {
if (!$this->uri) {
throw new Exception("GitCommander::list_remote_head requires uri info.");
}
$this->command = "git ls-remote --tags {$this->uri}";
return $this->command;
}
/**
* Provides command to get HEAD for specified remote branch.
*/
function getRemoteHead() {
if (!$this->uri || !$this->branch) {
throw new Exception("GitCommander::get_remote_head requires uri and branch info.");
}
$this->command = "git ls-remote --heads {$this->uri} {$this->branch}";
return $this->command;
}
/**
* Getters and setters =================================
*/
/**
* @return string
*/
function getUri() {
return $this->uri;
}
/**
* @param string
*/
function setUri($uri) {
$this->uri = $uri;
}
/**
* @return string
*/
function getBranch() {
return $this->branch;
}
/**
* @param string
*/
function setBranch($branch) {
$this->branch = $branch;
}
}