Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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

Merged
Byron merged 2 commits into
gitpython-developers:mastergitpython-developers/GitPython:masterfrom
guyzmo:updating_remote_url_handlingguyzmo/GitPython:updating_remote_url_handlingCopy head branch name to clipboard
Jun 14, 2016
Merged

Adding support for git remote set-url/get-url API to Remote#446
Byron merged 2 commits into
gitpython-developers:mastergitpython-developers/GitPython:masterfrom
guyzmo:updating_remote_url_handlingguyzmo/GitPython:updating_remote_url_handlingCopy head branch name to clipboard

Conversation

@guyzmo

@guyzmo guyzmo commented May 26, 2016

Copy link
Copy Markdown
Contributor

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

guyzmo commented May 26, 2016

Copy link
Copy Markdown
Contributor Author

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

Byron commented May 27, 2016

Copy link
Copy Markdown
Member

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

Byron commented May 27, 2016

Copy link
Copy Markdown
Member

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

guyzmo commented May 27, 2016

Copy link
Copy Markdown
Contributor Author

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

guyzmo commented Jun 8, 2016

Copy link
Copy Markdown
Contributor Author

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

guyzmo commented Jun 8, 2016

Copy link
Copy Markdown
Contributor Author

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

guyzmo commented Jun 8, 2016

Copy link
Copy Markdown
Contributor Author

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

Byron commented Jun 14, 2016

Copy link
Copy Markdown
Member

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

guyzmo commented Jun 14, 2016

Copy link
Copy Markdown
Contributor Author

thank you ;-)

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

@nvie

nvie commented Jun 14, 2016

Copy link
Copy Markdown
Contributor

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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.