Opened 10 years ago

Closed 8 years ago

#13934 closed enhancement (wontfix)

add hg-git extension to mercurial

Reported by: Timo Kluck Owned by: tbd
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: packages: standard Keywords:
Cc: Merged in:
Authors: Timo Kluck Reviewers: Peter Bruin
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

Moving to git in the near future, it may be useful to have hg-git packaged for Sage. This mercurial extension allows a local mercurial repository to push and pull to a (local or remote) git repository.

It depends on the python package dulwich. Since the latter got a huge performance improvement in its master branch, I decided to package that one instead of the latest stable version.

I don't know how to specify the fact that the latter depends on the former. The way to do that probably also depends on whether we make these standard or optional packages.

We need to enable the extension by putting

[extensions]
hggit =

in the files .hg/hgrc.

For Ubuntu / Debian users: if you have already installed the package mercurial-git, you will probably have the line

[extensions]
hgext.git =

in your ~/.hgrc. Unfortunately, the Debian package is incompatible with the upstream install, and we'll have to live with the warning

*** failed to import extension hgext.git: No module named git

when using sage -hg. See https://github.com/schacon/hg-git/issues/204

Attachments (2)

dulwich-0.9.0pre.spkg (165.5 KB) - added by Timo Kluck 10 years ago.
hg-git-0.3.4.spkg (48.2 KB) - added by Timo Kluck 10 years ago.

Download all attachments as: .zip

Change History (10)

Changed 10 years ago by Timo Kluck

Attachment: dulwich-0.9.0pre.spkg added

Changed 10 years ago by Timo Kluck

Attachment: hg-git-0.3.4.spkg added

comment:1 Changed 10 years ago by Timo Kluck

Status: newneeds_review

comment:2 Changed 10 years ago by Keshav Kini

It depends on the python package dulwich. Since the latter got a huge performance improvement in its master branch, I decided to package that one instead of the latest stable version.

I'm glad to hear that. hg-git was incredibly slow the last time I checked. Also, the repos dulwich created from the Sage library were incredibly wasteful (literally 20 times their optimal size). Hopefully this is fixed as well.

To make one spkg depend on another you need to edit $SAGE_ROOT/spkg/standard/deps (which is actually a makefile). These will not become standard SPKGs, at least not immediately, since new SPKGs are supposed to start out as optional and then be changed to standard after a formal vote on sage-devel, or something.

Anyway, I am not convinced that these are useful SPKGs since our plan for #13015 does not involve ever having Mercurial and Git repos in Sage simultaneously, so users should have no need for this...

comment:3 Changed 9 years ago by Jeroen Demeyer

Milestone: sage-5.11sage-5.12

comment:4 Changed 9 years ago by Volker Braun

Status: needs_reviewneeds_info

Should these be experimental spkgs?

comment:5 Changed 9 years ago by For batch modifications

Milestone: sage-6.1sage-6.2

comment:6 Changed 9 years ago by Frédéric Chapoton

Milestone: sage-6.2sage-duplicate/invalid/wontfix
Status: needs_infoneeds_review

We have switched to git, so maybe this can be closed ?

comment:7 Changed 8 years ago by Peter Bruin

Reviewers: Peter Bruin
Status: needs_reviewpositive_review

comment:8 Changed 8 years ago by Volker Braun

Resolution: wontfix
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.