Skip to content

Latest commit

 

History

History
112 lines (63 loc) · 3.08 KB

File metadata and controls

112 lines (63 loc) · 3.08 KB

BugBox

Bug integration2 system based on GIT.

Allow an alternative to the GIT patch submission process, that isn’t as heavy handed as Gerrit.

Goals

BugBox should be:

Dead simple to setup

Store all critical data in a GIT repo.

Provide an easy interface for patch submission and retrieval

Core

[#B] Support for GIT tree and blob objects.

Create classes to support tree and blob objects. This will allow the web interface to show the file tree for a given commit

[#C] Support for GIT annotation objects.

Create classed to support GIT annotations. The web interface doesn’t support annotations, better off using GIT’s internal annotation system and rendering it in the web interface

Distribution

[#A] Add dependencies to setup.py

Need to supply egg dependencies for Genshi and CherryPy

[#B] Add global cfg to install

Descoped. Configuration is supplied with `cherryd’

Global configuration should be installed with egg. To etc if the install is system wide, or ~.bugboxconfig if the install is at the user level

[#C] Add bugboxd script for web daemon

Git Hook

[#A] Add plugin architecture to BugBox system hooks

Bug System hooks should be external to BugBox’s core code. Provide some easy install entry points for Bug System Hooks

[#C] Create jira hook

[#C] Create bugzilla hook

Web Site

[#B] Home page needs a help section

[#A] Reference should be updated to require a label

BugBox was initially designed to not require a label when pushing a commit. The problem is that GIT stores references to a file, making it difficult to add addition labels in the future.

For example:

Pushing to jira/ABC-123 would result in the GIT file reference refs/heads/jira/ABC-123

If the user then pushes to jira/ABC-123/graphics GIT will return an error, since it assumes, given the path refs/heads/jira/ABC-123, that ABC-123 is a directory and not a file.

[#A] Support notion of TAIL in web interface.

If the a Ticket label has a TAIL, show the commit history, otherwise just show the latest commit

[#B] Add commit diff output

Show the diff for a given commit

[#B] Add download patch

Allow the user to download the patch for a Ticket label. If the label has a TAIL, then allow the option of downloading a zipped series of patches.

[#B] Add file Tree Output

Show tree and files for a given commit.

[#C] Support for Annotations.

Tools

[#C] Create repo2bugbox script to upload repo changes to a BugBox ticket

Authentication

Authentication is out of scope. User protocal authentication if necesarry. (HTTP, SSH)

If Authentication is ever supported it should be a plug-in authentication system. If possible the authentication requests could be handled by the Bug Systems. Support would have to be handled in the GIT and Web interfaces. YUCK!