Package Details: tortoisehg 7.2.2-2

Git Clone URL: https://aur.archlinux.org/tortoisehg.git (read-only, click to copy)
Package Base: tortoisehg
Description: Graphical tools for Mercurial
Upstream URL: https://foss.heptapod.net/mercurial/tortoisehg/thg
Licenses: GPL
Submitter: bwalle
Maintainer: Misery
Last Packager: Misery
Votes: 123
Popularity: 0.000000
First Submitted: 2011-06-11 12:14 (UTC)
Last Updated: 2026-07-07 15:10 (UTC)

Latest Comments

1 2 3 4 5 6 .. 24 Next › Last »

schnedan commented on 2026-09-01 09:49 (UTC)

@jack_stone

if you apply the "qt_api = 'PyQt5' instead of qt_api = 'PyQt6'" fix, does the Patchqueue feature in tortoisehg work?

here: it does not

```python ** Mercurial version (7.2.4). TortoiseHg version (7.2.2) ** Command: --nofork ** CWD: /home/danny ** Encoding: UTF-8 ** Extensions loaded: convert, mq, rebase, strip, tortoisehg.util.configitems, transplant ** Python version: 3.14.7 (main, Aug 10 2026, 07:46:56) [GCC 16.1.1 20260728] ** System: Linux name 7.1.11-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 28 Aug 2026 03:36:07 +0000 x86_64 ** Qt-6.11.2 PyQt-6.11.0 QScintilla-2.14.1 Traceback (most recent call last): File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/repowidget.py", line 2335, in qimportRevision revList = self.repo.revs(b'%s::%s and not hidden()' % (hglib.fromunicode(str(self.rev)), endrev)) File "/usr/lib/python3.14/site-packages/mercurial/localrepo.py", line 1828, in revs return revset.makematcher(tree)(self) ^^^^^^ File "/usr/lib/python3.14/site-packages/mercurial/revset.py", line 607, in mfunc return getset(repo, subset, tree, order) File "/usr/lib/python3.14/site-packages/mercurial/revset.py", line 110, in getset return methodsx[0] ~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/mercurial/revset.py", line 225, in differenceset return getset(repo, subset, x, order) - getset(repo, subset, y, anyorder) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/mercurial/revset.py", line 110, in getset return methodsx[0] ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.14/site-packages/mercurial/revset.py", line 369, in func raise error.UnknownIdentifier(f, syms) mercurial.error.UnknownIdentifier: unknown identifier: descendants

ecognito commented on 2026-08-04 23:27 (UTC)

I think the problem is you have to ensure you don't have python-pyqt5 installed while you're building tortoisehg. You can reinstall it if you need to afterwards.

schnedan commented on 2026-08-04 23:15 (UTC) (edited on 2026-08-04 23:15 (UTC) by schnedan)

confirming jack_stone's issue.
same here,
proposed fix works also

jack_stone commented on 2026-07-15 19:01 (UTC) (edited on 2026-07-15 19:04 (UTC) by jack_stone)

Had a little problem today after update:


>```python
>** Mercurial version (7.2.3).  TortoiseHg version (7.2.2)
>** Command: 
>** CWD: /home/janko
>** Encoding: UTF-8
>** Extensions loaded: strip, tortoisehg.util.configitems
>** Python version: 3.14.6 (main, Jun 15 2026, 11:36:54) [GCC 16.1.1 20260430]
>** System: Linux TrueBlackMetal 7.1.3-1-MANJARO #1 SMP PREEMPT_DYNAMIC Sat, 04 Jul 2026 20:54:12 +0000 x86_64
>** Qt-5.15.19 PyQt-5.15.11 QScintilla-(unknown)
>Traceback (most recent call last):
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/run.py", line 142, in dispatch
>    return _runcatch(u, args)
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/run.py", line 350, in _runcatch
>    return runcommand(ui, args)
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/run.py", line 444, in runcommand
>    return _runcommand(lui, options, cmd, d)
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/run.py", line 496, in _runcommand
>    return checkargs()
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/run.py", line 449, in checkargs
>    return cmdfunc()
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/run.py", line 442, in 
>    d = lambda: qtrun(checkedfunc, ui, *args,
>                ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
>                      **pycompat.strkwargs(cmdoptions))
>                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/qtapp.py", line 547, in __call__
>    dlg, reporoot = self._createdialog(dlgfunc, args, opts)
>                    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/qtapp.py", line 611, in _createdialog
>    return dlgfunc(self._ui, *args, **opts), reporoot
>           ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
>  File "/usr/lib/python3.14/site-packages/mercurial/util.py", line 1998, in check
>    return func(*args, **kwargs)
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/run.py", line 1070, in log
>    w = _workbench(ui, *pats, **opts)
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/run.py", line 535, in _workbench
>    w = qtrun.createWorkbench()
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/qtapp.py", line 648, in createWorkbench
>    self._workbench = workbench.Workbench(
>                      ^^^^^^^^^^^^^^^^^^^
>  File "", line 208, in __getattribute__
>  File "", line 759, in exec_module
>  File "", line 491, in _call_with_frames_removed
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/workbench.py", line 56, in 
>    from .docklog import LogDockWidget
>  File "", line 208, in __getattribute__
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/docklog.py", line 16, in 
>    from .qsci import (
>        QsciScintilla,
>    )
>  File "/usr/lib/python3.14/site-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module
>    self.loader.exec_module(module)
>    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
>  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/qsci.py", line 17, in 
>    from PyQt5.Qsci import *  # pytype: disable=import-error
>    ^^^^^^^^^^^^^^^^^^^^^^^^
>ModuleNotFoundError: No module named 'PyQt5.Qsci'
>
>```

Not sure why, but /usr/lib/python3.14/site-packages/tortoisehg/util/config.py ended up having qt_api = 'PyQt5' instead of qt_api = 'PyQt6' which I expect is correct (tortoisehg works after I had changed it manually).

Is it possible that problem was that I have python-pyqt5 installed, which somehow poisoned the Qt API detection? Not sure if it's packaging issue. At any rate, maybe this helps a next person.

edit: formatting

j77h commented on 2026-06-03 12:26 (UTC) (edited on 2026-06-03 13:31 (UTC) by j77h)

It looks like stable branch should now work with mercurial 7.2: https://foss.heptapod.net/mercurial/tortoisehg/thg/-/work_items/6042#note_510476 But for now my workaround is to replace mercurial with v 7.1.2, and it works.

sudo pacman -Rsdd mercurial OR pip uninstall mercurial then pip install mercurial==7.1.2

j77h commented on 2026-05-24 09:49 (UTC)

python-qscintilla-qt5 is no longer in the AUR. Arch repo has python-qscintilla-qt6 but not 5. There's QScintilla pypi.org, which says it's for PyQt5, but I don't know whether tortoisehg would find it ...

j77h commented on 2026-04-08 02:40 (UTC)

I uninstalled mercurial with pacman, then installed mercurial 6.9 with pip install --user. Thg now opens OK (from plasma menu) and opens a saved repo OK, but I haven't actually used it yet. Running hg from command line gets an error "(most likely due to a circular import)", but I never use its CLI.

Misery commented on 2026-04-07 14:05 (UTC)

https://foss.heptapod.net/mercurial/tortoisehg/thg/-/work_items/6041

schnedan commented on 2026-04-05 21:27 (UTC)

Opening Tortoisehg just gives me a Error dialog stating: "this version of TortoiseHg requires Mercurial version 6.3.n to 6.9.n, but found 7.2.1"

and some more output:

** Mercurial version (7.2.1).  TortoiseHg version (7.0.1)
** Command: --nofork
** CWD: /home/danny
** Encoding: UTF-8
** Extensions loaded: 
** Python version: 3.14.3 (main, Feb 13 2026, 15:31:44) [GCC 15.2.1 20260209]
** System: Linux name 6.19.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 26 Mar 2026 19:20:28 +0000 x86_64
** Qt-5.15.18 PyQt-5.15.11 QScintilla-2.14.1
Traceback (most recent call last):
  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/run.py", line 143, in dispatch
    return _runcatch(u, args)
  File "/usr/lib/python3.14/site-packages/tortoisehg/hgqt/run.py", line 348, in _runcatch
    hglib.parseconfigopts(ui, args)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/tortoisehg/util/hglib.py", line 1056, in parseconfigopts
    config = dispatchmod._earlyparseopts(ui, args)[b'config']
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "", line 224, in __getattribute__
AttributeError: module 'mercurial.dispatch' has no attribute '_earlyparseopts'. Did you mean: '_earlysplitopts'?

Misery commented on 2025-01-21 15:10 (UTC)

thg has still some issues with Qt6.