summaryrefslogtreecommitdiff
path: root/lib/gitlab_projects.rb
diff options
context:
space:
mode:
authorTJ (Thomas) Biddle <biddle.thomas@gmail.com>2013-06-14 08:22:24 -0700
committerTJ Biddle <tj@inflection.com>2013-06-14 08:23:23 -0700
commit362ab1a85fbd202f5dc5d5ab7c293a8a3aa6a1ce (patch)
tree858760d951630957821d293738518eb7ee62da09 /lib/gitlab_projects.rb
parent5519420e3efefa651f0a74db9d9d6027dfc23ed8 (diff)
downloadgitlab-shell-362ab1a85fbd202f5dc5d5ab7c293a8a3aa6a1ce.tar.gz
Support Adding and Removing of branches and tags
This commit adds support to create and remove branches and tags from gitlab-shell. The code style was followed as closely as possible to the original. The purpose of this commit is that I will be adding support to the Gitlabhq (Gitlab) project in order to allow adding and removing of branches and tags through their API.
Diffstat (limited to 'lib/gitlab_projects.rb')
-rw-r--r--lib/gitlab_projects.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/gitlab_projects.rb b/lib/gitlab_projects.rb
index 0b9bb8c..1e9eda1 100644
--- a/lib/gitlab_projects.rb
+++ b/lib/gitlab_projects.rb
@@ -25,6 +25,10 @@ class GitlabProjects
def exec
case @command
+ when 'create-branch'; create_branch
+ when 'rm-branch'; rm_branch
+ when 'create-tag'; create_tag
+ when 'rm-tag'; rm_tag
when 'add-project'; add_project
when 'rm-project'; rm_project
when 'mv-project'; mv_project
@@ -38,6 +42,32 @@ class GitlabProjects
protected
+ def create_branch
+ branch_name = ARGV.shift
+ ref = ARGV.shift || "HEAD"
+ cmd = "cd #{full_path} && git branch #{branch_name} #{ref}"
+ system(cmd)
+ end
+
+ def rm_branch
+ branch_name = ARGV.shift
+ cmd = "cd #{full_path} && git branch -D #{branch_name}"
+ system(cmd)
+ end
+
+ def create_tag
+ tag_name = ARGV.shift
+ ref = ARGV.shift || "HEAD"
+ cmd = "cd #{full_path} && git tag #{tag_name} #{ref}"
+ system(cmd)
+ end
+
+ def rm_tag
+ tag_name = ARGV.shift
+ cmd = "cd #{full_path} && git tag -d #{tag_name}"
+ system(cmd)
+ end
+
def add_project
FileUtils.mkdir_p(full_path, mode: 0770)
cmd = "cd #{full_path} && git init --bare && #{create_hooks_cmd}"