Skip to main content

Lairucrem_: A simple and useful text-base interactive interface for mercurial_

Project description

asciicast

Desctiption

Lairucrem provides a useful user interface to the mercurial DVCS.

It is a text-base interactive interface that helps developpers on their dayly usage of mercurial. Because it is a text-base interface, it can be used over ssh tunnel which is helpful when working on a remote machine.

lairucrem displays the changeset tree and the patch content of the focused changeset. You can interactively inspect the repository history by changing the focused changeset. We put some effort to make it quite responsive, even on huge repositories whith big patches.

lairucrem can propose a set of actions that can be applied to the focused chageset, like rebase, update, addremove, etc. A small set of actions are available in the actual version but later releases will propose more actions and a plugin system which will allow you to add your own actions. You do not have to mess with complex UI, just the actions you need.

lairucrem uses the command line interface of Mercurial. So it just performs the commands you commonly run. It activates extensions (the “official” ones) when there are needed.

We still work on lairucrem, fill issues if you think something could be improved.

Installation

System wide (administrator privilege required)

pip install lairucrem

User space (no specific privilege required)

pip install --user lairucrem

Development

Environment

You may want to use virtualenv to create an isolated Python environment.

virtualenv /path/to/envs/lairucremenv
source /path/to/envs/lairucremenv/bin/activate

Clone the repository:

hg clone http://bitbucket.org/aleufroy/lairucrem
cd lairucrem

Install dev dependencies and lairucrem (in development mode):

pip install -r dev-requirements.txt -e .

Testsuite and checks

Run the testsuites

py.test --doctest-modules --pylint -q

Note: The –pylint option enables coding standards checks. Take a look at the pylintrc file for detailed coding rules used in lairucrem.

Test coverage

py.test --doctest-modules --cov=lairucrem --cov-report term-missing

Documentation test

pip install docutils
python setup.py --long-description | rst2html --strict -

Tricks

I’ve added pytest-xdist to dev_requirements.txt which allows py.test to watch for file system changes with the -f option.

Pull request

Please check the followings before sending your pull request:

  • Add yourself to the CONSTRIBUTORS.txt file.

  • Check the new feature/fix by add new tests or by adapting existing tests (test coverage is useful here). If your change does not need test change, tell it in the commit message.

  • Check that tests are all green, including the –doctest-modules and –pylint options. Note that you can disable falsy warnings from pylint (with caution) by adding a comment like:

    #pylint: disable=signature-differs
  • Help me understand your patch with few lines of description in the commit message (do not translate your code in english :P). This makes the patch integration easier and quicker than it could be without it. You can also refer to an existing issue from the tracker – I’m not a github/bitbucket addict, so let the commit message self consistant.

In the meantime, you can send me a message on twitter (alainleufroy) or on the #mercurial IRC channel (aleufroy).

Project info

LICENSE:

[http://sam.zoy.org/wtfpl/](WTFPL) see LICENSE.txt

HOME PAGE:

http://bitbucket.org/aleufroy/lairucrem

BUG REPORT:

http://bitbucket.org/aleufroy/lairucrem/issues

Sponsors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lairucrem-0.2.0.tar.gz (22.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page