by
Changes to 410 files · Browse files at fcadbfb1d6bd Showing diff from parent ecbe2d08b7f9 5cf3e36d5c10 Diff from another changeset...
@@ -38,3 +38,6 @@ *~
tortoisehg/util/__version__.py
*.wixobj
+tortoisehg/hgqt/*_rc.py
+tortoisehg/hgqt/*_ui.py
+thgw
|
@@ -46,3 +46,10 @@ edc8ec8b18a98abada33fb312e2c5cfb8e336eb4 1.1.8
065d9654030e19ba2c92a9c3616f37d2ab427caa 1.1.9
031e24094f5337ffdb4eee32f54773ecd5a1adc1 1.1.9.1
+653ff9fb4ccf16833bab58fbc765ff8829dc1265 1.9
+6f97499d3d53aaf4cc1ec3c626191b13eb3aed58 1.9.1
+dc23fbf831944fdf894cade250161131c11c9ce4 1.9.2
+36a2bd08a405438ec776ad506c71fe581b8ce0b5 1.9.3
+81a60ce2dba7178e834ac46b0c996bee38380e77 2.0
+ee531052f78b11dafe1d8c7ab9cfb95b4854be38 2.0.1
+5333ccf1184864720c1d3690df94fa47df80bf02 2.0.2
|
@@ -14,9 +14,14 @@ application is still reasonably usable with the base library versions listed
below.
-PyGtk: 2.10
+PyQt: 4.7
+Qt: 4.6
=== Python version ===
TortoiseHg needs to run on Python 2.4, to stay consistent with Mercurial
itself.
+
+Mercurial on Windows requires ctypes, which is included with Python 2.5
+and later releases. If you are using Python 2.4 on Windows, you must
+install the ctypes back port.
|
|
@@ -0,0 +1,7 @@ + The history viewer of TortoiseHg is based on hgview
+<http://www.logilab.org/project/hgview>, a tool developped by David
+Douard <david.douard@logilab.fr> and others, with the financial
+support of Logilab <http://www.logilab.fr>
+
+TortoiseHg Windows installers include TortoiseOverlays handlers, as
+provided by the TortoiseSVN project <http://tortoisesvn.net/>
|
@@ -1,25 +1,12 @@ ** Please do not run setup.py **
-On Linux, the suggested methods for using TortoiseHg are to either
-install a package built for your distribution, or run directly out of a
-cloned repository. For details, see:
-
-http://bitbucket.org/tortoisehg/stable/wiki/download
-
-http://bitbucket.org/tortoisehg/stable/wiki/hgtk
-
-http://bitbucket.org/tortoisehg/stable/wiki/nautilus
-
-
On Windows, we prefer you use the more recent stable release, which
can always be found at http://tortoisehg.org
+On Linux, the suggested methods for using TortoiseHg are to either
+install a package built for your distribution, or run directly out of a
+cloned repository.
-If you ran setup.py and are now having troubles with icons, you have two
-choices:
+For source install details, see:
-1) Find the tortoisehg/util/config.py file that was installed and
-manually edit it to fixup the paths.
-
-2) Delete the installation and use one of the preferred install methods.
-
+http://bitbucket.org/tortoisehg/thg/wiki/developers/Hacking
|
@@ -2,7 +2,9 @@ include contrib/_hgtk
include contrib/nautilus-thg.py
include contrib/mergetools.rc
+include contrib/tortoisehg.desktop
include COPYING.txt
-recursive-include i18n *.po
+include tortoisehg/hgqt/*.ui
+recursive-include i18n *.po *.py
recursive-include doc *
recursive-exclude doc/build *
|
@@ -1,9 +1,10 @@ Steps for making a release:
+* hg status -ar --rev 1.6:tip # find new files that WiX needs to know about
* Pull latest translations from Launchpad
-* set revision number in tortoisehg/hgtk/gdialog.py (major release only)
* set revision number in doc/source/conf.py
* tag stable branch of repository, push
+* update url in qtlib.openhelpcontents() (major release only)
* build pdf hgbook, check into thg-winbuild (major release only)
* build release installer
* commit extension versions, tag, push thg-winbuild
|
@@ -287,6 +287,7 @@ def get_config():
show_taskbaricon = True
hgighlight_taskbaricon = True
+ version2cmenu = False
try:
from _winreg import HKEY_CURRENT_USER, OpenKey, QueryValueEx
hkey = OpenKey(HKEY_CURRENT_USER, r'Software\TortoiseHg')
@@ -295,6 +296,24 @@ except EnvironmentError: pass
try: hgighlight_taskbaricon = QueryValueEx(hkey, 'HighlightTaskbarIcon')[0] in t
except EnvironmentError: pass
+
+ # Upgrade user's context menu, once per major release
+ try: version2cmenu = QueryValueEx(hkey, 'ContextMenuVersion')[0] == '2'
+ except EnvironmentError: pass
+ try:
+ if not version2cmenu:
+ from _winreg import CreateKey, SetValueEx, REG_SZ
+ try: promoted = QueryValueEx(hkey, 'PromotedItems')[0]
+ except EnvironmentError: promoted = ''
+ plist = [i.strip() for i in promoted.split(',')]
+ hkey = CreateKey(HKEY_CURRENT_USER, r'Software\TortoiseHg')
+ if u'log' in plist:
+ idx = plist.index(u'log')
+ plist[idx] = u'workbench'
+ SetValueEx(hkey, 'PromotedItems', 0, REG_SZ, ','.join(plist))
+ SetValueEx(hkey, 'ContextMenuVersion', 0, REG_SZ, '2')
+ except EnvironmentError:
+ pass
except (ImportError, WindowsError):
pass
return (show_taskbaricon, hgighlight_taskbaricon)
|
|
@@ -0,0 +1,73 @@ + #!/usr/bin/env python
+# ipythg.py - Run TortoiseHg Qt from IPython
+#
+# Copyright 2011 Yuya Nishihara <yuya@tcha.org>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2, incorporated herein by reference.
+"""Interactive Python shell for TortoiseHg
+
+? -> Introduction and overview of IPython's features.
+%quickref -> Quick reference.
+help -> Python's own help system.
+object? -> Details about 'object'. ?object also works, ?? prints more.
+
+hg -> Run hg command in cmdui.Dialog. Usage: hg verify
+thg -> Run thg command. Usage: thg log -R mercurial
+
+dialogs -> List of currently-opened dialogs.
+repos -> Dict of repository objects.
+run -> Module to run TortoiseHg dialogs. Usage: run.log(ui)
+ui -> Mercurial's ui object.
+"""
+import os, sys, shlex
+from IPython import ipapi
+from IPython.Shell import IPShellQt4
+from PyQt4 import QtCore, QtGui
+
+sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__),
+ '..')))
+if 'HGPATH' in os.environ and os.path.isdir(os.environ['HGPATH']):
+ sys.path.insert(1, os.environ['HGPATH'])
+
+from mercurial import ui
+from tortoisehg.hgqt import cmdui, thgrepo, run
+
+def _runhgcommand(self, arg):
+ def newdlg(ui):
+ return cmdui.Dialog(shlex.split(arg))
+ run.qtrun(newdlg, self.user_ns['ui'])
+
+def _runthgcommand(self, arg):
+ run.runcommand(self.user_ns['ui'], shlex.split(arg))
+
+def _banner():
+ lines = __doc__.splitlines()
+ lines[2:2] = [run.shortlicense.strip(), '']
+ return '\n'.join(lines) + '\n'
+
+def _execipyshell(ui):
+ """Setup IPython shell and enter mainloop"""
+ ns = {}
+ for mod in (QtCore, QtGui):
+ ns.update((k, v) for k, v in vars(mod).iteritems()
+ if not k.startswith('_'))
+ ns.update({'dialogs': run.qtrun._dialogs, 'repos': thgrepo._repocache,
+ 'run': run, 'ui': ui})
+ shell = IPShellQt4(argv=[], user_ns=ns)
+ ip = ipapi.IPApi(shell.IP)
+ ip.expose_magic('hg', _runhgcommand)
+ ip.expose_magic('thg', _runthgcommand)
+ shell.mainloop(banner=_banner())
+
+def _hookqtrun(ui):
+ """Hook qtrun() at dlgfunc() to hijack exec_()"""
+ run.qtrun._mainapp.exec_ = lambda: _execipyshell(ui)
+
+def main():
+ os.environ['THGDEBUG'] = '1'
+ os.environ['THG_GUI_SPAWN'] = '1'
+ run.qtrun(_hookqtrun, ui.ui())
+
+if __name__ == '__main__':
+ main()
|
|
@@ -1,5 +1,5 @@ [merge-tools]
-; Windows version of BeyondCompare
+; Windows version of BeyondCompare 3
beyondcompare3.priority=-1
beyondcompare3.args=$local $other $base /mergeoutput=$output /ro /lefttitle=parent1 /centertitle=base /righttitle=parent2 /outputtitle=merged /automerge /reviewconflicts /solo
beyondcompare3.premerge=False
@@ -10,9 +10,28 @@beyondcompare3.diff3args=$parent1 $parent2 $child /lefttitle='$plabel1' /centertitle='$clabel' /righttitle='$plabel2' /solo /ro
beyondcompare3.dirdiff=True
+; Windows version of BeyondCompare 2 (2-way diff only)
+beyondcompare2.priority=-4
+beyondcompare2.args= /ro /title1="Original" /title2="Working copy" $local $other
+beyondcompare2.regkey=Software\Scooter Software\Beyond Compare
+beyondcompare2.regname=ExePath
+beyondcompare2.gui=True
+beyondcompare2.diffargs=/lro /title1='$plabel1' /title2='$clabel' $parent $child
+beyondcompare2.dirdiff=True
+
+; The Araxis Merge tool is configured to work with newer versions of Araxis Merge
+; if you are using Araxis Merge 2008 or later, create a [merge-tools] section
+; in your mercurial.ini file, and add one of the two following "araxis.executable"
+; lines, depending on whether you have installed a 32 or a 64 bit version
+; of Araxis Merge and whether you are on a 32 or 64 bit version of windows
+;
+;araxis.executable=${ProgramFiles}/Araxis/Araxis Merge/ConsoleCompare.exe
+;araxis.executable=${ProgramFiles(x86)}/Araxis/Araxis Merge/ConsoleCompare.exe
+;
+; Please remember to remove the leading ";" to uncomment the line
+;
araxis.regkey=SOFTWARE\Classes\TypeLib\{46799e0a-7bd1-4330-911c-9660bb964ea2}\7.0\HELPDIR
araxis.regappend=\ConsoleCompare.exe
-;araxis.executable=${ProgramFiles}/Araxis/Araxis Merge/ConsoleCompare.exe
araxis.priority=-2
araxis.args=/3 /a2 /wait /merge /title1:"Parent 1" /title2:"Merge Result: "$output /title3:"Parent 2" $local $base $other $output
araxis.premerge=False
@@ -25,6 +44,7 @@araxis.dir3diff=True
UltraCompare.regkey=Software\Microsoft\Windows\CurrentVersion\App Paths\UC.exe
+UltraCompare.regkeyalt=Software\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\UC.exe
UltraCompare.args = $base $local $other -title1 base -title3 other
UltraCompare.priority = -2
UltraCompare.gui = True
@@ -37,8 +57,9 @@kdiff3.priority=-3
kdiff3.args=--auto --L1 base --L2 parent1 --L3 parent2 $base $local $other -o $output
kdiff3.regkey=Software\KDiff3
+kdiff3.regkeyalt=Software\Wow6432Node\KDiff3
kdiff3.regappend=\kdiff3.exe
-kdiff3.fixeol=True
+kdiff3.fixeol=False
kdiff3.premerge=False
kdiff3.gui=True
kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child
@@ -46,6 +67,7 @@kdiff3.dirdiff=True
diffmerge.regkey=Software\SourceGear\SourceGear DiffMerge\
+diffmerge.regkeyalt=Software\Wow6432Node\SourceGear\SourceGear DiffMerge\
diffmerge.regname=Location
diffmerge.priority=-7
diffmerge.args=-nosplash -merge -title1=local -title2=merged -title3=other $local $base $other -result=$output
@@ -58,6 +80,7 @@p4merge.priority=-8
p4merge.args=$base $local $other $output
p4merge.regkey=Software\Perforce\Environment
+p4merge.regkeyalt=Software\Wow6432Node\Perforce\Environment
p4merge.regname=P4INSTROOT
p4merge.regappend=\p4merge.exe
p4merge.gui=True
@@ -68,6 +91,7 @@tortoisemerge.priority=-9
tortoisemerge.args=/base:$base /mine:$local /theirs:$other /merged:$output
tortoisemerge.regkey=Software\TortoiseSVN
+tortoisemerge.regkeyalt=Software\Wow6432Node\TortoiseSVN
tortoisemerge.checkchanged=True
tortoisemerge.gui=True
tortoisemerge.diffargs=/base:$parent /mine:$child /basename:'$plabel1' /minename:'$clabel'
@@ -76,6 +100,7 @@ecmerge.priority=-10
ecmerge.args=$base $local $other --mode=merge3 --title0=base --title1=local --title2=other --to=$output
ecmerge.regkey=Software\Elli\xc3\xa9 Computing\Merge
+ecmerge.regkeyalt=Software\Wow6432Node\Elli\xc3\xa9 Computing\Merge
ecmerge.gui=True
ecmerge.diffargs=$parent $child --mode=diff2 --title1='$plabel1' --title2='$clabel'
ecmerge.diff3args=$child $parent1 $parent2 --mode=diff3 --title0='$clabel' --title1='$plabel1' --title2='$plabel2'
@@ -83,6 +108,7 @@ecmerge.dir3diff=True
winmergeu.regkey=Software\Thingamahoochie\WinMerge\
+winmergeu.regkeyalt=Software\Wow6432Node\Thingamahoochie\WinMerge\
winmergeu.regname=Executable
winmergeu.priority=-10
winmergeu.args=/e /x /wl /ub /dl other /dr local $other $local $output
@@ -148,3 +174,15 @@tkdiff.diffargs=-L '$plabel1' $parent -L '$clabel' $child
tkdiff.diff3args=
tkdiff.dirdiff=False
+
+
+; Telelogic Rhapsody DiffMerge Tool
+rhapsody_diffmerge.regkey=Software\Telelogic\Rhapsody\DiffMerge\
+rhapsody_diffmerge.regkeyalt=Software\Wow6432Node\Telelogic\Rhapsody\DiffMerge\
+rhapsody_diffmerge.regname=Install Path
+rhapsody_diffmerge.priority=-110
+rhapsody_diffmerge.args=-xmerge $other $local -base $base -out $output
+rhapsody_diffmerge.checkchanged=True
+rhapsody_diffmerge.gui=True
+rhapsody_diffmerge.diffargs=-xcompare $parent $child
+rhapsody_diffmerge.diff3args=
|
@@ -12,6 +12,9 @@ import os
import sys
+thg_main = 'thg'
+idstr_prefix = 'HgNautilus2'
+
if gtk.gtk_version < (2, 14, 0):
# at least on 2.12.12, gtk widgets can be confused by control
# char markups (like ""), so use cgi.escape instead
@@ -65,7 +68,7 @@ self.inv_dirs = set()
from tortoisehg.util import menuthg
- self.hgtk = paths.find_in_path('hgtk')
+ self.hgtk = paths.find_in_path(thg_main)
self.menu = menuthg.menuThg()
self.notify = os.path.expanduser('~/.tortoisehg/notify')
try:
@@ -171,7 +174,7 @@ else: #bg
passcwd = self.cwd
for menu_info in menus:
- idstr = 'HgNautilus::%02d%s' % (self.pos, menu_info.hgcmd)
+ idstr = '%s::%02d%s' % (idstr_prefix ,self.pos, menu_info.hgcmd)
self.pos += 1
if menu_info.isSep():
# can not insert a separator till now
@@ -212,7 +215,7 @@ return self.buildMenu(vfs_files, False)
def get_columns(self):
- return nautilus.Column("HgNautilus::80hg_status",
+ return nautilus.Column(idstr_prefix + "::80hg_status",
"hg_status",
"Hg Status",
"Version control status"),
|
|
|
@@ -0,0 +1,200 @@ + #!/usr/bin/env python
+# plot-annotate-colors.py - Display how annotation colors are assigned
+#
+# Copyright 2010 Yuya Nishihara <yuya@tcha.org>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2, incorporated herein by reference.
+import os, sys, math
+
+sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
+
+from mercurial import hg, ui, cmdutil, util
+from tortoisehg.util import colormap, hglib
+
+from PyQt4.QtCore import *
+from PyQt4.QtGui import *
+
+SECS_PER_DAY = 24 * 60 * 60
+
+class ColorPlot(QWidget):
+ """Display annotation colors as x-y graph
+
+ ::
+ +-------------------------------------------------> age
+ |
+ | o ... filled by its color
+ |
+ | O ... size of circle describes number of lines
+ |
+ | *
+ | ... missing ctx is
+ | filled by yellow
+ | (error marker)
+ v
+ committer
+ """
+
+ def __init__(self, parent=None):
+ super(ColorPlot, self).__init__(parent)
+ self.setSizePolicy(QSizePolicy(QSizePolicy.Expanding,
+ QSizePolicy.Expanding))
+ pal = QPalette()
+ pal.setColor(self.backgroundRole(), QColor('black'))
+ self.setPalette(pal)
+ self.setAutoFillBackground(True)
+
+ self._updatetimer = QTimer(self, singleShot=True)
+ self._updatetimer.timeout.connect(self.update)
+
+ self._maxhues = None
+ self._maxsaturations = None
+ self._mindate = None
+ self._maxcolors = 0
+
+ self._latestdate = None
+ self._fctxs = None
+
+ def paintEvent(self, event):
+ if self._fctxs is None:
+ return
+
+ mindate = None
+ if self._mindate:
+ mindate = self._latestdate - self._mindate * SECS_PER_DAY
+ palette, cm = colormap._makeannotatepalette(
+ list(sorted(set(self._fctxs), key=lambda fctx: -fctx.date()[0])),
+ now=self._latestdate, maxcolors=self._maxcolors,
+ maxhues=self._maxhues, maxsaturations=self._maxsaturations,
+ mindate=mindate)
+
+ weights = {}
+ for fctx in self._fctxs:
+ try:
+ weights[fctx] += 1
+ except KeyError:
+ weights[fctx] = 1
+
+ p = QPainter(self)
+ p.setRenderHint(QPainter.Antialiasing)
+ for fctx, w in weights.iteritems():
+ i = abs(hash(fctx.user()))
+ j = self._latestdate - fctx.date()[0]
+ c = cm.get_color(fctx, self._latestdate)
+ if c not in palette:
+ b = QBrush(QColor('yellow'), Qt.Dense4Pattern) # error marker
+ else:
+ b = QBrush(QColor(c))
+ p.setPen(QPen(b, math.sqrt(w) * 2, Qt.SolidLine, Qt.RoundCap))
+ p.drawPoint(j / SECS_PER_DAY + 2,
+ i / (sys.maxint / (self.height() - 4)) + 2)
+
+ p.setPen(QColor('yellow'))
+ p.setFont(QFont('monospace', 8))
+ p.drawText(2, self.height() - 8,
+ 'maxsaturations: %d' % cm._maxsaturations)
+
+ def sizeHint(self):
+ return QSize(365, 200)
+
+ @pyqtSlot(int)
+ def setMaxHues(self, value):
+ self._maxhues = value or None
+ self._updatetimer.start(100)
+
+ @pyqtSlot(int)
+ def setMaxSaturations(self, value):
+ self._maxsaturations = value or None
+ self._updatetimer.start(100)
+
+ @pyqtSlot(int)
+ def setMinDate(self, value):
+ self._mindate = value or None
+ self._updatetimer.start(100)
+
+ @pyqtSlot(int)
+ def setMaxColors(self, value):
+ self._maxcolors = value
+ self._updatetimer.start(100)
+
+ def plot(self, repo, canonpath, rev='.'):
+ latestfctx = repo[rev][canonpath]
+ self._fctxs = [fctx for fctx, line in latestfctx.annotate(follow=True)]
+ self._latestdate = latestfctx.date()[0]
+ self._updatetimer.start(100)
+
+class ColorPlotter(QWidget):
+ def __init__(self, parent=None):
+ super(ColorPlotter, self).__init__(parent)
+ self.setLayout(QVBoxLayout(self))
+ self._plot = ColorPlot(self)
+ self.layout().addWidget(self._plot)
+
+ form = QFormLayout()
+ self.layout().addLayout(form)
+
+ self._maxhues_edit = QSpinBox(self, minimum=0, maximum=360,
+ specialValueText='inf')
+ self._maxhues_edit.valueChanged.connect(self._plot.setMaxHues)
+ self._maxhues_edit.setValue(8)
+ form.addRow('Max Hues (committers):', self._maxhues_edit)
+
+ self._maxsats_edit = QSpinBox(self, minimum=0, maximum=255,
+ specialValueText='inf')
+ self._maxsats_edit.valueChanged.connect(self._plot.setMaxSaturations)
+ self._maxsats_edit.setValue(16)
+ form.addRow('Max Saturations (ages):', self._maxsats_edit)
+
+ self._mindate_edit = QSpinBox(self, minimum=0, maximum=720,
+ specialValueText='n/a')
+ self._mindate_edit.valueChanged.connect(self._plot.setMinDate)
+ self._mindate_edit.setValue(365)
+ form.addRow('Minimal revision age to include', self._mindate_edit)
+
+ self._maxcols_edit = QSpinBox(self, minimum=0, maximum=255)
+ self._maxcols_edit.valueChanged.connect(self._plot.setMaxColors)
+ self._maxcols_edit.setValue(32)
+ form.addRow('Max Colors (palette size):', self._maxcols_edit)
+
+ @pyqtSlot(unicode)
+ def setPath(self, path):
+ spath = hglib.fromunicode(path)
+ reporoot = cmdutil.findrepo(os.path.abspath(spath))
+ if not reporoot:
+ QMessageBox.warning(self, 'Repository Not Found',
+ 'Repository not found for path: %s' % path)
+ repo = hg.repository(ui.ui(), reporoot)
+ canonpath = util.canonpath(repo.root, os.getcwd(), spath)
+ self._plot.plot(repo, canonpath)
+
+class ColorPlotterWindow(QMainWindow):
+ def __init__(self, parent=None):
+ super(ColorPlotterWindow, self).__init__(parent)
+ self._plotter = ColorPlotter(self)
+ self.setCentralWidget(self._plotter)
+
+ self.setMenuBar(QMenuBar())
+ filemenu = self.menuBar().addMenu('&File')
+ filemenu.addAction('&Open', self._openFile, QKeySequence.Open)
+
+ @pyqtSlot()
+ def _openFile(self):
+ path = QFileDialog.getOpenFileName(self, 'File to Annotate')
+ if path:
+ self.setPath(path)
+
+ @pyqtSlot(unicode)
+ def setPath(self, path):
+ self.setWindowFilePath(path)
+ self._plotter.setPath(path)
+
+def main(args=sys.argv):
+ app = QApplication(args)
+ w = ColorPlotterWindow()
+ w.show()
+ if len(args) > 1:
+ QTimer.singleShot(100, lambda: w.setPath(args[1]))
+ return app.exec_()
+
+if __name__ == '__main__':
+ sys.exit(main())
|
|
@@ -0,0 +1,8 @@ + [Desktop Entry]
+Type=Application
+Name=TortoiseHg
+GenericName=Version Control GUI
+Comment=GUI application for using Mercurial
+Icon=tortoisehg_logo
+Exec=thg --nofork
+Categories=Development;RevisionControl;
|
@@ -5,7 +5,7 @@ Name: tortoisehg
Version: hg
Release: hg
-Summary: Mercurial GUI command line tool hgtk
+Summary: Mercurial GUI command line tool thg
Group: Development/Tools
License: GPLv2
# Few files are under the more permissive GPLv2+
@@ -16,11 +16,14 @@# subpackage has to be arch-specific (because of lib64)
# BuildArch: noarch
BuildRequires: python, python-devel, gettext, python-sphinx
-Requires: python >= 2.4, python-iniparse, mercurial >= 1.3, gnome-python2-gconf
-Requires: gnome-python2-gtksourceview, pycairo, pygobject2, pygtk2 >= 2.10
+BuildRequires: PyQt4-devel
+Requires: python >= 2.4, python-iniparse, mercurial >= 1.6
+# gconf needs at util/shlib.py for browse_url(url).
+Requires: gnome-python2-gconf
+Requires: PyQt4 >= 4.6, qscintilla-python
%description
-This package contains the hgtk command line tool which provides a
+This package contains the thg command line tool which provides a
graphical user interface to the Mercurial distributed revision control system.
%package nautilus
@@ -63,6 +66,9 @@mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mercurial/hgrc.d
install contrib/mergetools.rc $RPM_BUILD_ROOT%{_sysconfdir}/mercurial/hgrc.d/thgmergetools.rc
+ln -s tortoisehg/icons/svg/thg_logo.svg %{buildroot}%{_datadir}/pixmaps/%{name}_logo.svg
+desktop-file-install --dir=%{buildroot}%{_datadir}/applications contrib/%{name}.desktop
+
%find_lang %{name}
%clean
@@ -72,10 +78,12 @@
%defattr(-,root,root,-)
%doc COPYING.txt doc/build/html/
-%{_bindir}/hgtk
+%{_bindir}/thg
%{python_sitelib}/tortoisehg/
%{python_sitelib}/tortoisehg-*.egg-info
%{_datadir}/pixmaps/tortoisehg/
+%{_datadir}/pixmaps/%{name}_logo.svg
+%{_datadir}/applications/%{name}.desktop
# /usr/share/zsh/site-functions/ is owned by zsh package which we don't want to
# require. We also don't want to create a sub-package just for this dependency.
|
|
@@ -1,35 +0,0 @@ - """
-config.py
- Copyright (C) 2009 Steve Borho <steve@borho.org>
-
-This software may be used and distributed according to the terms
-of the GNU General Public License, incorporated herein by reference.
-"""
-
-# This version of config.py is used in the binary installer
-# distributions of TortoiseHg on Windows. Since we no longer need to
-# worry about Python shell extensions, we can use the path of the
-# current executable to find our package data.
-
-import os
-import sys
-import win32api, win32process
-
-proc = win32api.GetCurrentProcess()
-try:
- # This will fail on windows < NT
- procpath = win32process.GetModuleFileNameEx(proc, 0)
-except:
- procpath = win32api.GetModuleFileName(0)
-
-bin_path = os.path.dirname(procpath)
-license_path = os.path.join(bin_path, 'COPYING.txt')
-locale_path = os.path.join(bin_path, 'locale')
-icon_path = os.path.join(bin_path, 'icons')
-
-enc = sys.getfilesystemencoding()
-if enc:
- bin_path = bin_path.encode(enc)
- license_path = license_path.encode(enc)
- locale_path = locale_path.encode(enc)
- icon_path = icon_path.encode(enc)
|
|
@@ -1,1 +0,0 @@ - 275690997c5f2ace0476775b3b59fe50b639d3de 0.9.2-1
|
|
|
@@ -1,120 +0,0 @@ - ; System-wide Mercurial config file.
-;
-; See http://www.selenic.com/mercurial/hgrc.5.html or the file
-; 'hgrc.5.html' in the 'docs' subdirectory for help about the syntax
-; and semantics of mercurial.ini files.
-;
-; !!! Do Not Edit This File !!!
-;
-; This file will be replaced by the installer on every upgrade.
-; Editing this file can cause strange side effects on Vista.
-;
-; http://bitbucket.org/tortoisehg/stable/issue/135
-;
-; To change settings you see in this file, override (or enable) them in
-; your user Mercurial.ini file, where USERNAME is your Windows user name:
-;
-; XP or older - C:\Documents and Settings\USERNAME\Mercurial.ini
-; Vista or later - C:\Users\USERNAME\Mercurial.ini
-
-[ui]
-; editor used to enter commit logs, etc. Most any text editor
-; will suffice.
-editor = notepad
-
-; In order to push/pull over ssh you must specify a ssh tool
-ssh = "TortoisePlink.exe" -ssh -2
-;ssh = C:\cygwin\bin\ssh
-
-;
-; For more information about mercurial extensions, start here
-; http://www.selenic.com/mercurial/wiki/index.cgi/UsingExtensions
-;
-
-[extensions]
-; extensions shipped with Mercurial by default
-;
-;acl =
-;bookmarks =
-;bugzilla =
-;children =
-;churn =
-; Warning: the color extension is not recommended for Windows
-;color =
-;convert =
-;extdiff =
-;fetch =
-;gpg =
-;graphlog =
-;hgcia =
-;hgk =
-;highlight =
-;interhg =
-;keyword =
-;mq =
-;notify =
-;pager =
-;parentrevspec =
-;patchbomb =
-;progress =
-;purge =
-;rebase =
-;record =
-;schemes =
-;transplant =
-;win32mbcs =
-;win32text =
-;zeroconf =
-; Extra extensions bundled with TortoiseHg
-;fold =
-;hgcr-gui =
-;perfarce =
-;eol =
-;mercurial_keyring =
-
-; fixfrozenexts is enabled by default. It allows extension help
-; to work "out of the box" from binary installers.
-fixfrozenexts =
-
-;
-; Define external diff commands, for hg command line use only
-;
-[extdiff]
-;kdiff3 =
-
-; The git extended diff format will properly store binary files,
-; file permission changes, and rename information that the normal
-; patch format cannot cover. However it is also not 100% compatible
-; with tools which expect normal patches. so enable these at your
-; own risk.
-;
-[diff]
-;git = false
-;nodates = false
-
-;
-; Keyword extension example configuration. To use, one must
-; enable the keyword extension, then uncomment and modify these
-; two sections. Before using the keyword extension, be sure to
-; thoroughly read it's documentation and understand how it works,
-; and why it is not a core feature of Mercurial.
-;
-; http://www.selenic.com/mercurial/wiki/index.cgi/KeywordExtension
-; http://www.selenic.com/mercurial/wiki/index.cgi/KeywordPlan
-;
-; If you encounter strange problems using Mercurial, a good first
-; debugging step would be to disable this extension.
-;
-[keyword]
-; expand keywords in all python files in working dir
-;**.py =
-
-[keywordmaps]
-; See documentation for examples
-
-; The schemes extension must be enabled to use one of these shortcuts.
-; See http://mercurial.selenic.com/wiki/SchemesExtension
-[schemes]
-;bb = http://bitbucket.org/
-;bb+ssh = ssh://hg@bitbucket.org/
-;py = http://code.python.org/hg/
|
|
@@ -1,24 +0,0 @@ - [merge-patterns]
-**.doc = docdiff
-**.docx = docdiff
-**.docm = docdiff
-**.ods = docdiff
-**.odt = docdiff
-**.sxw = docdiff
-
-[diff-patterns]
-**.doc = docdiff
-**.docx = docdiff
-**.docm = docdiff
-**.ppt = docdiff
-**.pptx = docdiff
-**.pptm = docdiff
-**.xls = docdiff
-**.xlsx = docdiff
-**.xlsm = docdiff
-**.xlsb = docdiff
-**.xlam = docdiff
-**.ods = docdiff
-**.odt = docdiff
-**.sxw = docdiff
-**.nb = docdiff
|
|
@@ -1,6 +0,0 @@ - [py2exe]
-excludes=pywin, pywin.dialogs, pywin.dialogs.list, pyreadline
-includes=cairo, pango, pangocairo, atk, gobject, dbhash, gtk.keysyms, gio
-packages=ctypes, email, hgext, hgext.convert, encodings, tortoisehg.hgtk, tortoisehg.hgtk.logview, tortoisehg.util, iniparse, pygments, dulwich, nntplib
-
-dll_excludes=iconv.dll, intl.dll, libatk-1.0-0.dll, libgdk_pixbuf-2.0-0.dll, libgdk-win32-2.0-0.dll, libglib-2.0-0.dll, libgmodule-2.0-0.dll, libgobject-2.0-0.dll, libgthread-2.0-0.dll, libgtk-win32-2.0-0.dll, libpango-1.0-0.dll, libpangowin32-1.0-0.dll, libcairo-2.dll, libglade-2.0-0.dll, libpangocairo-1.0-0.dll, libpangoft2-1.0-0.dll, libgio-2.0-0.dll, mswsock.dll, powrprof.dll, shfolder.dll, credui.dll, msvcp60.dll, secur32.dll
|
|
|
|
@@ -1,8 +0,0 @@ - <Include>
- <?define TOverlaysVersion = 1.1.2.19334 ?>
- <?define TOverlaysSrcDir = ..\contrib\TortoiseOverlays ?>
- <?define TOverlaysSrcFilenameX86 = TortoiseOverlays-$(var.TOverlaysVersion)-win32.msm ?>
- <?define TOverlaysSrcFilenameX64 = TortoiseOverlays-$(var.TOverlaysVersion)-x64.msm ?>
-
- <?define TOverlaysRegistryKey = Software\TortoiseOverlays ?>
-</Include>
|
|
|
|
@@ -1,24 +0,0 @@ - <?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <?include guids.wxi ?>
-
- <?define thgcmenulangs =
- cs;da;de;en_GB;en_US;es;fa;fr;he;hr;it;ja;ko;nl;nn;pl;pt;pt_BR;ru;tr;uk;zh_CN;zh_TW
- ?>
- <!-- lang 'ca' is used for key path -->
-
- <Fragment>
- <DirectoryRef Id="i18ndir">
- <Directory Id="cmenuI18n" Name="cmenu" FileSource="$(var.SourceDir)">
- <Component Id="cmenuI18n" Guid="$(var.cmenuI18n.guid)">
- <File Name="thg-cmenu-ca.reg" KeyPath="yes"/>
- <?foreach LANG in $(var.thgcmenulangs) ?>
- <File Name="thg-cmenu-$(var.LANG).reg" />
- <?endforeach?>
- </Component>
- </Directory>
- </DirectoryRef>
- </Fragment>
-
-</Wix>
|
|
@@ -1,43 +0,0 @@ - <?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <?include guids.wxi ?>
-
- <Fragment>
- <ComponentGroup Id="contribFolder">
- <ComponentRef Id="contrib" />
- <ComponentRef Id="contrib.vim" />
- </ComponentGroup>
- </Fragment>
-
- <Fragment>
- <DirectoryRef Id="INSTALLDIR">
- <Directory Id="contribdir" Name="contrib" FileSource="$(var.SourceDir)">
- <Component Id="contrib" Guid="$(var.contrib.guid)">
- <File Name="bash_completion" KeyPath="yes" />
- <File Name="hgk" />
- <File Name="hgweb.fcgi" />
- <File Name="hgweb.wsgi" />
- <File Name="logo-droplets.svg" />
- <File Name="mercurial.el" />
- <File Name="sample.hgrc" />
- <File Name="tcsh_completion" />
- <File Name="tcsh_completion_build.sh" />
- <File Name="xml.rnc" />
- <File Name="zsh_completion" />
- </Component>
- <Directory Id="vimdir" Name="vim">
- <Component Id="contrib.vim" Guid="$(var.contrib.vim.guid)">
- <File Name="hg-menu.vim" KeyPath="yes" />
- <File Name="HGAnnotate.vim" />
- <File Name="hgcommand.vim" />
- <File Name="patchreview.txt" />
- <File Name="patchreview.vim" />
- <File Name="hgtest.vim" />
- </Component>
- </Directory>
- </Directory>
- </DirectoryRef>
- </Fragment>
-
-</Wix>
|
|
@@ -1,49 +0,0 @@ - <?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <?include guids.wxi ?>
-
- <Fragment>
- <ComponentGroup Id="docFolder">
- <ComponentRef Id="doc.hg.1.html" />
- <ComponentRef Id="doc.hgignore.5.html" />
- <ComponentRef Id="doc.hgrc.5.html" />
- <ComponentRef Id="doc.style.css" />
- </ComponentGroup>
- </Fragment>
-
- <Fragment>
- <DirectoryRef Id="INSTALLDIR">
- <Directory Id="docdir" Name="doc" FileSource="$(var.SourceDir)">
- <Component Id="doc.hg.1.html" Guid="$(var.doc.hg.1.html.guid)">
- <File Name="hg.1.html" KeyPath="yes">
- <Shortcut Id="hg1StartMenu" Directory="ProgramMenuDir"
- Name="Mercurial Command Reference"
- Icon="hgIcon.ico" IconIndex="0" Advertise="yes"
- />
- </File>
- </Component>
- <Component Id="doc.hgignore.5.html" Guid="$(var.doc.hgignore.5.html.guid)">
- <File Name="hgignore.5.html" KeyPath="yes">
- <Shortcut Id="hgignore5StartMenu" Directory="ProgramMenuDir"
- Name="Mercurial Ignore Files"
- Icon="hgIcon.ico" IconIndex="0" Advertise="yes"
- />
- </File>
- </Component>
- <Component Id="doc.hgrc.5.html" Guid="$(var.doc.hgrc.5.html)">
- <File Name="hgrc.5.html" KeyPath="yes">
- <Shortcut Id="hgrc5StartMenu" Directory="ProgramMenuDir"
- Name="Mercurial Configuration Files"
- Icon="hgIcon.ico" IconIndex="0" Advertise="yes"
- />
- </File>
- </Component>
- <Component Id="doc.style.css" Guid="$(var.doc.style.css)">
- <File Name="style.css" KeyPath="yes" />
- </Component>
- </Directory>
- </DirectoryRef>
- </Fragment>
-
-</Wix>
|
|
@@ -1,81 +0,0 @@ - <Include>
- <!-- These are component GUIDs used for TortoiseHg installers.
- YOU MUST CHANGE ALL GUIDs below when copying this file
- and replace 'TortoiseHg' in this notice with the name of
- your project. Component GUIDs have global namespace! -->
-
- <!-- contrib.wxs -->
- <?define contrib.guid = {D3BC122A-163C-4ef9-91C2-62E04B128A16} ?>
- <?define contrib.vim.guid = {503B4329-50F4-48BE-A8D2-8E5EB531927E} ?>
-
- <!-- doc.wxs -->
- <?define doc.hg.1.html.guid = {6289D803-14D9-4AF8-AE67-4DB12D1EA5A6} ?>
- <?define doc.hgignore.5.html.guid = {4E80FFF0-C28A-460F-ABC4-85BC25422B80} ?>
- <?define doc.hgrc.5.html = {F392839B-CEB6-462E-8F23-A85D48F99BD3} ?>
- <?define doc.style.css = {5C276050-DDDD-49FB-86ED-C636FD629242} ?>
-
- <!-- help.wxs -->
- <?define helpFolder.guid = {B43FC643-9B06-4FF5-AFD4-9EEB13B5F83A} ?>
-
- <!-- i18n.wxs -->
- <?define i18nFolder.guid = {3115A038-CA56-4413-97C1-6F0070D6034C} ?>
-
- <!-- templates.wxs -->
- <?define templates.root.guid = {C609F85B-91CD-463f-8C07-57931D53B99F} ?>
- <?define templates.atom.guid = {0155E267-F0D5-4115-A7D4-F217599B06C7} ?>
- <?define templates.coal.guid = {310F768C-0817-4a07-907C-89AB8FDAE9DE} ?>
- <?define templates.gitweb.guid = {5651A560-B483-4A0B-9525-BE0814B1088E} ?>
- <?define templates.monoblue.guid = {00FFEE20-2950-4C46-8E5A-DC700DCFC921} ?>
- <?define templates.paper.guid = {C9044E0F-73AC-4F48-BD38-C9CF112DF5E7} ?>
- <?define templates.raw.guid = {F71E0FEB-32F9-4b18-91A5-A59722C682DC} ?>
- <?define templates.rss.guid = {23DA0B15-6463-400b-95E0-CD5FAD6B75B5} ?>
- <?define templates.spartan.guid = {0686468F-D950-422f-A904-1B09FFD3C852} ?>
- <?define templates.static.guid = {9AC0E261-7563-4147-9974-12022C1CBD4E} ?>
-
- <!-- cmenu-i18n.wxs -->
- <?define cmenuI18n.guid = {B0AB4947-248C-4c6b-841C-49284EF99022} ?>
-
- <!-- icons.wxs -->
- <?define Icons.guid = {30E997E7-FB02-4d34-AF61-A6FD6C93E268} ?>
- <?define SvgIcons.guid = {7C87CCC7-8377-49c8-ACFD-1F246ED14747} ?>
-
- <!-- thg-i18n.wxs -->
- <?define thgI18nFolder.guid = {69E6E182-BCD2-4b03-A941-7B9A054DF7AF} ?>
-
- <!-- tortoisehg.wxs -->
- <?define ProductUpgradeCode = {838657CF-C9EC-452D-800D-0E70FC021D0A} ?>
-
- <?define ComponentMainExecutableGUID = {5A98EB92-2C82-406E-81A5-1161CA87ED8E} ?>
-
- <?define thgshellx86dll.guid = {1126CF42-3994-428B-A746-464E1BC680F3} ?>
- <?define thgshellx64dll.guid = {59FD2A49-BA62-40CC-B155-D11DB11EE611} ?>
-
- <?define CmenuShellRegistrationX86.guid = {287A355F-3DF6-4f55-9DD5-FABD09498B0C} ?>
- <?define CmenuShellRegistrationX64.guid = {46DF4532-7BFF-427a-BC59-F3B4D1022F56} ?>
-
- <?define OverlaysShellRegistrationX86.guid = {5592F837-8C78-43f0-AD8D-2E2EA4B17E45} ?>
- <?define OverlaysShellRegistrationX64.guid = {9B1300FC-3D05-4c82-991D-96277404C4BA} ?>
- <?define OverlayServerEXE.guid = {DC5D9CC4-8330-4146-99EC-30D3AA255DD4} ?>
-
- <?define ExtensionVersions.guid = {1996AB0D-634D-4DC8-9581-326151F38B11} ?>
- <?define COPYING.guid = {382A8405-CB7B-42E8-8B9D-88B5C5283E73} ?>
-
- <?define docdiffEXE.guid = {4BA6389A-6A0B-483B-A3FE-86EE436FDD31} ?>
- <?define KDiff3EXE.guid = {B2A5EFD4-A385-45E0-8467-46B955979672} ?>
- <?define TortoisePlinkEXE.guid = {A18BFE4D-BED0-4EF9-97CC-5B4326E3CD2F} ?>
- <?define PageantEXE.guid = {EA7EF381-076C-47CE-8F51-355DB7F86D1A} ?>
-
- <?define chmFile.guid = {A26038DC-C686-4296-9335-FA4B9ABC769C} ?>
- <?define pdfFile.guid = {1C5792DA-C48F-4F7F-9CD8-FC467995B8E4} ?>
- <?define hgbook.guid = {A5F6D094-BCFD-4AC0-8675-7DF8CC94FEE5} ?>
-
- <?define mercurial.rc.guid = {28ACE5D7-FFCE-488E-A94A-8F13A21DD25D} ?>
- <?define mergetools.rc.guid = {30CC047C-48B4-4D91-B8EC-79975327A9C7} ?>
- <?define mergepatterns.rc.guid = {05860DA7-8391-43A4-A4E7-6E9E084D11C6} ?>
- <?define paths.rc.guid = {3872C21C-3DB7-4A63-B088-785CBDBA47BD} ?>
- <?define cacert.pem.guid = {6E5ED0E2-DD8C-4CD7-B065-A686357D0330} ?>
-
- <?define ProgramMenuDir.guid = {D5A63320-1238-489B-B68B-CF053E9577CA} ?>
- <?define ThgAppData.guid = {94B8FBB5-4AE3-4960-B3D8-94BEFC6366E9} ?>
-
-</Include>
|
|
@@ -1,30 +0,0 @@ - <?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <?include guids.wxi ?>
-
- <Fragment>
- <DirectoryRef Id="INSTALLDIR">
- <Directory Id="helpdir" Name="help" FileSource="$(var.SourceDir)">
- <Component Id="helpFolder" Guid="$(var.helpFolder.guid)">
- <File Name="config.txt" KeyPath="yes" />
- <File Name="dates.txt" />
- <File Name="diffs.txt" />
- <File Name="environment.txt" />
- <File Name="extensions.txt" />
- <File Name="glossary.txt" />
- <File Name="hgweb.txt" />
- <File Name="merge-tools.txt" />
- <File Name="multirevs.txt" />
- <File Name="patterns.txt" />
- <File Name="revisions.txt" />
- <File Name="revsets.txt" />
- <File Name="subrepos.txt" />
- <File Name="templates.txt" />
- <File Name="urls.txt" />
- </Component>
- </Directory>
- </DirectoryRef>
- </Fragment>
-
-</Wix>
|
|
@@ -1,25 +0,0 @@ - <?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <?include guids.wxi ?>
-
- <?define hg_po_langs =
- da;de;el;fr;it;ja;pt_BR;sv;zh_CN;zh_TW
- ?>
-
- <Fragment>
- <DirectoryRef Id="INSTALLDIR">
- <Directory Id="i18ndir" Name="i18n" FileSource="$(var.SourceDir)">
- <Component Id="i18nFolder" Guid="$(var.i18nFolder.guid)">
- <File Name="hggettext" KeyPath="yes" />
- <?foreach LANG in $(var.hg_po_langs) ?>
- <File Id="hg.$(var.LANG).po"
- Name="$(var.LANG).po"
- />
- <?endforeach?>
- </Component>
- </Directory>
- </DirectoryRef>
- </Fragment>
-
-</Wix>
|
|
@@ -1,86 +0,0 @@ - <?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <?include guids.wxi ?>
-
- <Fragment>
- <DirectoryRef Id="INSTALLDIR">
-
- <Directory Id="IconsDirectory" Name="icons" FileSource="$(var.SourceDir)">
-
- <Component Id='Icons' Guid='$(var.Icons.guid)'>
- <File Name="branch.ico" KeyPath="yes" />
- <File Name="detect_rename.ico" />
- <File Name="fileadd.ico" />
- <File Name="filedelete.ico" />
- <File Name="filemodify.ico" />
- <File Name="general.ico" />
- <File Name="hg.ico" />
- <File Name="hg_60.ico" />
- <File Name="hgB.ico" />
- <File Name="ignore.ico" />
- <File Name="menuabout.ico" />
- <File Name="menuadd.ico" />
- <File Name="menublame.ico" />
- <File Name="menucheckout.ico" />
- <File Name="menuclone.ico" />
- <File Name="menucommit.ico" />
- <File Name="menucreaterepos.ico" />
- <File Name="menudelete.ico" />
- <File Name="menudiff.ico" />
- <File Name="menuhelp.ico" />
- <File Name="menuimport.ico" />
- <File Name="menulog.ico" />
- <File Name="menumerge.ico" />
- <File Name="menupatch.ico" />
- <File Name="menurelocate.ico" />
- <File Name="menurepobrowse.ico" />
- <File Name="menurevert.ico" />
- <File Name="menurevisiongraph.ico" />
- <File Name="menusettings.ico" />
- <File Name="menushowchanged.ico" />
- <File Name="menusynch.ico" />
- <File Name="menuunmerge.ico" />
- <File Name="proxy.ico" />
- <File Name="python.ico" />
- <File Name="README.txt" />
- <File Name="refresh_overlays.ico" />
- <File Name="settings_repo.ico" />
- <File Name="settings_user.ico" />
- <File Name="shelve.ico" />
- <File Name="thg_logo.ico" />
- <File Name="thg_logo_92x50.png" />
- <File Name="TortoiseMerge.ico" />
- </Component>
-
- <Directory Id="SvgDirectory" Name="svg">
- <Component Id='SvgIcons' Guid='$(var.SvgIcons.guid)'>
- <File Name="add.svg" KeyPath="yes" />
- <File Name="checkout.svg" />
- <File Name="clone.svg" />
- <File Name="commit.svg" />
- <File Name="detect_rename.svg" />
- <File Name="ignore.svg" />
- <File Name="init.svg" />
- <File Name="log.svg" />
- <File Name="merge.svg" />
- <File Name="proxy.svg" />
- <File Name="recovery.svg" />
- <File Name="refresh_overlays.svg" />
- <File Name="remove.svg" />
- <File Name="repobrowse.svg" />
- <File Name="revert.svg" />
- <File Name="shelve.svg" />
- <File Name="status.svg" />
- <File Name="sync.svg" />
- <File Name="thg_logo.svg" />
- </Component>
-
- </Directory>
-
- </Directory>
-
- </DirectoryRef>
- </Fragment>
-
-</Wix>
|
|
@@ -1,32 +0,0 @@ - <?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <?define hglocales =
- da;de;el;fr;it;ja;pt_BR;sv;zh_CN;zh_TW
- ?>
-
- <Fragment>
- <ComponentGroup Id="localeFolder">
- <?foreach LOC in $(var.hglocales) ?>
- <ComponentRef Id="hg.locale.$(var.LOC)"/>
- <?endforeach?>
- </ComponentGroup>
- </Fragment>
-
- <Fragment>
- <DirectoryRef Id="INSTALLDIR">
- <Directory Id="localedir" Name="locale" FileSource="$(var.SourceDir)">
- <?foreach LOC in $(var.hglocales) ?>
- <Directory Id="hg.locale.$(var.LOC)" Name="$(var.LOC)">
- <Directory Id="hg.locale.$(var.LOC).LC_MESSAGES" Name="LC_MESSAGES">
- <Component Id="hg.locale.$(var.LOC)" Guid="*">
- <File Id="hg.mo.$(var.LOC)" Name="hg.mo" KeyPath="yes" />
- </Component>
- </Directory>
- </Directory>
- <?endforeach?>
- </Directory>
- </DirectoryRef>
- </Fragment>
-
-</Wix>
|
|
@@ -1,26 +0,0 @@ - :: %1 - TortoiseHg Version first level
-:: %2 - second level
-:: %3 - third level
-:: %4 - platform (x86 or x64)
-:: %5 - msi product id (GUID)
-
-set _SDKBIN_=%PROGRAMFILES%\Microsoft SDKs\Windows\v7.0\Bin
-if exist "%_SDKBIN_%" goto :ok
-set _SDKBIN_=%ProgramW6432%\Microsoft SDKs\Windows\v7.0\Bin
-if exist "%_SDKBIN_%" goto :ok
-echo Microsoft Windows SDK 7 SP1 not installed
-pause
-exit 1
-:ok
-
-cd win32\shellext
-
-call "%_SDKBIN_%\SetEnv.cmd" /xp /%4 /release
-set DEBUG=1
-set THG_PLATFORM=%4
-set THG_EXTRA_CPPFLAGS=/DTHG_PRODUCT_ID=%5
-set THG_EXTRA_RCFLAGS=/dTHG_VERSION_FIRST=%1 /dTHG_VERSION_SECOND=%2 /dTHG_VERSION_THIRD=%3 /dTHG_PRODUCT_ID="%5"
-nmake /f Makefile.nmake clean
-nmake /f Makefile.nmake
-move ThgShell%4.dll ..
-move terminate-%4.exe ..
|
|
@@ -1,56 +0,0 @@ - <Include>
- <!-- cmenu COM component -->
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCmenu)'
- Type='string' Value='TortoiseHg'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCmenu)\InProcServer32'
- Type='string' Name='ThreadingModel' Value='Apartment'
- />
-
- <!-- cmenu registration -->
- <RegistryValue
- Root='HKCR' Key='Directory\shellex\ContextMenuHandlers\TortoiseHgCMenu'
- Type='string' Value='$(var.CLSID_TortoiseHgCmenu)'
- />
- <RegistryValue
- Root='HKCR' Key='Directory\Background\shellex\ContextMenuHandlers\TortoiseHgCMenu'
- Type='string' Value='$(var.CLSID_TortoiseHgCmenu)'
- />
- <RegistryValue
- Root='HKCR' Key='Drive\shellex\ContextMenuHandlers\TortoiseHgCMenu'
- Type='string' Value='$(var.CLSID_TortoiseHgCmenu)'
- />
- <RegistryValue
- Root='HKCR' Key='Folder\shellex\ContextMenuHandlers\TortoiseHgCMenu'
- Type='string' Value='$(var.CLSID_TortoiseHgCmenu)'
- />
- <RegistryValue
- Root='HKCR' Key='InternetShortcut\shellex\ContextMenuHandlers\TortoiseHgCMenu'
- Type='string' Value='$(var.CLSID_TortoiseHgCmenu)'
- />
- <RegistryValue
- Root='HKCR' Key='LibraryLocation\shellex\ContextMenuHandlers\TortoiseHgCMenu'
- Type='string' Value='$(var.CLSID_TortoiseHgCmenu)'
- />
- <RegistryValue
- Root='HKCR' Key='LibraryFolder\shellex\ContextMenuHandlers\TortoiseHgCMenu'
- Type='string' Value='$(var.CLSID_TortoiseHgCmenu)'
- />
- <RegistryValue
- Root='HKCR' Key='LibraryFolder\Background\shellex\ContextMenuHandlers\TortoiseHgCMenu'
- Type='string' Value='$(var.CLSID_TortoiseHgCmenu)'
- />
- <RegistryValue
- Root='HKCR' Key='*\shellex\ContextMenuHandlers\TortoiseHgCMenu'
- Type='string' Value='$(var.CLSID_TortoiseHgCmenu)'
- />
-
- <!-- Mark all as approved -->
- <RegistryValue
- Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved'
- Type='string' Name='$(var.CLSID_TortoiseHgCmenu)' Value='TortoiseHg'
- />
-
-</Include>
|
|
@@ -1,40 +0,0 @@ - <Include>
- <!-- overlay components -->
- <?foreach CLSID in $(var.OverlayCLSIDList) ?>
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID)'
- Type='string' Value='TortoiseHg'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID)\InProcServer32'
- Type='string' Name='ThreadingModel' Value='Apartment'
- />
- <?endforeach?>
-
- <!-- register overlay components with TortoiseOverlays -->
- <RegistryValue
- Root='HKLM' Key='$(var.TOverlaysRegistryKey)\Normal'
- Type='string' Name='TortoiseHgMsi' Value='$(var.CLSID_TortoiseHgNormal)'
- />
- <RegistryValue
- Root='HKLM' Key='$(var.TOverlaysRegistryKey)\Added'
- Type='string' Name='TortoiseHgMsi' Value='$(var.CLSID_TortoiseHgAdded)'
- />
- <RegistryValue
- Root='HKLM' Key='$(var.TOverlaysRegistryKey)\Modified'
- Type='string' Name='TortoiseHgMsi' Value='$(var.CLSID_TortoiseHgModified)'
- />
- <RegistryValue
- Root='HKLM' Key='$(var.TOverlaysRegistryKey)\Unversioned'
- Type='string' Name='TortoiseHgMsi' Value='$(var.CLSID_TortoiseHgUnversioned)'
- />
-
- <!-- Mark all as approved -->
- <?foreach CLSID in $(var.OverlayCLSIDList) ?>
- <RegistryValue
- Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved'
- Type='string' Name='$(var.CLSID)' Value='TortoiseHg'
- />
- <?endforeach?>
-
-</Include>
|
|
|
@@ -1,213 +0,0 @@ - <?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <?include guids.wxi ?>
-
- <Fragment>
- <ComponentGroup Id="templatesFolder">
-
- <ComponentRef Id="templates.root" />
-
- <ComponentRef Id="templates.atom" />
- <ComponentRef Id="templates.coal" />
- <ComponentRef Id="templates.gitweb" />
- <ComponentRef Id="templates.monoblue" />
- <ComponentRef Id="templates.paper" />
- <ComponentRef Id="templates.raw" />
- <ComponentRef Id="templates.rss" />
- <ComponentRef Id="templates.spartan" />
- <ComponentRef Id="templates.static" />
-
- </ComponentGroup>
- </Fragment>
-
- <Fragment>
- <DirectoryRef Id="INSTALLDIR">
-
- <Directory Id="templatesdir" Name="templates" FileSource="$(var.SourceDir)">
-
- <Component Id="templates.root" Guid="$(var.templates.root.guid)">
- <File Name="map-cmdline.changelog" KeyPath="yes" />
- <File Name="map-cmdline.compact" />
- <File Name="map-cmdline.default" />
- <File Name="map-cmdline.xml" />
- <File Name="template-vars.txt" />
- </Component>
-
- <Directory Id="templates.atomdir" Name="atom">
- <Component Id="templates.atom" Guid="$(var.templates.atom.guid)">
- <File Id="atom.changelog.tmpl" Name="changelog.tmpl" KeyPath="yes" />
- <File Id="atom.changelogentry.tmpl" Name="changelogentry.tmpl" />
- <File Id="atom.error.tmpl" Name="error.tmpl" />
- <File Id="atom.filelog.tmpl" Name="filelog.tmpl" />
- <File Id="atom.header.tmpl" Name="header.tmpl" />
- <File Id="atom.map" Name="map" />
- <File Id="atom.tagentry.tmpl" Name="tagentry.tmpl" />
- <File Id="atom.tags.tmpl" Name="tags.tmpl" />
- </Component>
- </Directory>
-
- <Directory Id="templates.coaldir" Name="coal">
- <Component Id="templates.coal" Guid="$(var.templates.coal.guid)">
- <File Id="coal.header.tmpl" Name="header.tmpl" KeyPath="yes" />
- <File Id="coal.map" Name="map" />
- </Component>
- </Directory>
-
- <Directory Id="templates.gitwebdir" Name="gitweb">
- <Component Id="templates.gitweb" Guid="$(var.templates.gitweb.guid)">
- <File Id="gitweb.branches.tmpl" Name="branches.tmpl" KeyPath="yes" />
- <File Id="gitweb.changelog.tmpl" Name="changelog.tmpl" />
- <File Id="gitweb.changelogentry.tmpl" Name="changelogentry.tmpl" />
- <File Id="gitweb.changeset.tmpl" Name="changeset.tmpl" />
- <File Id="gitweb.error.tmpl" Name="error.tmpl" />
- <File Id="gitweb.fileannotate.tmpl" Name="fileannotate.tmpl" />
- <File Id="gitweb.filediff.tmpl" Name="filediff.tmpl" />
- <File Id="gitweb.filelog.tmpl" Name="filelog.tmpl" />
- <File Id="gitweb.filerevision.tmpl" Name="filerevision.tmpl" />
- <File Id="gitweb.footer.tmpl" Name="footer.tmpl" />
- <File Id="gitweb.graph.tmpl" Name="graph.tmpl" />
- <File Id="gitweb.header.tmpl" Name="header.tmpl" />
- <File Id="gitweb.index.tmpl" Name="index.tmpl" />
- <File Id="gitweb.manifest.tmpl" Name="manifest.tmpl" />
- <File Id="gitweb.map" Name="map" />
- <File Id="gitweb.notfound.tmpl" Name="notfound.tmpl" />
- <File Id="gitweb.search.tmpl" Name="search.tmpl" />
- <File Id="gitweb.shortlog.tmpl" Name="shortlog.tmpl" />
- <File Id="gitweb.summary.tmpl" Name="summary.tmpl" />
- <File Id="gitweb.tags.tmpl" Name="tags.tmpl" />
- <File Id="gitweb.help.tmpl" Name="help.tmpl" />
- <File Id="gitweb.helptopics.tmpl" Name="helptopics.tmpl" />
- </Component>
- </Directory>
-
- <Directory Id="templates.monobluedir" Name="monoblue">
- <Component Id="templates.monoblue" Guid="$(var.templates.monoblue.guid)">
- <File Id="monoblue.branches.tmpl" Name="branches.tmpl" KeyPath="yes" />
- <File Id="monoblue.changelog.tmpl" Name="changelog.tmpl" />
- <File Id="monoblue.changelogentry.tmpl" Name="changelogentry.tmpl" />
- <File Id="monoblue.changeset.tmpl" Name="changeset.tmpl" />
- <File Id="monoblue.error.tmpl" Name="error.tmpl" />
- <File Id="monoblue.fileannotate.tmpl" Name="fileannotate.tmpl" />
- <File Id="monoblue.filediff.tmpl" Name="filediff.tmpl" />
- <File Id="monoblue.filelog.tmpl" Name="filelog.tmpl" />
- <File Id="monoblue.filerevision.tmpl" Name="filerevision.tmpl" />
- <File Id="monoblue.footer.tmpl" Name="footer.tmpl" />
- <File Id="monoblue.graph.tmpl" Name="graph.tmpl" />
- <File Id="monoblue.header.tmpl" Name="header.tmpl" />
- <File Id="monoblue.index.tmpl" Name="index.tmpl" />
- <File Id="monoblue.manifest.tmpl" Name="manifest.tmpl" />
- <File Id="monoblue.map" Name="map" />
- <File Id="monoblue.notfound.tmpl" Name="notfound.tmpl" />
- <File Id="monoblue.search.tmpl" Name="search.tmpl" />
- <File Id="monoblue.shortlog.tmpl" Name="shortlog.tmpl" />
- <File Id="monoblue.summary.tmpl" Name="summary.tmpl" />
- <File Id="monoblue.tags.tmpl" Name="tags.tmpl" />
- <File Id="monoblue.help.tmpl" Name="help.tmpl" />
- <File Id="monoblue.helptopics.tmpl" Name="helptopics.tmpl" />
- </Component>
- </Directory>
-
- <Directory Id="templates.paperdir" Name="paper">
- <Component Id="templates.paper" Guid="$(var.templates.paper.guid)">
- <File Id="paper.branches.tmpl" Name="branches.tmpl" KeyPath="yes" />
- <File Id="paper.bookmarks.tmpl" Name="bookmarks.tmpl" />
- <File Id="paper.changeset.tmpl" Name="changeset.tmpl" />
- <File Id="paper.error.tmpl" Name="error.tmpl" />
- <File Id="paper.fileannotate.tmpl" Name="fileannotate.tmpl" />
- <File Id="paper.filediff.tmpl" Name="filediff.tmpl" />
- <File Id="paper.filelog.tmpl" Name="filelog.tmpl" />
- <File Id="paper.filelogentry.tmpl" Name="filelogentry.tmpl" />
- <File Id="paper.filerevision.tmpl" Name="filerevision.tmpl" />
- <File Id="paper.footer.tmpl" Name="footer.tmpl" />
- <File Id="paper.graph.tmpl" Name="graph.tmpl" />
- <File Id="paper.header.tmpl" Name="header.tmpl" />
- <File Id="paper.index.tmpl" Name="index.tmpl" />
- <File Id="paper.manifest.tmpl" Name="manifest.tmpl" />
- <File Id="paper.map" Name="map" />
- <File Id="paper.notfound.tmpl" Name="notfound.tmpl" />
- <File Id="paper.search.tmpl" Name="search.tmpl" />
- <File Id="paper.shortlog.tmpl" Name="shortlog.tmpl" />
- <File Id="paper.shortlogentry.tmpl" Name="shortlogentry.tmpl" />
- <File Id="paper.tags.tmpl" Name="tags.tmpl" />
- <File Id="paper.help.tmpl" Name="help.tmpl" />
- <File Id="paper.helptopics.tmpl" Name="helptopics.tmpl" />
- </Component>
- </Directory>
-
- <Directory Id="templates.rawdir" Name="raw">
- <Component Id="templates.raw" Guid="$(var.templates.raw.guid)">
- <File Id="raw.changeset.tmpl" Name="changeset.tmpl" KeyPath="yes" />
- <File Id="raw.error.tmpl" Name="error.tmpl" />
- <File Id="raw.fileannotate.tmpl" Name="fileannotate.tmpl" />
- <File Id="raw.filediff.tmpl" Name="filediff.tmpl" />
- <File Id="raw.index.tmpl" Name="index.tmpl" />
- <File Id="raw.manifest.tmpl" Name="manifest.tmpl" />
- <File Id="raw.map" Name="map" />
- <File Id="raw.notfound.tmpl" Name="notfound.tmpl" />
- </Component>
- </Directory>
-
- <Directory Id="templates.rssdir" Name="rss">
- <Component Id="templates.rss" Guid="$(var.templates.rss.guid)">
- <File Id="rss.changelog.tmpl" Name="changelog.tmpl" KeyPath="yes" />
- <File Id="rss.changelogentry.tmpl" Name="changelogentry.tmpl" />
- <File Id="rss.error.tmpl" Name="error.tmpl" />
- <File Id="rss.filelog.tmpl" Name="filelog.tmpl" />
- <File Id="rss.filelogentry.tmpl" Name="filelogentry.tmpl" />
- <File Id="rss.header.tmpl" Name="header.tmpl" />
- <File Id="rss.map" Name="map" />
- <File Id="rss.tagentry.tmpl" Name="tagentry.tmpl" />
- <File Id="rss.tags.tmpl" Name="tags.tmpl" />
- </Component>
- </Directory>
-
- <Directory Id="templates.spartandir" Name="spartan">
- <Component Id="templates.spartan" Guid="$(var.templates.spartan.guid)">
- <File Id="spartan.branches.tmpl" Name="branches.tmpl" KeyPath="yes" />
- <File Id="spartan.changelog.tmpl" Name="changelog.tmpl" />
- <File Id="spartan.changelogentry.tmpl" Name="changelogentry.tmpl" />
- <File Id="spartan.changeset.tmpl" Name="changeset.tmpl" />
- <File Id="spartan.error.tmpl" Name="error.tmpl" />
- <File Id="spartan.fileannotate.tmpl" Name="fileannotate.tmpl" />
- <File Id="spartan.filediff.tmpl" Name="filediff.tmpl" />
- <File Id="spartan.filelog.tmpl" Name="filelog.tmpl" />
- <File Id="spartan.filelogentry.tmpl" Name="filelogentry.tmpl" />
- <File Id="spartan.filerevision.tmpl" Name="filerevision.tmpl" />
- <File Id="spartan.footer.tmpl" Name="footer.tmpl" />
- <File Id="spartan.graph.tmpl" Name="graph.tmpl" />
- <File Id="spartan.header.tmpl" Name="header.tmpl" />
- <File Id="spartan.index.tmpl" Name="index.tmpl" />
- <File Id="spartan.manifest.tmpl" Name="manifest.tmpl" />
- <File Id="spartan.map" Name="map" />
- <File Id="spartan.notfound.tmpl" Name="notfound.tmpl" />
- <File Id="spartan.search.tmpl" Name="search.tmpl" />
- <File Id="spartan.shortlog.tmpl" Name="shortlog.tmpl" />
- <File Id="spartan.shortlogentry.tmpl" Name="shortlogentry.tmpl" />
- <File Id="spartan.tags.tmpl" Name="tags.tmpl" />
- </Component>
- </Directory>
-
- <Directory Id="templates.staticdir" Name="static">
- <Component Id="templates.static" Guid="$(var.templates.static.guid)">
- <File Id="static.background.png" Name="background.png" KeyPath="yes" />
- <File Id="static.coal.file.png" Name="coal-file.png" />
- <File Id="static.coal.folder.png" Name="coal-folder.png" />
- <File Id="static.excanvas.js" Name="excanvas.js" />
- <File Id="static.graph.js" Name="graph.js" />
- <File Id="static.hgicon.png" Name="hgicon.png" />
- <File Id="static.hglogo.png" Name="hglogo.png" />
- <File Id="static.style.coal.css" Name="style-coal.css" />
- <File Id="static.style.gitweb.css" Name="style-gitweb.css" />
- <File Id="static.style.monoblue.css" Name="style-monoblue.css" />
- <File Id="static.style.paper.css" Name="style-paper.css" />
- <File Id="static.style.css" Name="style.css" />
- </Component>
- </Directory>
-
- </Directory>
-
- </DirectoryRef>
- </Fragment>
-
- </Wix>
|
|
@@ -1,24 +0,0 @@ - <?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <?include guids.wxi ?>
-
- <?define thg_po_langs =
- cs;da;de;en_GB;es;fa;fr;he;hr;hu;it;ja;ko;nl;nn;oc;pl;pt;pt_BR;ru;sv;tr;uk;zh_CN;zh_TW
- ?>
- <!-- lang 'ca' is used for key path -->
-
- <Fragment>
- <DirectoryRef Id="i18ndir" FileSource="$(var.SourceDir)">
- <Directory Id="thgI18nFolder" Name="tortoisehg">
- <Component Id="thgI18nFolder" Guid="$(var.thgI18nFolder.guid)">
- <File Id="thg.ca.po" Name="ca.po" KeyPath="yes" />
- <?foreach LANG in $(var.thg_po_langs) ?>
- <File Id="thg.$(var.LANG).po" Name="$(var.LANG).po" />
- <?endforeach?>
- </Component>
- </Directory>
- </DirectoryRef>
- </Fragment>
-
-</Wix>
|
|
@@ -1,30 +0,0 @@ - <?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <?define thglocales =
- ca;cs;da;de;en_GB;es;fa;fr;he;hr;hu;it;ja;nl;nn;pl;pt;pt_BR;ru;sv;tr;uk;zh_CN;zh_TW
- ?>
-
- <Fragment>
- <ComponentGroup Id="thgLocaleFolder">
- <?foreach LOC in $(var.thglocales) ?>
- <ComponentRef Id="thg.locale.$(var.LOC)"/>
- <?endforeach?>
- </ComponentGroup>
- </Fragment>
-
- <?foreach LOC in $(var.thglocales) ?>
- <Fragment>
- <DirectoryRef Id="localedir" FileSource="$(var.SourceDir)">
- <Directory Id="thg.locale.$(var.LOC)" Name="$(var.LOC)">
- <Directory Id="thg.locale.$(var.LOC).LC_MESSAGES" Name="LC_MESSAGES">
- <Component Id="thg.locale.$(var.LOC)" Guid="*">
- <File Id="tortoisehg.mo.$(var.LOC)" Name="tortoisehg.mo" KeyPath="yes" />
- </Component>
- </Directory>
- </Directory>
- </DirectoryRef>
- </Fragment>
- <?endforeach?>
-
-</Wix>
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
@@ -2,7 +2,10 @@ setlocal
if not exist %hhc_compiler%. (
- set hhc_compiler="%ProgramFiles%\HTML Help Workshop\hhc.exe"
+ set hhc_compiler=hhc.exe
+)
+if not exist %qcollectiongenerator%. (
+ set qcollectiongenerator=qcollectiongenerator.exe
)
set PDFLATEX=PdfLatex
set SPHINXBUILD=sphinx-build
@@ -27,6 +30,8 @@ echo. html to make standalone HTML files
echo. htmlhelp to make HTML files and a HTML help project
echo. chm to make CHM file
+ echo. qthelp to make HTML files and a qthelp project
+ echo. qhc to make QHC file
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
echo. pdf to make PDF file, you can set PAPER=a4 or PAPER=letter
echo.
@@ -66,6 +71,25 @@ goto end
)
+if "%1" == "qthelp" (
+ %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %OUTPUTDIR%/qthelp
+ echo.
+ echo.Build finished; now you can run "qcollectiongenerator" with the ^
+.qhcp project file in %OUTPUTDIR%/qthelp, like this:
+ echo.^> qcollectiongenerator %OUTPUTDIR%\qthelp\foo.qhcp
+ echo.To view the help file:
+ echo.^> assistant -collectionFile %OUTPUTDIR%\qthelp\foo.ghc
+ goto end
+)
+
+if "%1" == "qhc" (
+ %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %OUTPUTDIR%/qthelp
+ %qcollectiongenerator% %OUTPUTDIR%/qthelp/TortoiseHg.qhcp
+ echo.
+ echo.Build finished. The QHC file is in %OUTPUTDIR%/qthelp.
+ goto end
+)
+
if "%1" == "latex" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %OUTPUTDIR%/latex
echo.
|
@@ -6,12 +6,14 @@ SPHINXBUILD = sphinx-build
PAPER =
+QCOLLECTIONGENERATOR = qcollectiongenerator
+
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
-.PHONY: help clean html web pickle htmlhelp latex changes linkcheck
+.PHONY: help clean html web pickle htmlhelp qthelp qhc latex changes linkcheck
help:
@echo "Please use \`make <target>' where <target> is one of"
@@ -19,6 +21,8 @@ @echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " qhc to make QHC file"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " changes to make an overview over all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@@ -56,6 +60,21 @@ @echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in build/htmlhelp."
+qthelp:
+ mkdir -p build/qthelp build/doctrees
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) build/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in build/qthelp, like this:"
+ @echo "# qcollectiongenerator build/qthelp/foo.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile build/qthelp/foo.qhc"
+
+qhc: qthelp
+ $(QCOLLECTIONGENERATOR) build/qthelp/TortoiseHg.qhcp
+ @echo "Build finished. To view the help file:"
+ @echo "# assistant -collectionFile build/qthelp/TortoiseHg.qhc"
+
latex:
mkdir -p build/latex build/doctrees
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex
|
@@ -4,9 +4,9 @@ is the python-sphinx package. On Windows your best bet is
easy_install. To build without warnings, you need sphinx 0.6 or later.
-To build PDF files you need latex packages. On Ubuntu this is
-texlive-latex-extra and all of it's dependencies. On Windows the best
-choice is miktex.
+To build PDF files you need latex packages. On Ubuntu these are
+texlive-latex-extra, texlive-fonts-recommended and all of their
+dependencies. On Windows the best choice is miktex.
Once all of the prerequisites are in place, you can use the makefile to
build targets: html htmlhelp latex
@@ -51,7 +51,7 @@
:guilabel:`Commit`
-- To indicate a menu choise use :menuselection: and -->, for example:
+- To indicate a menu choice use :menuselection: and -->, for example:
:menuselection:`TortoiseHg... --> About`
|
|
@@ -0,0 +1,62 @@ + Archiving
+=========
+
+.. module:: archive.dialog
+ :synopsis: Dialog used to make an archive of a repository
+
+You can choose from quite a lot of formats to make an archive of a repository.
+There are the usual compressed formats. But it's also possible to make a plain
+folder of files in another place than the Working Directory (it's like a clone,
+but without the .hg folder). Can be useful for doing builds for example (think
+'svn export'). One can make an archive with only the files of the selected rev.
+Some people seem to use this to send changes to external people that do not have
+access to the repository.
+
+From the changelog context menu in the Workbench select
+:menuselection:`Archive...` for the choosen changeset, or,
+within the folder, type :command:`thg archive`.
+
+.. figure:: figures/archive.png
+ :alt: Archive dialog
+
+ Repository Archive Dialog
+
+:guilabel:`Revision`
+ To select the revision you wish to archive or export.
+:guilabel:`Only files modified/created in this revision`
+ To limit the number of files in the archive.
+:guilabel:`Destination path`
+ The filename or directory where the archive will be created. It is filled
+ with the name of the current repository, suffixed with the revision number
+ of the selected revision, and has the appropriate extension of the selected
+ archive type.
+:guilabel:`Archive types`
+ Here you can choose the type of archive to create, ranging from a plain
+ folder with files to a variety of standard archive type.
+:guilabel:`Hg command`
+ This field displays the command that will be executed by the dialog.
+:guilabel:`Always show output`
+ To have an logging output pane with the results of the command while it runs.
+
+Archiving a repository means create an archive file or subdirectory with the
+contents of the selected revision.
+
+From command line
+-----------------
+
+The archive tool can be started from command line ::
+
+ thg archive
+
+The syntax is ::
+
+ thg archive -r [REV] -t [TYPE] [DEST]
+
+where [REV] is the revision to archive, [TYPE] is the type of archive to create,
+and [DEST] is the name of the file or filder to create.
+
+See `hg.1.html#archive <http://www.selenic.com/mercurial/hg.1.html#archive>`_
+for details, or type :command:`hg help archive` at the command line or in the
+Output Log of the Workbench.
+
+.. vim: noet ts=4
|
@@ -6,53 +6,55 @@
To clone a repository you have to run the clone dialog.
From the explorer context menu select :menuselection:`TortoiseHg... --> Clone a repository`
-or type :command:`hgtk clone`.
+or type :command:`thg clone`.
.. figure:: figures/clone.png
:alt: Clone dialog
Clone Dialog
-:guilabel:`Source Path`
+:guilabel:`Source`
It is the path (or URL) of the repository that will be cloned. Use
the :guilabel:`Browse...` to choose a local folder.
-:guilabel:`Destination Path`
+:guilabel:`Destination`
It is the path of destination directory, a folder with the same name
of source repository will be created within this directory.
-Under the :guilabel:`Advanced options` expander you will find:
+Under the :guilabel:`Options` expander you will find:
:guilabel:`Clone To Revision`
You can limit the clone up to this revision. Even the tags created
after this revision will not be imported.
-:guilabel:`do not update the new working directory`
+:guilabel:`Do not update the new working directory`
If checked, after the clone the working directory will be empty. It
is useful when you have to clone a repository with the purpose of
central repository, or backup, where you have only, in the future,
to *push* and *pull*.
-:guilabel:`use pull protocol to copy metadata`
+:guilabel:`Use pull protocol to copy metadata`
When the source and destination are on the same filesystem,
Mercurial tries to use hardlinks. Some filesystems, such as AFS
implement hardlink incorrectly, but do not report errors. Use this
option to avoid hardlinks.
-:guilabel:`use uncompressed transfer`
+:guilabel:`Use uncompressed transfer`
To use uncompressed transfer (fast over LAN).
-:guilabel:`use proxy server`
+:guilabel:`Include patch queue`
+ To also clone an MQ patch repository along with the main repository.
+:guilabel:`Use proxy server`
To use the proxy server configured in :menuselection:`TortoiseHg... --> Global Settings --> Proxy`.
This is enabled only if a proxy is configured.
-:guilabel:`Remote Cmd`
- Specify a Mercurial command to run on the remote side.
+:guilabel:`Remote command`
+ Specify a Mercurial command to run on the remote side.
From command line
-----------------
The clone tool can be started from command line ::
- hgtk clone
+ thg clone
The syntax is ::
- hgtk clone [SOURCE] [DEST]
+ thg clone [SOURCE] [DEST]
where [SOURCE] and [DEST] are, the paths of source repository and destination folder.
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
@@ -2,42 +2,11 @@ ===============
.. module:: common.dialog
- :synopsis: Common features to all the dialog
+ :synopsis: Features common to many dialogs
These features are common to many TortoiseHg tools, so we document them
here just once.
-Keyboard Accelerators
----------------------
-
-We define a few keyboard accelerators that all of the TortoiseHg tools support.
-
-:kbd:`Ctrl-Q`
- quit the application, including all open windows
-
-:kbd:`Ctrl-W`
- close the current window (same as :kbd:`Ctrl-Q` if only one window is open)
-
-:kbd:`Ctrl-D`
- visual diff of currently selected file or changeset
-
-:kbd:`Ctrl-Enter`
- activation
-
-:kbd:`Ctrl-.` and :kbd:`Ctrl-,`
- select next or previous file in a file list
-
-:kbd:`Ctrl-[` and :kbd:`Ctrl-]`
- page up or down a text pane
-
-:kbd:`F5`, :kbd:`Ctrl-R`
- refresh
-
-On `Mac OS X <http://bitbucket.org/tortoisehg/stable/wiki/MacOSX>`_, the
-apple (command) key is used as the modifier instead of :kbd:`Ctrl`.
-However some keyboard accelerators are internal to GTK+ so you must use
-the control key to access cut-paste functionality, for instance.
-
Visual Diffs
------------
@@ -164,46 +133,4 @@`merge-patterns <http://www.selenic.com/mercurial/hgrc.5.html#merge-patterns>`_
section.
-
-Treeview searches
------------------
-
-Many TortoiseHg dialogs use treeviews to present lists of data to the
-user. The file lists in the status, commit, shelve, and changelog tools
-are treeviews. The changelog graph pane is a treeview. And even the
-annotate pane in the datamine tool is a treeview.
-
-Most of the TortoiseHg treeviews are configured for live searches.
-Ensure that the treeview has focus (by clicking on a row), and begin
-typing a search phrase. A small entry window will appear containing the
-text you have typed, and the treeview will immediately jump to the first
-row that matches the text you have entered thus far. As you enter more
-characters, the search is refined. (Do not hit return to 'complete' the
-search, before using the keys mentioned below, or the entry window will
-disappear, ending the search instead.)
-
-* :kbd:`Ctrl-F` opens the search window explicitly
-* :kbd:`Ctrl-G` advances the search to the next match
-* :kbd:`Shift-Ctrl-G` searches backwards
-* The mouse scroll wheel will advance forwards and backwards through
- matching lines
-
-Hg command dialog
------------------
-
-Many TortoiseHg tools use the *hgcmd* dialog to execute Mercurial
-commands that could potentially be interactive.
-
-.. figure:: figures/hgcmd.jpg
- :alt: Mercurial command dialog
-
- Interactive Mercurial Command Dialog
-
-.. note::
- Error messages are given a dark red color for contrast
-
-When the Mercurial command has completed, the dialog gives focus to its
-:guilabel:`Close` button. So pressing :kbd:`Enter` is all that is
-required to close the window.
-
.. vim: noet ts=4
|
@@ -42,16 +42,16 @@
# General information about the project.
project = u'TortoiseHg'
-copyright = u'2010, Steve Borho and others'
+copyright = u'2011, Steve Borho and others'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
-version = '1.1'
+version = '2.0'
# The full version, including alpha/beta/rc tags.
-release = '1.1.9'
+release = '2.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
|
@@ -7,15 +7,16 @@
common
explorer
+ nautilus
+ workbench
init
clone
commit
shelve
- changelog
- datamine
- synchronize
+ sync
serve
guess
ignore
+ archive
.. vim: noet ts=4
|
|
|
@@ -1,136 +0,0 @@ - Datamine
-========
-
-.. module:: datamine.dialog
- :synopsis: Dialog used to search repository history
-
-The datamine application is used to inspect the revision history of your
-repository. It is a tabbed application that supports two tab types,
-*Search* and *Annotate*.
-
-
-Search Tabs
------------
-
-.. figure:: figures/search.png
- :alt: Search dialog
-
- Search tabs
-
-The search tab is used to search (*grep*) through your entire revision
-history for keywords, variable names, functions, etc...
-
-The text entry fields have these purposes:
-
- :guilabel:`regexp`
- Regular expression search criteria.
- :guilabel:`includes`
- Comma separated list of paths to include in your search. If no
- paths are given, the search is assumed to be repository wide. In
- other words, specifying an include path actually narrows the
- search criteria.
- :guilabel:`excludes`
- Comma separated list of paths to exclude from your search.
- Exclusion patterns are applied after inclusion patterns.
-
-The toggle buttons below the entry fields are for:
-
- :guilabel:`Follow copies and renames`
- follow searches through copies and renames out of inclusion filters
- :guilabel:`Ignore case`
- Perform the search without case considerations
- :guilabel:`Show line numbers`
- Show line numbers at the front of the matching lines
- :guilabel:`Show all matching revisions`
- Show every instance where the search criteria matches in a file,
- not just the most recent revision. It shows +/- to indicate
- whether the change adds or removes your search text.
-
-Search tabs are named after the search string most recently used to
-start a search. The :guilabel:`New Search` toolbar button will
-obviously open a new search tab while the :guilabel:`Stop` button will
-terminate an ongoing search (the :guilabel:`Stop` button is only
-sensitive when a search is in progress).
-
-Matches
-^^^^^^^
-
-Each match will be a link to a changeset and will have a descriptive
-tooltip (author, date/time, summary). Right clicking on a matched line
-will bring up a context menu with these features:
-
- :guilabel:`display change`
- open a changeset window with this changeset, to see the full context
- :guilabel:`annotate file`
- open an annotation tab for this file at this revision
- :guilabel:`file history`
- open a changelog window with this file's revision history
- :guilabel:`view file at revision`
- open the current file at the specified revision in your favorite
- text editor.
-
-
-Annotate Tabs
--------------
-
-.. figure:: figures/annotate.png
- :alt: Annotate tabs
-
- Annotate tabs
-
-
-The revision graph has a simple context menu for opening the entire
-changeset in the changeset browser. Activating a row in the revision
-graph updates the file annotation to that revision.
-
-In the bottom pane is the actual annotation. Each line in the annotation
-is also a link to the changeset which provided that line. Activating a
-row will zoom the changelog (top pane) to the changeset that introduced
-that line and change focus to the top pane.
-
-The color scheme in the annotation pane is two dimensional. Authors
-determine hue, and age determines saturation. The older a change, the
-lighter the color.
-
-By right-clicking on the annotate pane's column headers (Line, Rev,
-Source) you can bring up a menu for showing two optional columns:
-:guilabel:`filename` and :guilabel:`user`.
-
-Following Renames
-^^^^^^^^^^^^^^^^^
-
-The annotation data will automatically follow lines of code back through
-copies and renames to find the initial changeset that introduced the
-line. The graph log pane will also attempt to follow renames and
-copies, so some lines in the graph may correlate to different filenames
-than the original annotated file path. Renames are indicated in the
-graph by color changes within a column.
-
-Configurables
-^^^^^^^^^^^^^
-
-The annotate tabs support the following configurations defined primarily
-for other tools:
-
-:menuselection:`Changelog --> Author Coloring`
- Give each author a separate color in the changelog graph
-:menuselection:`Changelog --> Long Summary`
- Concatenates lines of commit message together to reach an 80
- character summary.
-:menuselection:`TortoiseHg --> Tab width`
- Number of spaces to expand tabs in diffs and annotate output
-
-From command line
------------------
-
-The datamine tool can be started from command line ::
-
- hgtk datamine
-
- aliases: annotate, blame
-
- repository search and annotate tool
-
- use "hgtk -v help datamine" to show global options
-
-.. vim: noet ts=4
|
@@ -16,9 +16,9 @@
If you have a bit of Python knowledge, you can also use::
- hgtk --debugger <command>
+ thg --debugger <command>
-To disable the forking behavior of hgtk, you can either set an
+To disable the forking behavior of thg, you can either set an
environment variable **THG_HGTK_SPAWN**, or add the command line
parameter '--nofork'.
@@ -30,7 +30,7 @@into a :command:`cmd.exe` window, while inside the repository::
set THGDEBUG=1
- hgtk --nofork log
+ thg --nofork log
Linux/MacOSX
~~~~~~~~~~~~
@@ -39,7 +39,7 @@into your shell window, while inside the repository::
export THGDEBUG=1
- hgtk --nofork log
+ thg --nofork log
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
doc/source/figures/clone.png
size changed from 541x167 to 527x189
|
||
---|---|---|
|
|
|
|
doc/source/figures/commit.png
size changed from 830x560 to 938x587
mode changed from RGB to RGBA |
||
---|---|---|
|
|
|
|
doc/source/figures/email.png
size changed from 666x486 to 590x544
|
||
---|---|---|
|
|
|
doc/source/figures/guess.png
renamed from doc/source/figures/guess.jpg
|
||
---|---|---|
|
doc/source/figures/ignore.jpg
size changed from 444x388 to 562x466
|
||
---|---|---|
|
doc/source/figures/import.png
size changed from 516x426 to 504x453
mode changed from RGB to RGBA |
||
---|---|---|
|
doc/source/figures/init.png
size changed from 419x150 to 546x239
|
||
---|---|---|
|
|
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
doc/source/figures/patchqueue.png
size changed from 462x249 to 695x266
mode changed from RGB to RGBA |
---|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
doc/source/figures/serve.png
size changed from 516x336 to 516x438
mode changed from RGB to RGBA |
---|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
doc/source/figures/settings.png
size changed from 592x536 to 677x712
mode changed from RGB to RGBA |
---|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
doc/source/figures/share.png
size changed from 538x165 to 527x189
mode changed from RGB to RGBA |
---|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
doc/source/figures/shell-config-cmenu.png
size changed from 421x343 to 631x440
|
---|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
doc/source/figures/shell-config-icons.png
size changed from 421x343 to 631x440
|
---|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
doc/source/figures/shelve.png
size changed from 830x528 to 805x541
|
---|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
doc/source/figures/synchronize.png
size changed from 671x528 to 741x299
|
---|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
renamed from tortoisehg/hgtk/logview/colormap.py
|
||
---|---|---|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
@@ -0,0 +1,1 @@ + 275690997c5f2ace0476775b3b59fe50b639d3de 0.9.2-1
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This image was not loaded automatically because this changeset is very large.
Click to load this image...
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
Loading...