Skip to main content

set of development tools used at Logilab

Project description

Set of tools which aims to help the development process, including :

  • tools to check and build source and/or Debian packages

  • provides integration assistance to work with CubicWeb, Mercurial and GuestRepo.

Set of elisp goodies including :

  • an emacs mode for pycover files

  • an emacs mode for ChangeLog files

  • a small set of emacs shortcuts used at logilab


A shell library to source. It provides a ingrsh command that moves the current working directory into the given shell repository and set the PYTHONPATH and CDPATH environment variables accordingly.

The GUESTREPODIR environment variable defines where to search for for shells (default to $HOME/hg/grshells/)


Merge tools to be used by Mercurial, for .hgguestrepo and .hgtags files respectively.

They must be activated from a Mercurial configuration file:

.hgguestrepo = grmerge

grmerge.executable = path/to/grmerge
grmerge.args = $local $base $other -o $output


A Mercurial extension that eases interaction with a JPL forge.

The extension should be enabled from a Mercurial configuration file:

jpl = path/to/hgext/jpl/
# or, if it has been installed via the debian package:
jpl =

endpoint =

The endpoint refers to a configuration entry in your cwclientlib config setup. See cwclientlib documentation for more informations.



Allows to ask review for a Patch produced by a changeset, eg.:

$ hg ask-review # default to working directory's parent revision
$ hg ask-review -r "draft() and ::."

Assign patches corresponding to specified revisions to a committer.


Show the backlog (draft changesets) of specified committer.


List TestConfig available for project linked to the repository.


Create new tickets for the specified revisions.


Show review status for patches corresponding to specified revisions, eg.:

$ hg show-review  -r 82071f767cb8 -T 82071f767cb8   [applied]       abegey
[schemas] cwuri should be read-only

#82071f767cb8 nologin env/quick: partial
#82071f767cb8 cubicweb-newsaggregator env/quick: failure
#82071f767cb8 ner test env/quick: partial
#82071f767cb8 person env/quick: success

Start Apycot tests for the given revisions, eg.:

$ hg start-test -r . -l "buildexp cwo" -o publish_host=publish -o upload_host=upload \
-o debian.repository=apycot -o lgp_sign=yes -o lgp_suffix=yes

Displays tasks requested by reviewers on a patch on a forge.

Revset functions

These predicates retrieve information from the project’s forge (cubicweb-jpl instance) and are exposed as revset functions.


Changesets linked to tasks to be done.


Changesets that are linked to reviewed patches in the forge


Changesets that are linked to patches linked to tickets of given version+project


$ hg log -r "reviewed()"
$ hg log -r "inversion(3.18.0)"
$ # display tasks on patches that are meant to be in next 3.20.8 version:
$ hg tasks -r "tasks() and inversion(3.20.8)"
$ # display patches ready for integration in 3.20.8:
$ hg show-review -r "reviewed() and inversion(3.20.8)"
$ # are there any pending commit on my branch that is not at his place?
$ hg log -r "draft() and ::. keyword(closes) and not inversion(3.20.8)"



List of Strings. The text of the tasks and comments of a patch.


  • display all tasks (and comments) of every patch:

    $ hg log --template='{tasks}\n'
  • display the first line of the description and the first line of every task not yet done for draft changesets written by alain that are not yet reviewed:

    $ hg log -G \
    --rev 'draft() and author(alain) and tasks() and not(reviewed())' \
    --template='{desc|firstline}\n{tasks % "{task|firstline}\n"}'

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

logilab-devtools-0.26.0.tar.gz (32.4 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