Path to hggit extension not automatically added, and not obvious

Bug #666292 reported by William Gallafent
This bug report is a duplicate of:  Bug #1008876: plugin package broken. Edit Remove
60
This bug affects 13 people
Affects Status Importance Assigned to Milestone
hg-git (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: mercurial-git

After installing mercurial-git, I receive the error “*** failed to import extension hggit: No module named hggit” when trying to clone a git repository with “hg clone git://gitorious.org/…”. I added the following lines to my ~/.hgrc, as suggested by http://hg-git.github.com/ … but this does not allow hggit extension to work.

[extensions]
hgext.bookmarks =
hggit =

I assume that the easy_install process mentioned there does something in addition to “just installing” hggit. In order to make the extension work, one must first find out, and then explicitly enter the path:

hggit = /usr/share/pyshared/hgext/git

This is very non-obvious, and for me required a “dpkg-query -L mercurial-git” just in order to find the location of its files, and then to guess that this was the right folder to add!

Perhaps this path should be added to the global mercurial config in /etc/mercurial in order to allow the extension to work out-of-the-box? Or is there a better solution?

Other info:

Output of “lsb_release -rd”:
Description: Ubuntu 10.10
Release: 10.10

Output of “apt-cache policy mercurial-git”:
mercurial-git:
  Installed: 0.2.3-1
  Candidate: 0.2.3-1
  Version table:
 *** 0.2.3-1 0
        500 http://archive.ubuntu.com/ubuntu/ maverick/universe amd64 Packages
        100 /var/lib/dpkg/status

description: updated
Revision history for this message
Jakub Wilk (jwilk) wrote : Re: [Bug 666292] [NEW] Path to hggit extension not automatically added, and not obvious

* William Gallafent <email address hidden>, 2010-10-25, 14:07:
>In order to make the extension work, one must first find out, and then
>explicitly enter the path:
>
>hggit = /usr/share/pyshared/hgext/git
>
>This is very non-obvious,

Apart from being non-obvious, it's also wrong (i.e., it'll almost
certainly break at some point of the future).

FYI, how to enable the extension properly is explained in README.Debian.

--
Jakub Wilk

Revision history for this message
William Gallafent (william-gallaf-deactivatedaccount) wrote :

Exasperating that this differs from the instructions on the project's own pages, but anyway!

… perhaps the package should output a message to the effect of “This mecurial extension is disabled by default. To enable it, please follow the instructions in /full/path/to/README.Debian” when it is installed?

Revision history for this message
Jesse Sherlock (jessesherlock) wrote :

Considering the official documentation refers to it as hggit and many people share .hgrc files between distros there should at least be a symlink or something allowing users to use hggit= in their .hgrcs

Revision history for this message
Peter Fein (pfein) wrote :

I'm also calling shenanigans on this one... I spent a good hour debugging error messages like "abort: HTTP Error 406: Not Acceptable" before stumbling on this bug. NOT OBVIOUS.

Revision history for this message
Alexander Dorokhov (alex-dorokhov) wrote :

I've also spent some time to find this information. I couldn't find information about another install steps at the Internet (found it soon in README.Debian). I added the bug to hg-git project page, but it was closed, because the error denotes as Debian/Ubuntu package side error.

https://github.com/schacon/hg-git/issues/204

Revision history for this message
fqj1994 (fqj1994) wrote :

It is clearly written in /usr/share/doc/mercurial-git/README.Debian

Changed in hg-git (Ubuntu):
status: New → Invalid
Revision history for this message
William Gallafent (william-gallaf-deactivatedaccount) wrote :

So: Alexander, Peter, Jesse and I all see that there is a problem here. In general, installing a package on ubuntu leaves that package in a working state. It should not be necessary to perform manual steps after installation to make things work, _unless_ those steps are clearly indicated in the output of the installation process.

If a user _already_ _knows_ that there is a necessary post-installation step that must be taken to make the package work, and what that step is, then that user will not have a problem. Otherwise, that user will have a problem. There are four examples of such users that have taken the time to comment on this bug!

Closing a bug with “I know how to do something non-obvious and, if you don't, that's your problem” isn't progress.

According to https://github.com/schacon/hg-git/issues/204 “… the Debian maintainer is doing it wrong. The package should ONLY be installed as hggit, not as hgext.git.”

On that basis, in what way is this bug invalid? It seems to get more valid each time I look at it!

Revision history for this message
anatoly techtonik (techtonik) wrote :

Marking it as duplicate of bug #1008876 as it is still not fixed in 12.04 and needs more info.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.