Bugs item #1800011, was opened at 2007-09-21 18:10
Message generated for change (Settings changed) made by sborho
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=968354&aid=1800011&group_id=199155

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
>Status: Closed
Resolution: None
Priority: 5
Private: No
Submitted By: Ian Dees (undees)
Assigned to: Nobody/Anonymous (nobody)
Summary: Context menu items don't do anything

Initial Comment:
Hi.  I see pretty icon overlays and a context menu, but the choices on it don't 
seem to do anything except briefly launching python.exe.

Here's how I got here:

1) I installed the most recent release of the Python 2.4 distribution from 
ActiveState.

2) I installed the most recent versions of GTK+, PyGtk, PyCairo, and PyGObject 
linked from the TortoiseHg page.

3) I installed Mercurial stable snapshot 5b0b0834419c from source, using the 
compiler variable hack from selenic.com to force it to use VS.NET 2005.

4) I ran python tortoisehg.py from the tortoisehg-dev directory.  Python 
complained of two missing modules (bdiff.pyd and mpatch.pyd), both of which are 
present in my Lib\site-packages\mercurial directory.

5) I copied the two .pyd files into tortoisehg-dev and tried again.  This time, 
the install worked, so I rebooted Windows and moved on.

>From a command prompt, I can go to the tortoisehg-dev folder and type the 
>following:

hgproc --command log --root "L:\MyProject"

A window pops up with my project's history, as expected.

But when I go to L:\ in Explorer, right-click on MyProject, and select 
"Revision history," nothing much happens.  python.exe launches briefly, but 
then disappears again.

In a separate command window, I launched the win32traceutil script and watched 
what happened when I repeated the right-click / Revision history choice.  I got 
the trace you see in the attached log (user names and project names redacted).

Is there a config setting I'm missing?  Thanks in advance for any advice you 
might have.

Sincerely,

Ian


----------------------------------------------------------------------

Comment By: Ian Dees (undees)
Date: 2007-10-09 15:36

Message:
Logged In: YES 
user_id=123184
Originator: YES

Thanks for the response.  The SourceForge notification thing has bitten
me, too -- even in some cases where I know I had notification set.  Several
times I've had to double-check my notification settings to make sure I was
still subscribed to all my trackers.

On the topic of DLL versions, I think a lot of these problems will go away
with the installer, because there will be much more control over paths and
versions.

But sure, if you're going to put up a FAQ, I'd be happy to contribute a
list of what worked for me to get TortoiseHg running.

----------------------------------------------------------------------

Comment By: TK Soh (tksoh)
Date: 2007-10-09 07:44

Message:
Logged In: YES 
user_id=411637
Originator: NO

Thanks for taking time to debug this. This is good information, so please
don't worry about closing it. I believe someone may find it useful too. I'd
also like to compile a FAQ someday, so maybe this can take up a place in
it. Better still, perhaps you can help put together a summary on your
finding.

P/s: sorry for this late reply. I was expecting SF to send me a
notification when a bug was filed. Obviously it doesn't do that :(

----------------------------------------------------------------------

Comment By: Ian Dees (undees)
Date: 2007-09-21 20:44

Message:
Logged In: YES 
user_id=123184
Originator: YES

Last message today, I promise!  The short version: I have a workaround for
now.

The long version:

I changed hgproc.bat to run "start" instead of "python hgproc.py", so I
could see what was going on.  I tried launching Python in _that_ console. 
I got the error, but at least this time I could poke around with PATH,
PYTHONPATH, sys.path, and so on.  I didn't see anything obvious that would
indicate a missing library.

Since I had already tried uninstalling the three GTK-related Python
libraries and replacing them with older versions, I tried the next big
rollback: GTK+.  I uninstalled the bundled Glade/GTK+ linked from the
TortoiseHg site, and instead installed a copy of 2.10 linked to from the
GIMP Win32 page.  I then had to modify _that_ installation by replacing its
out-of-date iconv.dll with a recent GNU version (has anyone else grown to
hate scripts that require libiconv_set_relocation_prefix?).  For good
measure, I renamed Ruby's and Tcl's copies of the DLL as well).

For some strange reason, one of the libraries still had an undocumented
dependency on libglade-2.0.dll.  So I directly downloaded just that one
binary from the GladeWin32 project, and put it into GTK's bin directory.

And now it works.  Status, history, diffs, reverting, everything I've
tried so far.

I'm not sure what to do with this bug entry.  The fact that I have a
working solution would point toward closing the bug.  But the multiple
library incompatibilities I encountered would point toward making a change
to the project somehow: either bundling the requisite DLLs with TortoiseHg,
or providing alternative links on the installation page.


----------------------------------------------------------------------

Comment By: Ian Dees (undees)
Date: 2007-09-21 19:20

Message:
Logged In: YES 
user_id=123184
Originator: YES

More information: since the error that brought things to a halt in this
trace was a library load, I tried importing gtk under a variety of
situations.

"import gtk" works fine from python.exe running in a command prompt.

Also, if I put "import gtk" into hgproc.py and run "python hgproc.py"
using subprocess.Popen(), it still works.

But doing the exact same thing (calling hgproc.py using Popen) from
contextmenu.py fails with the same old error message about not being able
to find _gobject.pyd.

Curiously enough, "import gtk" seems to run without error if I paste it
into contextmenu.py.

So the issue doesn't seem to be the shell extension by itself, or external
processes by themselves, but rather the combination of the two.

Could there be an environment/path/PYTHONPATH issue here?  If the shell
extension runs in the context of explorer.exe, does it get all the
environment settings it needs to run GTK-based Python apps?

--Ian


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=968354&aid=1800011&group_id=199155

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Tortoisehg-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to