Stick - Bugs with branches

Concept

Entities

BUGS

Bug Items

Contains a collection of bug-items (BI) with the following attributes:

The basic storage is expected to be an RFC 2822 type of message.

Operations

To make the interfaces as simple as possible, the operations list should be minimal.

Internal ops - applied from REPO hooks or automatically

Storage

This data is expected to be split into two categories:

Generated items will be stored in a cache, ready to be regenerated/cleared as need-be due to changes in repository. Ex: A 'rebase' event could cause an item to be eliminated.

Handling

Since this data is probably not the easiest to search in a meaningful way, a cache is expected to be created on demand.

An example caching mechanism would be a normalized SQLite database containing data items likely w/ indexes on the following:

Distribution

The BUGS data should be stored in a repository with a plain-old directories/files structure. How this layout is to work is yet to be resolved...

Distribution can be alongside the primary repository as its own branch.

Directory layout: BUGS/ Bug Unique ID 1/ Bug Unique ID 2/ HEAD Bug Item 1 - Unique ID Bug Item 2 - Unique ID

Questions

REPO

The storage location for the source code that BUGS is associated with.

Initially this will be Git, but it should be easy to adapt due to the limited operation set.

Operations
Usage of 'hooks'

To avoid having to 'always' query for change logs, hooks may be used to assist the bug system w/ knowledge about events as they happen rather than on-demand.