Skip to main content

A simple and powerful text-based interactive user interface for Mercurial

asciicast

Description

Lairucrem provides a useful user interface to the Mercurial DVCS.

It is a text-based interactive interface that helps developpers on their daily usage of Mercurial. Because it is a text-based interface, it can be used over ssh tunnels 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 changeset, 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 won’t have to mess with a 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 pytest 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 a few lines of description in the commit message (but do not translate your code to 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 sufficient.

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 see LICENSE.txt

HOME PAGE:

http://bitbucket.org/aleufroy/lairucrem

BUG REPORT:

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

Sponsors

Metadata

Release files for lairucrem 5.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lairucrem 5.4.1
File Size Uploaded
lairucrem-5.4.1.tar.gz 48.4 kB Details

Release files / lairucrem-5.4.1.tar.gz

Download URL lairucrem-5.4.1.tar.gz
Size 48.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4c1b8a6b915d0b5f84ed819930675c9ba47eeadf96cbc4617d13a7c88459744b
BLAKE2b-256 checksum
How to use checksums
e0f37aba47266ba60b4565a4d02dc31ff94aa19fec9d0623a938f1703f9cf93d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.3 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.6

Release history Release notifications | RSS feed

This release

5.4.1 This release

1 release file

5.4.0

1 release file

5.3.2

1 release file

5.3.0

1 release file

5.2.0

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.1

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page