It is written in Python with quick and efficient key-based navigation in mind, trying to be fast enough to be usable for big repositories.
Features.
- easy key-based navigation in revisions's history of a repo (with browsing history) [qt4, text],
- basic support for mq patch queues [qt4, text],
- automatically refresh the displayed revision graph when the repository is being modified (commit, pull, updates, etc.) [qt4, text]
- display current working directory as a special node in the graph (when there are local modifications) [qt4, text],
- view a graphical side-by-side diff for a given file, allowing to easily compare any couple of revisions for a file [qt4]
- view the revision graph for a file (filelog) [qt4],
- navigate in the manifest at any chosen revision (without modifying the working directory) [qt4],
- basic support for the bfiles extension [qt4, text],
- search in the whole history (search in diff contents and commit messages) [qt4],
- directly go to a given revision (can be any understood revision format; rev number, ID, tag, brnch name, etc.) [qt4, text]
Installation.
Debian and Ubuntu user can get the latest stable version using the logilab's debian repository. Note that a hgview package is available in Debian testing repositories.
You may also retrieve the lastest version of the code using Mercurial, typing:
hg clone http://hg.logilab.org/hgview
To test it, just go in the hgview directory and type:
./bin/hgview
or run the command, also from the hgview directory:
hg --config extensions.hgext.hgview=hgext/hgview.py qv
If you like it, just add in the [extensions] section of your ~/.hgrc:
[extensions]
hgext.hgview=/path/to/hgview/hgext/hgview.py
You can choose your prefered interface in the [hgview] section:
[hgview]
interface = qt # or raw or curses
Dependencies.
hgview depends on several third-party python packages:
python 2.5
Mercurial 1.1
For the qt4 based interface:
pyqt4 with qscintilla
PyQt4 dev tools are also required to run it from sources, which may require the installation of a specific package; on Debian/Ubuntu, the package pyqt4-dev-tools must be installed.
For the text based interface:
urwid (console user interface library)
pyinotify (automatically refreshing)
pygments (syntax highlighter)
No comments:
Post a Comment