Skip to main content

Simple but powerful text-base interactive interface for [https://mercurial-scm.org](mercurial).

Project description

[![asciicast](https://asciinema.org/a/41dn083fyvookt4tf4hakqt7o.png)](https://asciinema.org/a/41dn083fyvookt4tf4hakqt7o)

# 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.

It helps you in repetitve tasks like:

$ hg log -G # display the tree $ hg rebase -r 12534 -d 13456 # move an interresting cset $ hg log -G # check you’ve done the right move $ hg up tip # up to the moved cset $ hg ci –amend # clean the patch and edit the commit message $ hg diff -c . # check you’ve got a good patch $ hg phase -d . # allow cset to be pushed $ hg push -r . # push your work $ hg log -G # look for stuff to rebase $ hg rebase -s 12535 -d . # linearize your graph $ hg log -G # check you’ve done the right move

Lairucrem displays the changeset graph and the patch content of the focused changeset. When you change the focused cset, the patch content is automatically updated. We put some effort to make it quite responsive, even on huge repositories whith big patches.

Lairucrem can proposes a set of actions that can be applied to the focused chageset, like rebase, update, addremove, etc. A small set of action are available in the actual version (later releases will propose more actions and a plugin system).

Because it is a text-base interface, it can be used over ssh tunnel which is helpful when working on a remote machine.

# 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 [https://virtualenv.readthedocs.or](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 lairucrem and its development dependencies:

$ 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

## Tricks

I’ve added pytest-xds 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:

  • 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). If you are really reaaly sure that pylint is wrong (or if fixing the warning makes the code too much complicated), you can disable the warning by adding a comment like:

    #pylint: disable=signature-differs

  • Help me understand your patch with few lines in the commit message (do not translate your code :P).

In the meantime, you can send me a message on twitter @alainleufroy.

# 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

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.1.2.tar.gz (19.8 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