summaryrefslogtreecommitdiffstats
path: root/lib/git/remote.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/git/remote.rb')
-rw-r--r--lib/git/remote.rb25
1 files changed, 23 insertions, 2 deletions
diff --git a/lib/git/remote.rb b/lib/git/remote.rb
index 6956d47..e72a7f6 100644
--- a/lib/git/remote.rb
+++ b/lib/git/remote.rb
@@ -1,7 +1,7 @@
module Git
class Remote < Path
- attr_accessor :name, :url, :fetch
+ attr_accessor :name, :url, :fetch_opts
@base = nil
@@ -10,7 +10,28 @@ module Git
config = @base.lib.config_remote(name)
@name = name
@url = config['url']
- @fetch = config['fetch']
+ @fetch_opts = config['fetch']
+ end
+
+ def remove
+ @base.remote_remove(@name)
+ end
+
+ def fetch
+ @base.fetch(@name)
+ end
+
+ # merge this remote locally
+ def merge(branch = 'master')
+ @base.merge("#{@name}/#{branch}")
+ end
+
+ def branch(branch = 'master')
+ Git::Branch.new(@base, "#{@name}/#{branch}")
+ end
+
+ def remove
+ @base.lib.remote_remove(@name)
end
def to_s