A simple and powerful text-based interactive user interface for Mercurial
Project description
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:
- BUG REPORT:
Sponsors
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.