summaryrefslogtreecommitdiff
path: root/lib/gitlab_projects.rb
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-04-25 17:43:01 +0200
committerRémy Coutable <remy@rymai.me>2016-04-25 17:43:22 +0200
commit6bf9a57c97d22adb858dd0e7464e6f8e1a896593 (patch)
tree93ac7f23e2b0fe1ca69863e988509acd2630a784 /lib/gitlab_projects.rb
parentc73b6a1c593f7bbab4b09d5cf882de78f54d6f09 (diff)
downloadgitlab-shell-revert-53.tar.gz
Revert "Remove unused #list_remote_tags"revert-53
This reverts commit f5e87590d463b4b3d1bf5cd6b49a9d0d60acd552. Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'lib/gitlab_projects.rb')
-rw-r--r--lib/gitlab_projects.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/gitlab_projects.rb b/lib/gitlab_projects.rb
index bc98e09..f0e0773 100644
--- a/lib/gitlab_projects.rb
+++ b/lib/gitlab_projects.rb
@@ -61,6 +61,7 @@ class GitlabProjects
when 'update-head'; update_head
when 'push-branches'; push_branches
when 'delete-remote-branches'; delete_remote_branches
+ when 'list-remote-tags'; list_remote_tags
when 'gc'; gc
else
$logger.warn "Attempt to execute invalid gitlab-projects command #{@command.inspect}."
@@ -71,6 +72,27 @@ class GitlabProjects
protected
+ def list_remote_tags
+ remote_name = ARGV.shift
+
+ tag_list, exit_code, error = nil
+ cmd = %W(git --git-dir=#{full_path} ls-remote --tags #{remote_name})
+
+ Open3.popen3(*cmd) do |stdin, stdout, stderr, wait_thr|
+ tag_list = stdout.read
+ error = stderr.read
+ exit_code = wait_thr.value.exitstatus
+ end
+
+ if exit_code.zero?
+ puts tag_list
+ true
+ else
+ puts error
+ false
+ end
+ end
+
def push_branches
remote_name = ARGV.shift