Class: Braid::Operations::GitSvn

Inherits:
Proxy
  • Object
show all
Defined in:
lib/braid/operations.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Proxy

#require_version, #require_version!, #version

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Braid::Operations::Proxy

Class Method Details

.commandObject



241
# File 'lib/braid/operations.rb', line 241

def self.command; "git svn"; end

Instance Method Details

#commit_hash(remote, revision) ⇒ Object

Raises:



243
244
245
246
247
248
# File 'lib/braid/operations.rb', line 243

def commit_hash(remote, revision)
  out = invoke(:log, "--show-commit --oneline", "-r #{revision}", remote)
  part = out.to_s.split(" | ")[1]
  raise UnknownRevision, "r#{revision}" unless part
  Git.instance.rev_parse(part) # FIXME ugly ugly ugly
end

#fetch(remote) ⇒ Object



250
251
252
253
254
255
# File 'lib/braid/operations.rb', line 250

def fetch(remote)
  # open4 messes with the pipes of index-pack
  system("git svn fetch #{remote} &> /dev/null")
  raise ShellExecutionError, "could not fetch" unless $? == 0
  true
end

#init(remote, path) ⇒ Object



257
258
259
260
# File 'lib/braid/operations.rb', line 257

def init(remote, path)
  invoke(:init, "-R", remote, "--id=#{remote}", path)
  true
end