libgit2/rugged — pull request #194 by nvloff (2013-05-02 07:25:56+00:00)
Title: Improve remotes

* Added:

```ruby

Rugged::Remote.add(repo, name, url)
Rugged::Remote.names(repo)
remote.url=
remote.push_url
remote.push_url=
remote.fetch_refspecs
remote.push_refspecs
remote.add_fetch
remote.add_push
remote.clear_refspecs
remote.save
remote.rename
```

* ```update_tips!``` now accepts a callback
* `Rugged::Remote.each` now yields `Rugged::Remote` instead of remote's name
* docs
* tests

I don't really like how the ```update_tips!``` with callback turned out. Is it ok to return a hash with the callback data every time?

Also, ghetto clone:
``` ruby
repo = Rugged::Repository.init_at('.')
remote = Rugged::Remote.add(repo, 'origin', 'https://github.com/libgit2/rugged.git')
remote.connect(:fetch) do |r|
r.download
r.update_tips!
end

repo.reset('origin/master', :hard)
```