Class: MultiGit::GitBackend::Remote

Inherits:
Object
  • Object
show all
Includes:
Remote
Defined in:
lib/multi_git/git_backend/remote.rb

Direct Known Subclasses

Persistent

Defined Under Namespace

Classes: Persistent

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils::AbstractMethods

#abstract

Constructor Details

#initialize(repo, url, push_url = url) ⇒ Remote

Returns a new instance of Remote.



34
35
36
37
38
# File 'lib/multi_git/git_backend/remote.rb', line 34

def initialize( repo, url, push_url = url )
  @repository = repo
  @fetch_urls = Array(url)
  @push_urls  = Array(push_url)
end

Instance Attribute Details

#fetch_urlsObject (readonly)

Returns the value of attribute fetch_urls.



31
32
33
# File 'lib/multi_git/git_backend/remote.rb', line 31

def fetch_urls
  @fetch_urls
end

#push_urlsObject (readonly)

Returns the value of attribute push_urls.



32
33
34
# File 'lib/multi_git/git_backend/remote.rb', line 32

def push_urls
  @push_urls
end

#repositoryObject (readonly)

Returns the value of attribute repository.



7
8
9
# File 'lib/multi_git/git_backend/remote.rb', line 7

def repository
  @repository
end

Instance Method Details

#fetch(*refspecs) ⇒ Object



40
41
42
43
44
# File 'lib/multi_git/git_backend/remote.rb', line 40

def fetch(*refspecs)
  rs = parse_fetch_refspec(*refspecs)
  repository.__backend__['fetch',fetch_urls.first,*rs.map(&:to_s)]
  return self
end

#push(*refspecs) ⇒ Object



46
47
48
49
50
# File 'lib/multi_git/git_backend/remote.rb', line 46

def push(*refspecs)
  rs = parse_push_refspec(*refspecs)
  repository.__backend__['push',*push_urls,*rs.map(&:to_s)]
  return self
end

#save(name) ⇒ Object



52
53
54
55
56
# File 'lib/multi_git/git_backend/remote.rb', line 52

def save( name )
  begin
  rescue Cmd::Error::ExitCode128
  end
end