linux:tortoisehg

TortoiseHg - Mercurial 分散型バージョン管理システム用ツール

CentOS 7.1

CentOS 7 で EPEL, RPM Fusion, Remi, RepoForge(RPM Forge), Nux Dextop リポジトリを利用する の手順を行ってから、以下の手順でインストールする。

$ sudo yum install PyQt4-devel python-devel python-iniparse gcc gettext
$ sudo yum install qscintilla-python python-keyring python-sphinx Django
$ hg clone https://bitbucket.org/tortoisehg/thg
$ cd thg
$ ./thg

Fedora

$ sudo dnf install -y mercurial tortoisehg tortoisehg-nautilus

メタデータの期限切れの最終確認: 0:02:48 前の 2024年02月27日 06時39分58秒 に実施しました。
依存関係が解決しました。
==============================================================================================================
 パッケージ                            アーキテクチャー   バージョン                リポジトリー        サイズ
==============================================================================================================
インストール:
 mercurial                             x86_64             6.5.3-1.fc39              updates             6.4 M
 tortoisehg                            noarch             6.5.1-1.fc39              fedora              3.4 M
 tortoisehg-nautilus                   noarch             6.5.1-1.fc39              fedora               13 k
依存関係のインストール:
 nautilus-python                       x86_64             4.0-4.fc39                fedora               30 k
 python-pyqt6-rpm-macros               noarch             6.6.1-5.fc39              updates             9.4 k
 python3-iniparse                      noarch             0.5-6.fc39                fedora               54 k
 python3-pygments                      noarch             2.15.1-4.fc39             fedora              2.4 M
 python3-pyqt6                         x86_64             6.6.1-5.fc39              updates             1.1 M
 python3-pyqt6-base                    x86_64             6.6.1-5.fc39              updates             3.3 M
 python3-pyqt6-sip                     x86_64             13.6.0-1.fc39             updates              77 k
 python3-qscintilla-qt6                x86_64             2.13.4-3.fc39             fedora              317 k
 python3-zombie-imp                    noarch             0.0.2-2.fc39              fedora               29 k
 qscintilla-qt6                        x86_64             2.13.4-3.fc39             fedora              1.1 M
 qt6-qtconnectivity                    x86_64             6.6.2-1.fc39              updates             470 k
 qt6-qtmultimedia                      x86_64             6.6.2-1.fc39              updates             1.0 M
 qt6-qtpdf                             x86_64             6.6.2-1.fc39              updates             2.4 M
 qt6-qtpositioning                     x86_64             6.6.2-1.fc39              updates             443 k
 qt6-qtquick3d                         x86_64             6.6.2-1.fc39              updates             4.1 M
 qt6-qtquicktimeline                   x86_64             6.6.2-1.fc39              updates              59 k
 qt6-qtremoteobjects                   x86_64             6.6.2-1.fc39              updates             475 k
 qt6-qtsensors                         x86_64             6.6.2-1.fc39              updates             226 k
 qt6-qtserialport                      x86_64             6.6.2-1.fc39              updates              76 k
 qt6-qtshadertools                     x86_64             6.6.2-1.fc39              updates             1.4 M
 qt6-qtspeech                          x86_64             6.6.2-1.fc39              updates             111 k
 qt6-qttools-common                    noarch             6.6.2-1.fc39              updates              11 k
 qt6-qttools-libs-designer             x86_64             6.6.2-1.fc39              updates             2.9 M
 qt6-qttools-libs-help                 x86_64             6.6.2-1.fc39              updates             199 k
 qt6-qtwebchannel                      x86_64             6.6.2-1.fc39              updates             151 k
 qt6-qtwebsockets                      x86_64             6.6.2-1.fc39              updates             104 k
弱い依存関係のインストール:
 qt6-qtspeech-speechd                  x86_64             6.6.2-1.fc39              updates              34 k

トランザクションの概要
==============================================================================================================
インストール  30 パッケージ

ダウンロードサイズの合計: 32 M
インストール後のサイズ: 122 M
パッケージのダウンロード:
(1/30): nautilus-python-4.0-4.fc39.x86_64.rpm                                 162 kB/s |  30 kB     00:00    
(2/30): python3-iniparse-0.5-6.fc39.noarch.rpm                                208 kB/s |  54 kB     00:00    
(3/30): python3-zombie-imp-0.0.2-2.fc39.noarch.rpm                            143 kB/s |  29 kB     00:00    
(4/30): python3-qscintilla-qt6-2.13.4-3.fc39.x86_64.rpm                       315 kB/s | 317 kB     00:01    
(5/30): tortoisehg-6.5.1-1.fc39.noarch.rpm                                    2.2 MB/s | 3.4 MB     00:01    
(6/30): tortoisehg-nautilus-6.5.1-1.fc39.noarch.rpm                            85 kB/s |  13 kB     00:00    
(7/30): qscintilla-qt6-2.13.4-3.fc39.x86_64.rpm                               399 kB/s | 1.1 MB     00:02    
(8/30): mercurial-6.5.3-1.fc39.x86_64.rpm                                     2.0 MB/s | 6.4 MB     00:03    
(9/30): python-pyqt6-rpm-macros-6.6.1-5.fc39.noarch.rpm                       3.2 kB/s | 9.4 kB     00:02    
(10/30): python3-pygments-2.15.1-4.fc39.noarch.rpm                            393 kB/s | 2.4 MB     00:06    
(11/30): python3-pyqt6-6.6.1-5.fc39.x86_64.rpm                                3.1 MB/s | 1.1 MB     00:00    
(12/30): python3-pyqt6-base-6.6.1-5.fc39.x86_64.rpm                           2.5 MB/s | 3.3 MB     00:01    
(13/30): python3-pyqt6-sip-13.6.0-1.fc39.x86_64.rpm                            62 kB/s |  77 kB     00:01    
(14/30): qt6-qtconnectivity-6.6.2-1.fc39.x86_64.rpm                           458 kB/s | 470 kB     00:01    
(15/30): qt6-qtmultimedia-6.6.2-1.fc39.x86_64.rpm                             2.3 MB/s | 1.0 MB     00:00    
(16/30): qt6-qtpdf-6.6.2-1.fc39.x86_64.rpm                                    3.1 MB/s | 2.4 MB     00:00    
(17/30): qt6-qtpositioning-6.6.2-1.fc39.x86_64.rpm                            535 kB/s | 443 kB     00:00    
(18/30): qt6-qtquick3d-6.6.2-1.fc39.x86_64.rpm                                3.0 MB/s | 4.1 MB     00:01    
(19/30): qt6-qtquicktimeline-6.6.2-1.fc39.x86_64.rpm                           60 kB/s |  59 kB     00:00    
(20/30): qt6-qtremoteobjects-6.6.2-1.fc39.x86_64.rpm                          475 kB/s | 475 kB     00:01    
(21/30): qt6-qtsensors-6.6.2-1.fc39.x86_64.rpm                                765 kB/s | 226 kB     00:00    
(22/30): qt6-qtserialport-6.6.2-1.fc39.x86_64.rpm                             299 kB/s |  76 kB     00:00    
(23/30): qt6-qtshadertools-6.6.2-1.fc39.x86_64.rpm                            2.0 MB/s | 1.4 MB     00:00    
(24/30): qt6-qtspeech-6.6.2-1.fc39.x86_64.rpm                                 213 kB/s | 111 kB     00:00    
(25/30): qt6-qtspeech-speechd-6.6.2-1.fc39.x86_64.rpm                          63 kB/s |  34 kB     00:00    
(26/30): qt6-qttools-common-6.6.2-1.fc39.noarch.rpm                            82 kB/s |  11 kB     00:00    
(27/30): qt6-qttools-libs-designer-6.6.2-1.fc39.x86_64.rpm                    1.6 MB/s | 2.9 MB     00:01    
(28/30): qt6-qttools-libs-help-6.6.2-1.fc39.x86_64.rpm                        105 kB/s | 199 kB     00:01    
(29/30): qt6-qtwebchannel-6.6.2-1.fc39.x86_64.rpm                              67 kB/s | 151 kB     00:02    
(30/30): qt6-qtwebsockets-6.6.2-1.fc39.x86_64.rpm                             230 kB/s | 104 kB     00:00    
--------------------------------------------------------------------------------------------------------------
合計                                                                          2.5 MB/s |  32 MB     00:13     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                      1/1 
  インストール中   : qt6-qttools-common-6.6.2-1.fc39.noarch                                              1/30 
  インストール中   : qt6-qtserialport-6.6.2-1.fc39.x86_64                                                2/30 
  インストール中   : qt6-qtmultimedia-6.6.2-1.fc39.x86_64                                                3/30 
  インストール中   : qt6-qtspeech-speechd-6.6.2-1.fc39.x86_64                                            4/30 
  インストール中   : qt6-qtspeech-6.6.2-1.fc39.x86_64                                                    5/30 
  インストール中   : python3-pyqt6-sip-13.6.0-1.fc39.x86_64                                              6/30 
  インストール中   : qt6-qtpositioning-6.6.2-1.fc39.x86_64                                               7/30 
  インストール中   : qt6-qttools-libs-designer-6.6.2-1.fc39.x86_64                                       8/30 
  インストール中   : qt6-qttools-libs-help-6.6.2-1.fc39.x86_64                                           9/30 
  インストール中   : qt6-qtwebsockets-6.6.2-1.fc39.x86_64                                               10/30 
  インストール中   : qt6-qtwebchannel-6.6.2-1.fc39.x86_64                                               11/30 
  インストール中   : qt6-qtshadertools-6.6.2-1.fc39.x86_64                                              12/30 
  インストール中   : qt6-qtsensors-6.6.2-1.fc39.x86_64                                                  13/30 
  インストール中   : qt6-qtremoteobjects-6.6.2-1.fc39.x86_64                                            14/30 
  インストール中   : qt6-qtquicktimeline-6.6.2-1.fc39.x86_64                                            15/30 
  インストール中   : qt6-qtquick3d-6.6.2-1.fc39.x86_64                                                  16/30 
  インストール中   : qt6-qtpdf-6.6.2-1.fc39.x86_64                                                      17/30 
  インストール中   : qt6-qtconnectivity-6.6.2-1.fc39.x86_64                                             18/30 
  インストール中   : python-pyqt6-rpm-macros-6.6.1-5.fc39.noarch                                        19/30 
  インストール中   : python3-pyqt6-base-6.6.1-5.fc39.x86_64                                             20/30 
  インストール中   : python3-pyqt6-6.6.1-5.fc39.x86_64                                                  21/30 
  インストール中   : qscintilla-qt6-2.13.4-3.fc39.x86_64                                                22/30 
  インストール中   : python3-qscintilla-qt6-2.13.4-3.fc39.x86_64                                        23/30 
  インストール中   : python3-zombie-imp-0.0.2-2.fc39.noarch                                             24/30 
  インストール中   : mercurial-6.5.3-1.fc39.x86_64                                                      25/30 
  インストール中   : python3-pygments-2.15.1-4.fc39.noarch                                              26/30 
  インストール中   : python3-iniparse-0.5-6.fc39.noarch                                                 27/30 
  インストール中   : tortoisehg-6.5.1-1.fc39.noarch                                                     28/30 
  インストール中   : nautilus-python-4.0-4.fc39.x86_64                                                  29/30 
  インストール中   : tortoisehg-nautilus-6.5.1-1.fc39.noarch                                            30/30 
  scriptletの実行中: tortoisehg-nautilus-6.5.1-1.fc39.noarch                                            30/30 
  検証             : nautilus-python-4.0-4.fc39.x86_64                                                   1/30 
  検証             : python3-iniparse-0.5-6.fc39.noarch                                                  2/30 
  検証             : python3-pygments-2.15.1-4.fc39.noarch                                               3/30 
  検証             : python3-qscintilla-qt6-2.13.4-3.fc39.x86_64                                         4/30 
  検証             : python3-zombie-imp-0.0.2-2.fc39.noarch                                              5/30 
  検証             : qscintilla-qt6-2.13.4-3.fc39.x86_64                                                 6/30 
  検証             : tortoisehg-6.5.1-1.fc39.noarch                                                      7/30 
  検証             : tortoisehg-nautilus-6.5.1-1.fc39.noarch                                             8/30 
  検証             : mercurial-6.5.3-1.fc39.x86_64                                                       9/30 
  検証             : python-pyqt6-rpm-macros-6.6.1-5.fc39.noarch                                        10/30 
  検証             : python3-pyqt6-6.6.1-5.fc39.x86_64                                                  11/30 
  検証             : python3-pyqt6-base-6.6.1-5.fc39.x86_64                                             12/30 
  検証             : python3-pyqt6-sip-13.6.0-1.fc39.x86_64                                             13/30 
  検証             : qt6-qtconnectivity-6.6.2-1.fc39.x86_64                                             14/30 
  検証             : qt6-qtmultimedia-6.6.2-1.fc39.x86_64                                               15/30 
  検証             : qt6-qtpdf-6.6.2-1.fc39.x86_64                                                      16/30 
  検証             : qt6-qtpositioning-6.6.2-1.fc39.x86_64                                              17/30 
  検証             : qt6-qtquick3d-6.6.2-1.fc39.x86_64                                                  18/30 
  検証             : qt6-qtquicktimeline-6.6.2-1.fc39.x86_64                                            19/30 
  検証             : qt6-qtremoteobjects-6.6.2-1.fc39.x86_64                                            20/30 
  検証             : qt6-qtsensors-6.6.2-1.fc39.x86_64                                                  21/30 
  検証             : qt6-qtserialport-6.6.2-1.fc39.x86_64                                               22/30 
  検証             : qt6-qtshadertools-6.6.2-1.fc39.x86_64                                              23/30 
  検証             : qt6-qtspeech-6.6.2-1.fc39.x86_64                                                   24/30 
  検証             : qt6-qtspeech-speechd-6.6.2-1.fc39.x86_64                                           25/30 
  検証             : qt6-qttools-common-6.6.2-1.fc39.noarch                                             26/30 
  検証             : qt6-qttools-libs-designer-6.6.2-1.fc39.x86_64                                      27/30 
  検証             : qt6-qttools-libs-help-6.6.2-1.fc39.x86_64                                          28/30 
  検証             : qt6-qtwebchannel-6.6.2-1.fc39.x86_64                                               29/30 
  検証             : qt6-qtwebsockets-6.6.2-1.fc39.x86_64                                               30/30 

インストール済み:
  mercurial-6.5.3-1.fc39.x86_64                           nautilus-python-4.0-4.fc39.x86_64                  
  python-pyqt6-rpm-macros-6.6.1-5.fc39.noarch             python3-iniparse-0.5-6.fc39.noarch                 
  python3-pygments-2.15.1-4.fc39.noarch                   python3-pyqt6-6.6.1-5.fc39.x86_64                  
  python3-pyqt6-base-6.6.1-5.fc39.x86_64                  python3-pyqt6-sip-13.6.0-1.fc39.x86_64             
  python3-qscintilla-qt6-2.13.4-3.fc39.x86_64             python3-zombie-imp-0.0.2-2.fc39.noarch             
  qscintilla-qt6-2.13.4-3.fc39.x86_64                     qt6-qtconnectivity-6.6.2-1.fc39.x86_64             
  qt6-qtmultimedia-6.6.2-1.fc39.x86_64                    qt6-qtpdf-6.6.2-1.fc39.x86_64                      
  qt6-qtpositioning-6.6.2-1.fc39.x86_64                   qt6-qtquick3d-6.6.2-1.fc39.x86_64                  
  qt6-qtquicktimeline-6.6.2-1.fc39.x86_64                 qt6-qtremoteobjects-6.6.2-1.fc39.x86_64            
  qt6-qtsensors-6.6.2-1.fc39.x86_64                       qt6-qtserialport-6.6.2-1.fc39.x86_64               
  qt6-qtshadertools-6.6.2-1.fc39.x86_64                   qt6-qtspeech-6.6.2-1.fc39.x86_64                   
  qt6-qtspeech-speechd-6.6.2-1.fc39.x86_64                qt6-qttools-common-6.6.2-1.fc39.noarch             
  qt6-qttools-libs-designer-6.6.2-1.fc39.x86_64           qt6-qttools-libs-help-6.6.2-1.fc39.x86_64          
  qt6-qtwebchannel-6.6.2-1.fc39.x86_64                    qt6-qtwebsockets-6.6.2-1.fc39.x86_64               
  tortoisehg-6.5.1-1.fc39.noarch                          tortoisehg-nautilus-6.5.1-1.fc39.noarch            

完了しました!

アクティビティ → アプリケーションを表示する → TortoiseHg をクリック。
TortoiseHg-icon

または、コマンドラインより

$ /usr/bin/thg

Fedora 23 で tortoisehg-3.5.1、mercurial-3.6.3の場合は、画面に以下の内容が表示されてしまう。

#!python
** ** Mercurial version (3.6.3).  TortoiseHg version (3.5.1)
** Command: --nofork
** CWD: /var/www/vhosts/localhost/private/cloud_manager
** Encoding: UTF-8
** Extensions loaded: 
** Python version: 2.7.10 (default, Sep  8 2015, 17:20:17)
 [GCC 5.1.1 20150618 (Red Hat 5.1.1-4)]
** System: Linux hostname.localdomain 4.2.8-300.fc23.x86_64
 #1 SMP Tue Dec 15 16:49:06 UTC 2015 x86_64
** Qt-4.8.7 PyQt-4.11.4 QScintilla-2.9.1

This version of TortoiseHg requires Mercurial version 3.4.n to 3.5.n, but found 3.6.3


その場合は、tortoisehg の checkhgversion() で判定しているバージョンを修正することで、ひとまず動作させることができる。

  1. hgversion.pyのパスを調べる。
    $ rpm -ql tortoisehg | grep hgversion.py
    /usr/lib/python2.7/site-packages/tortoisehg/util/hgversion.py
  2. checkhgversion() 関数の手前の testedwith 変数を書き足す。
    $ sudo vi /usr/lib/python2.7/site-packages/tortoisehg/util/hgversion.py
    #testedwith = '3.4 3.5'
    testedwith = '3.4 3.5 3.6'


古い tortoisehg の場合は以下のように直す。

  1. checkhgversion() 関数のバージョンを2.6から2.8へ変更する。
    $ sudo vi /usr/lib/python2.7/site-packages/tortoisehg/util/hgversion.py
    def checkhgversion(v):
        """range check the Mercurial version"""
    #    reqver = ['2', '6']
        reqver = ['2', '8']
        v = v.split('+')[0]

Qtまわりが原因で起動しない場合は何も表示されないようである。
python から import してみる。

$ python
Python 2.7.3 (default, Aug  9 2012, 17:23:57) 
[GCC 4.7.1 20120720 (Red Hat 4.7.1-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tortoisehg.hgqt.run
TortoiseHg requires Qt 4.6 and PyQt 4.7
You have Qt 4.8.4 and PyQt 4.10

Qt や PyQt のバージョンチェックを修正して、無理やり動かす。(自己責任で!!)

$ sudo vi /usr/lib/python2.7/site-packages/tortoisehg/hgqt/qtlib.py
if PYQT_VERSION_STR.split('.') < ['4', '10'] or \
   QT_VERSION_STR.split('.') < ['4', '8']:
    sys.stderr.write('TortoiseHg requires Qt 4.8 and PyQt 4.10\n')
    sys.stderr.write('You have Qt %s and PyQt %s\n' %
                     (QT_VERSION_STR, PYQT_VERSION_STR))
    sys.exit()
  • linux/tortoisehg.txt
  • 最終更新: 2024/02/27 06:46
  • by ともやん