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!, verbose, #version

Dynamic Method Handling

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

Class Method Details

.commandObject



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

def self.command; "git svn"; end

Instance Method Details

#commit_hash(remote, revision) ⇒ Object

Raises:



260
261
262
263
264
265
# File 'lib/braid/operations.rb', line 260

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



267
268
269
270
271
272
# File 'lib/braid/operations.rb', line 267

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

#init(remote, path) ⇒ Object



274
275
276
277
# File 'lib/braid/operations.rb', line 274

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