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

Add support for Mercurial repositories? #1148

Open
paugier opened this issue Sep 4, 2020 · 5 comments · May be fixed by #1162
Open

Add support for Mercurial repositories? #1148

paugier opened this issue Sep 4, 2020 · 5 comments · May be fixed by #1162

Comments

@paugier
Copy link

paugier commented Sep 4, 2020

Proposed change

In mybinder.org, add a new choice to specify a repository just after "Git repository": "Mercurial repository".

Then, the information to give would be very similar than for the case "Git repository":

Who would use this feature?

Mercurial users.

One may argue that monopoly in version control is pretty bad for versioning and open-source. Without Git challenger, versioning is not as good as it could be. For example, Mercurial community (people at Facebook) invented the command absorb which is really useful and I guess Git will get something similar someday.

Mercurial is still alive, with good corporate usage and an active community. The Gitlab fork supporting Mercurial (Heptapod, used for example by PyPy) will soon reach its 1.0 version.

(Optional): Suggest a solution

The implementation for MyBinder should be quite simple : tiny changes in the website, one variable about the kind of repo (git or hg), few diff for the hg commands.

@welcome
Copy link

welcome bot commented Sep 4, 2020

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! 🤗

If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively.
welcome
You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! 👋

Welcome to the Jupyter community! 🎉

@manics
Copy link
Member

manics commented Sep 4, 2020

The backend of Binderhub is repo2docker which supports multiple content-providers, you can see the current ones here:
https://www.github.com/jupyterhub/repo2docker/tree/master/repo2docker%2Fcontentproviders
I think this is where the bulk of the work has to happen.

If Mercurial is added there then BinderHub can be updated to offer it.

Is this something you're interested in working on?

@paugier
Copy link
Author

paugier commented Sep 4, 2020

Is this something you're interested in working on?

Great, it's in Python! I'm going to have a look at it. Thanks for the link.

paugier added a commit to paugier/repo2docker that referenced this issue Sep 10, 2020
MyBinder could support Mercurial repositories

See jupyterhub/binderhub#1148
@paugier
Copy link
Author

paugier commented Sep 21, 2020

Mercurial support has now landed in master of repo2docker 🙂

I guess the next steps would be (i) wait for a new release of repo2docker (?) and (ii) a PR similar to #1100 but for Mercurial repositories.

I don't know JS but if it is as simple as that, it seems doable.

Is there something else to do? Any advice / suggestions?

@manics
Copy link
Member

manics commented Oct 2, 2020

You don't need to wait for a repo2docker release, all updates are pushed to Docker Hub https://hub.docker.com/r/jupyter/repo2docker/tags and you can also install it from the master branch.

I'm not sure of the exact steps to add a provider to BinderHub, but there are some docs here: https://binderhub.readthedocs.io/en/latest/developer/repoproviders.html#adding-a-new-repository-provider

@paugier paugier linked a pull request Oct 5, 2020 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants