diff options
Diffstat (limited to 'lib/gitlab_projects.rb')
-rw-r--r-- | lib/gitlab_projects.rb | 30 |
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}" |