Skip to content

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 <[email protected]>
@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 <[email protected]>
@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