Distributed Issue Tracking for GIT
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
gitissius
.gitignore
LICENSE
MANIFEST.in
README.org
gitissius-completion.bash
setup.py

README.org

GitIssius

About

GitIssius is an issue tracker intergrated in your git repository. In other words a distributed bug tracker.

Why bother?

Your code lives in your git repo. Your documentation lives in your git repo. Why aren’t your bugs in your git repo?

Git provides a really great version control system. Unlike other systems though it does not provide any functionality related to issue / bug tracking. You have to rely on 3rd party systems like Bugzilla or GitHub issue tracker to track your bugs.

This is fundamentally wrong!

  • Because you quit your programming enviroment to visit webpages to add / view bugs.
  • Because the bugs are not stored in the same place as your code and / or documentation.
  • Because you cannot edit / view your bugs offline.

GitIssius comes in action

GitIssius stores your bugs in the same repo where your code lives. It creates another branch named ‘gitissius’ which you don’t have to checkout ever. Provides a git command named ‘issius’ to control you issues.

It was inspired by other distributed bug tracking systems like Fossil, BugsEverywhere and Ditz. Started as a fork of git-issues but then realized that I wanted a completelly different code base, so I wrote most things from scratch.

Features

  • Stores your issues along with your repo
  • No server required
  • Simple operation
  • Tab completion
  • Data is stored in JSON
  • Easilly Extensible
  • Python, no extra libraries required
  • Cross Platform
  • Create and edit bugs offline
  • Distributed

Installation

PyPI (recommended)

~$ sudo pip install gitissius

Bleeding Edge

  1. ~$ git clone http://github.com/glogiotatidis/gitissius
  2. ~$ cd gitissius && sudo python setup.py install

Use

  1. After you finish GitIssius installation go to a git repository.

    ~$ cd /my/git/repo

  2. Start using GitIssius immediatelly!
    • Add a new issue
      • ~$ git issius new
    • List issues
      • ~$ git issius list
    • List issues assigned to you
      • ~$ git issius myissues
    • List issues sorted
      • ~$ git issius list –sort=status
      • ~$ git issius list –sort=assigned_to
    • List issues assigned to ‘foo@example.com’, sort by status
      • ~$ git issius list –filter=assigned_to:foo@example.com –sort=status
    • *List issues assigned everyone but ‘foo@example.com’*
      • ~$ git issius list –filter=assigned__not:foo@example.com
    • List all issues but new or assigned
      • ~$ git issius list –all –filter=status__not:new,status__not:assigned
    • Show an issue
      • ~$ git issius show [issue id]
    • Comment on an issues
      • ~$ git issius comment [issue id]
    • Close an issue
      • ~$ git issius close [issue id]
    • Push GitIssius changes
      • ~$ git issius push
    • Get help
      • ~$ git issius help

Tips and tricks

  • Use ‘TAB’ for completion in fields.
  • Install ‘colorama’ package for colors
  • Sorting and Filtering actions can refer to the following fields: assigned_to, created_on, updated_to, reported_from, status, id, title
  • Filtering supports ‘__not’, ‘__exact’ and ‘__startswith’ on text properties.

Community

  • Bug Tracking: GitIssius eats its own food. So to report bugs please use gitissius ;)
  • Tweet at @glogiotatidis

Future

A companion web service comes soon! Write down http://www.gitissius.org