Staging
v0.5.1
https://foss.heptapod.net/mercurial/hgview
Revision e3df4efd3472bdf15ecabdc173e24161cb87cb2c authored by Alain Leufroy on 20 August 2013, 09:40:27 UTC, committed by Alain Leufroy on 20 August 2013, 09:40:27 UTC
Related to #137719


The action allows the user to open the selected file with its content
at the selected revision in an external editor.

A temporary file is created. This file is deleted once the editor is
closed.  The action is added in the context menu.

.. note::

   I do not use QtGui.QDesktopServices.openUrl because I didn't
   find a way to know when the editor is closed.

.. admonition:: How to test

   ::

     hg --config hgview.editor=emacs qv -I qt

   Starts hgview, select an "old" revision, then left-click on widget
   that displays the diff.  In the context menu hit "open in
   editor".

   The editor displays a temporary file that contains the file at
   the selected revision. Once the editor terminate, the temporary file
   is removed.

   Do the same with::

     hg --config hgview.editor= --config ui.editor=emacs qv -I qt
1 parent c12b5c7
Raw File
Tip revision: e3df4efd3472bdf15ecabdc173e24161cb87cb2c authored by Alain Leufroy on 20 August 2013, 09:40:27 UTC
[qt] add open in editor action
Tip revision: e3df4ef
README
Description
===========

Its purpose is to easily navigate in a Mercurial repository
history. It has been written with efficiency in mind, both in terms
of computational efficiency and user experience efficiency.

It is written in Python.

There are two user interfaces:
    * a graphical intarfece using PyQt4 and QScintilla, the
    * a text interface: using urwid, pygments and pyinotify

Note that the Qt4 interface is much more complete than the text interface.
The Qt4 interface provides more views on the repository.

hgview intallation notes
========================

hgview can be used either as a hg extension, or as a standalone
application.

The Common library depends on: mercurial (1.0 minimum)
The Qt4 interface depends on PyQt4, QScintilla and PyQScintilla, DocUtils
The Text interfaces depend on urwid (>=0.9.1 for "raw", >=1.0.0 for "curses"),
pygments and pyinotify


Run from the hg repository
--------------------------

You can run ``hgview`` without installing it.

::

  hg clone http://hg.logilab.org/hgview

You may want to add the following to your main .hgrc file::

  [extensions]
  hgext.hgview=path/to/hqgv/hgext/hgview.py

  [hgview]
  # your hgview configs statements like:
  dotradius=6
  interface=qt # or curses or raw
  # type hg qv-config to list available options

Then from any Mercurial repository::

  cd <ANY_HG_REPO>
  hg qv

or::

  export PYTHONPATH=PATH_TO_HGVIEW_DIR:$PYTHONPATH
  PATH_TO_HGVIEW_DIR/bin/hgview

Installing ``hgview``
---------------------

Installing ``hgview`` is simply done using usual ``distutils`` script::

  cd $PATH_TO_HGVIEW_DIR
  python setup.py install --help # for available options
  python setup.py install


More informations
=================

See `hg help hgview` for more informations on available configuration
options.

alain
back to top