Staging
v0.5.0
https://foss.heptapod.net/mercurial/hgview
Revision be670f46836846f4010b82ca4c2ad3e217ad24cf authored by Alain Leufroy on 11 June 2013, 16:58:04 UTC, committed by Alain Leufroy on 11 June 2013, 16:58:04 UTC
On some repo the tree graph was not full filled.

The problem comes from the selection of the working directory parent.

To select the wd parent we ensure it has already been built.
This action encreases the number of built nodes in revision tree
(see ``hggraph.Graph.build_nodes``: requested revision + nnodes)

But we ensure the wd parent is built the first time the model is
filled. It is performed after the first graph rendering but before the
timer event that refreshes the tree graph.

In some case the first rendering displays only a partial revisions
tree graph. Once displayed the wd parent selection complete the
revision tree in cache but not yet on the screen.

If the revision tree is full filled, the table row count is not
updated (see the diff) while a part of the revision tree graph is
still missing.


Introduced by `always select the working directory at startup <fb5ee4cf21dd>`_
due to `New implementation of the background graph building mecanism <e28a5e3dc5c4>`_.

.. note:: I will factorize code in the next commit.
1 parent 60548a5
Raw File
Tip revision: be670f46836846f4010b82ca4c2ad3e217ad24cf authored by Alain Leufroy on 11 June 2013, 16:58:04 UTC
[qt4] Fix partial tree graph filling
Tip revision: be670f4
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