Class: MultiGit::JGitBackend::Remote
- Inherits:
-
Object
- Object
- MultiGit::JGitBackend::Remote
- Includes:
- Remote
- Defined in:
- lib/multi_git/jgit_backend/remote.rb
Direct Known Subclasses
Defined Under Namespace
Classes: Persistent
Constant Summary collapse
- REMOTE_SECTION =
'remote'.to_java
- TEMPORARY_SECTION =
'tmp'.to_java
- FETCH_URL_KEY =
'url'.to_java
- PUSH_URL_KEY =
'pushurl'.to_java
- FETCH =
Java::OrgEclipseJgitTransport::Transport::Operation::FETCH
- PUSH =
Java::OrgEclipseJgitTransport::Transport::Operation::PUSH
Instance Attribute Summary collapse
-
#repository ⇒ Object
readonly
Returns the value of attribute repository.
Instance Method Summary collapse
- #fetch(*refspecs) ⇒ Object
- #fetch_urls ⇒ Object
-
#initialize(repository, url, push_url = url) ⇒ Remote
constructor
A new instance of Remote.
- #push(*refspecs) ⇒ Object
- #push_urls ⇒ Object
Methods included from Remote
Methods included from Utils::AbstractMethods
Constructor Details
#initialize(repository, url, push_url = url) ⇒ Remote
Returns a new instance of Remote.
33 34 35 36 37 38 39 |
# File 'lib/multi_git/jgit_backend/remote.rb', line 33 def initialize( repository, url, push_url = url ) @repository = repository conf = Java::OrgEclipseJgitLib::Config.new conf.setStringList(REMOTE_SECTION, TEMPORARY_SECTION, FETCH_URL_KEY, Array(url)) conf.setStringList(REMOTE_SECTION, TEMPORARY_SECTION, PUSH_URL_KEY, Array(push_url)) @java_config = Java::OrgEclipseJgitTransport::RemoteConfig.new(conf, TEMPORARY_SECTION) end |
Instance Attribute Details
#repository ⇒ Object (readonly)
Returns the value of attribute repository.
8 9 10 |
# File 'lib/multi_git/jgit_backend/remote.rb', line 8 def repository @repository end |
Instance Method Details
#fetch(*refspecs) ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/multi_git/jgit_backend/remote.rb', line 50 def fetch( *refspecs ) rs = parse_fetch_refspec(*refspecs).map{|refspec| Java::OrgEclipseJgitTransport::RefSpec.new(refspec.to_s) } use_transport( FETCH ) do | transport | transport.fetch( transport_monitor, rs ) end self end |
#fetch_urls ⇒ Object
41 42 43 |
# File 'lib/multi_git/jgit_backend/remote.rb', line 41 def fetch_urls java_config.getURIs.map(&:to_s) end |
#push(*refspecs) ⇒ Object
58 59 60 61 62 63 64 65 |
# File 'lib/multi_git/jgit_backend/remote.rb', line 58 def push( *refspecs ) rs = parse_push_refspec(*refspecs).map{|refspec| Java::OrgEclipseJgitTransport::RefSpec.new(refspec.to_s) } use_transport( PUSH ) do | transport | toPush = transport.findRemoteRefUpdatesFor( rs ) transport.push( transport_monitor, toPush ) end self end |
#push_urls ⇒ Object
45 46 47 48 |
# File 'lib/multi_git/jgit_backend/remote.rb', line 45 def push_urls pu = java_config.getPushURIs.map(&:to_s) pu.any? ? pu : fetch_urls end |