added tagging
[rubygit.git] / lib / git / remote.rb
blobe72a7f61f87796e10eacfd3551000afbbdaaa711
1 module Git
2   class Remote < Path
3     
4     attr_accessor :name, :url, :fetch_opts
5     
6     @base = nil
7     
8     def initialize(base, name)
9       @base = base
10       config = @base.lib.config_remote(name)
11       @name = name
12       @url = config['url']
13       @fetch_opts = config['fetch']
14     end
15     
16     def remove
17       @base.remote_remove(@name)
18     end
19     
20     def fetch
21       @base.fetch(@name)
22     end
23     
24     # merge this remote locally
25     def merge(branch = 'master')
26       @base.merge("#{@name}/#{branch}")
27     end
28     
29     def branch(branch = 'master')
30       Git::Branch.new(@base, "#{@name}/#{branch}")
31     end
32     
33     def remove
34       @base.lib.remote_remove(@name)     
35     end
36     
37     def to_s
38       @name
39     end
40     
41   end
42 end