linux:tortoisehg

文書の過去の版を表示しています。


TortoiseHg

Screenshot_from_2013-03-19 23:59:18

CentOS 7.1

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

$ 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 yum install mercurial tortoisehg tortoisehg-nautilus

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

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

$ /usr/bin/thg

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

#!python
** Mercurial version (2.8.1).  TortoiseHg version (2.11)
** Command: --nofork
** CWD: /var/www/vhosts/localhost/private/cloud_manager
** Encoding: UTF-8
** Extensions loaded: 
** Python version: 2.7.5 (default, Feb 19 2014, 13:47:28)
 [GCC 4.8.2 20131212 (Red Hat 4.8.2-7)]
** System: Linux hostname.localdomain 3.13.5-202.fc20.x86_64
 #1 SMP Mon Mar 3 19:08:00 UTC 2014 x86_64
** Qt-4.8.5 PyQt-4.10.2 QScintilla-2.7.2

This version of TortoiseHg requires Mercurial version 2.6.n to 2.7.n, but found 2.8.1


その場合は、tortoisehg の checkhgversion() を修正することで、ひとまず動作させることができる。

  1. hgversion.pyのパスを調べる。
$ rpm -ql tortoisehg | grep hgversion.py
/usr/lib/python2.7/site-packages/tortoisehg/util/hgversion.py
  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.1436547114.txt.gz
  • 最終更新: 2019/05/18 02:23
  • (外部編集)