Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for git remote set-url/get-url API to Remote #446

Merged

Conversation

guyzmo
Copy link
Contributor

@guyzmo guyzmo commented May 26, 2016

Both commands enable handling of a little known feature
of git, which is to support multiple URL for one remote.
You can add multiple url using the set_url subcommand of
git remote. Though listing them is also handy, so there's
a nice method to do it, using the configuration.

@guyzmo
Copy link
Contributor Author

guyzmo commented May 26, 2016

might need to write some tests for those?

@guyzmo guyzmo force-pushed the updating_remote_url_handling branch from 546dfeb to ba01785 Compare May 26, 2016 19:12
@Byron
Copy link
Member

Byron commented May 27, 2016

Oh yes please ! It should be relatively straightforward to deduce how to write tests for this by looking at the existing ones. Usually there are helper functions to setup even more complex fixtures.

@Byron
Copy link
Member

Byron commented May 27, 2016

Before I forget, could you also look at how existing methods are documented and match the documentation style ? This would include documenting all parameters, for example.

@guyzmo
Copy link
Contributor Author

guyzmo commented May 27, 2016

I might, but sadly I'm now in the train, going away for four days, during which I'm on a crappy tablet on which I cannot work. Though, I very much would like to see this new methods included in the next patchset so I can remove the monkey patching from my own codebase as well :-)

cf https://github.com/guyzmo/git-repo/blob/master/git_repo/services/service.py#L25-43

Both commands enable handling of a little known feature
of git, which is to support multiple URL for one remote.
You can add multiple url using the `set_url` subcommand of
`git remote`. As listing them is also handy, there's a
nice method to do it, using `get_url`.

* adding set_url method that maps to the git remote set-url command¶
 * can be used to set an URL, or replace an URL with optional positional arg¶
 * can be used to add, delete URL with kwargs (matching set-url options)¶
* adding add_url, delete_url methods that wraps around set_url for conveniency¶
* adding urls property that yields an iterator over the setup urls for a remote¶
* adding a test suite that checks all use case scenarii of this added API.¶

Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
@guyzmo guyzmo force-pushed the updating_remote_url_handling branch from ba01785 to b366d3f Compare June 8, 2016 17:35
@guyzmo guyzmo changed the title Adding set_url and list_urls methods to Remote Adding support for git remote set-url/get-url API to Remote Jun 8, 2016
@guyzmo
Copy link
Contributor Author

guyzmo commented Jun 8, 2016

So, I've squashed my commit with a new one, featuring a few changes:

  • The set_url method is a direct wrapper for git remote set-url ;
  • the urls property is providing an iterator over the remote's URLs (I followed how you named refs)

Then I've added a couple of convenience methods, to avoid adding awkward arguments to control set_url:

  • the add_url method is there so you can add an URL to a remote
  • and delete_url method is to delete one.

Finally, I've added a test covering all the new code, with a couple of edge cases, and wrote pydoc for those functions. I hope it's how you like it, mates!

…t remote get-url`

`get-url` is a new API that is not widely available yet (introduced in git 2.7.0), and
provokes failure on travis.

Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
@guyzmo guyzmo force-pushed the updating_remote_url_handling branch from c780aff to 3f4b410 Compare June 8, 2016 17:48
@guyzmo
Copy link
Contributor Author

guyzmo commented Jun 8, 2016

I rolled back the urls property, because that was failing on Travis, which isn't using latest git.

The git remote get-url API has been introduced in git 2.7.0, and wasn't available before.

@guyzmo
Copy link
Contributor Author

guyzmo commented Jun 8, 2016

can you ping me when you think you'll be able to merge, and publish on pypi¸ and what version that will be? So I can update my setup.py accordingly ☺

@Byron Byron merged commit 9bebaca into gitpython-developers:master Jun 14, 2016
Byron added a commit that referenced this pull request Jun 14, 2016
@Byron
Copy link
Member

Byron commented Jun 14, 2016

If @nvie doesn't beat me to it, I will get the new release on the way on my next maintenance slot. Maybe tomorrow ... .

@guyzmo
Copy link
Contributor Author

guyzmo commented Jun 14, 2016

thank you ;-)

preparing my own code to be ready to point to the right version! :-)

@nvie
Copy link
Contributor

nvie commented Jun 14, 2016

I'll add 2 more bug fixes tonight to this release. After I'm done with those, I'll roll a new release :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

3 participants