diff options
author | TJ (Thomas) Biddle <biddle.thomas@gmail.com> | 2013-06-14 08:22:24 -0700 |
---|---|---|
committer | TJ Biddle <tj@inflection.com> | 2013-06-14 08:23:23 -0700 |
commit | 362ab1a85fbd202f5dc5d5ab7c293a8a3aa6a1ce (patch) | |
tree | 858760d951630957821d293738518eb7ee62da09 /lib/gitlab_projects.rb | |
parent | 5519420e3efefa651f0a74db9d9d6027dfc23ed8 (diff) | |
download | gitlab-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.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}" |