Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

78 lines (60 sloc) 1.829 kb
require 'fileutils'
module Pod
class Command
class Repo < Command
def self.banner
%{Managing spec-repos:
$ pod repo add NAME URL
Clones `URL' in the local spec-repos directory at `~/.cocoapods'. The
remote can later be referred to by `NAME'.
$ pod repo update NAME
Updates the local clone of the spec-repo `NAME'. If `NAME' is omitted
this will update all spec-repos in `~/.cocoapods'.
$ pod repo set-url NAME URL
Updates the remote `URL' of the spec-repo `NAME'.}
end
extend Executable
executable :git
def initialize(argv)
case @action = argv.arguments[0]
when 'add', 'set-url'
unless (@name = argv.arguments[1]) && (@url = argv.arguments[2])
raise Informative, "#{@action == 'add' ? 'Adding' : 'Updating the remote of'} a repo needs a `name' and a `url'."
end
when 'update', 'read-url'
@name = argv.arguments[1]
else
super
end
end
def dir
config.repos_dir + @name
end
def run
send @action.gsub('-', '_')
end
def add
puts "Cloning spec repo `#{@name}' from `#{@url}'" unless config.silent?
config.repos_dir.mkpath
Dir.chdir(config.repos_dir) { git("clone '#{@url}' #{@name}") }
end
def update
dirs = @name ? [dir] : config.repos_dir.children
dirs.each do |dir|
puts "Updating spec repo `#{dir.basename}'" unless config.silent?
Dir.chdir(dir) { git("pull") }
end
end
def set_url
Dir.chdir(dir) do
git("remote set-url origin '#{@url}'")
end
end
def read_url
Dir.chdir(dir) do
@output = git("remote -v")
end
end
end
end
end
Jump to Line
Something went wrong with that request. Please try again.