summaryrefslogtreecommitdiff
path: root/lib/gitlab_projects.rb
diff options
context:
space:
mode:
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}"