https://github.com/sanpii/git-issue
Bug tracker based on git
https://github.com/sanpii/git-issue
git-addons
Last synced: 6 months ago
JSON representation
Bug tracker based on git
- Host: GitHub
- URL: https://github.com/sanpii/git-issue
- Owner: sanpii
- Created: 2013-11-06T13:03:42.000Z (almost 12 years ago)
- Default Branch: main
- Last Pushed: 2021-07-05T14:49:40.000Z (over 4 years ago)
- Last Synced: 2025-03-23T18:52:14.149Z (7 months ago)
- Topics: git-addons
- Language: Shell
- Homepage: http://sanpii.github.io/git-issue/
- Size: 256 KB
- Stars: 18
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: docs/README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Git-issue
[](https://github.com/sanpii/git-issue/actions/workflows/ci.yml)
[](https://gitlab.com/sanpi/git-issue/-/commits/main)*Git-issue* is a bug tracker based on git.

## Why?
Git is a great tool to versioning source but also to [store
everything](http://git-annex.branchable.com/). Git is [designed like a file
system](http://marc.info/?l=linux-kernel&m=111314792424707), or if you prefer
buzz words, you can see it like a [nosql
database](http://opensoul.org/blog/archives/2011/09/01/git-the-nosql-database/).
A [nosql database over a
FS](http://www.pdl.cmu.edu/PDL-FTP/Storage/CMU-PDL-12-103.pdf)?.Sorry, I digress. So why do not use it to store issues? In fact, use git
automatically makes your issues tracker versioned and distributed, like your
code.Of course, it is not the first [distributed issue
tracker](http://www.cs.unb.ca/~bremner/blog/posts/git-issue-trackers/) but
*git-issue* exist because the other projects doesn't cover all these objectives:* fully based on git ;
* minimal dependencies ;
* fully tested.## Installation
Place the single file *src/git-issue* in your path.
For example:
$ git clone https://github.com/sanpii/git-issue.git
$ mkdir -p ~/.local/bin
$ ln -s $(pwd)/git-issue/src/git-issue ~/.local/bin
$ echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc## Configuration
*Git-issue* reuse git configuration (user name, editor, …) but provide some
options.### issue.branch
The branch name used for store the issues. *issues* by default.
### issue.remote
Remote name to publish issues. *origin* by default.
### color.issue.id
Color use to display id. *blue bold* by default.
### color.issue.metadata
Color use to display metadata name. *yellow bold* by default.
### issue.html.branch
The branch where HTML pages as generated. *gh-pages* by default.
### issue.html.showdow
The URL where showdow.js was download.
by default.### issue.html.zepto
The URL where zepto was download.
by default.### issue.html.bootstrap
The URL where twitter bootstrap was download.
by default.### issue.html.charset
The charset specified in the content type. *UTF-8* by default.
### issue.html.title
The title of the page. *Issues tracker* by default.
## Commands
### Initialize your issue database
This is the required first step:
$ git issue init
### Create a new issue
$ git issue new --title='A new issue' 'A long description'
Issue #1 created.If you don't specify a description, the issue is opened in an editor unless the
``--no-edit`` is added.### Show an issue
$ git issue show 1
title: Issue title
status: new
assign:
tags:
milestone:
type:A long description
### List all issue
$ git issue list
1: Issue titleBy default, only unclosed issues are listed. You can use filter on *status*,
*title*, *tags*, *milestone* or *type*:$ git issue list --status=close
Or inverted filter:
$ git issue list --status=~accepted
Or multiple values:
$ git issue list --status='new|accepted'
### Edit an issue
$ git issue edit 1
Git issue open the issue with your preferred editor. Edit, save and quit. The
issue is automatically committed.Or you can rapidly edit issue metadata:
$ git issue edit --status=done 1
## Close an issue
And you can more rapidly close an issue:
$ git issue close 1
### Delete an issue
$ git issue delete 1
### Synchronize issues
Bidirectional synchronize:
$ git issue sync
Issues synced.### Publish issues as HTML
$ git issue html
$ git checkout gh-pages
$ git push -u originn gh-pagesYou can see the result for this repository
[here](http://sanpii.github.io/git-issue).## A bug?
Clone this repository and use *git-issue* on it. After creating an issue, send
me a pull request.