git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Neal Kreitzinger <nkreitzinger@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Thomas Rast <trast@inf.ethz.ch>,
	Andrew Ardill <andrew.ardill@gmail.com>,
	Jonathan Nieder <jrnieder@gmail.com>,
	opticyclic <opticyclic@gmail.com>,
	git@vger.kernel.org
Subject: Re: Why Is There No Bug Tracker And Why Are Patches Sent Instead Of Pull Requests
Date: Thu, 01 Mar 2012 22:03:37 -0600	[thread overview]
Message-ID: <4F504699.3070406@gmail.com> (raw)
In-Reply-To: <7vmx80nt68.fsf@alter.siamese.dyndns.org>

On 3/1/2012 11:10 AM, Junio C Hamano wrote:
>
> Something based on the idea mentioned in Ævar's message (downstream in
> this thread) to seamlessly integrate with the e-mail traffic might have a
> chance to succeed.  I also think the integration must be two-way for it to
> be useful.  A summary of "new issues untouched for N weeks" and another
> "older issues unclosed for N weeks" periodically sent here, or something.
>
> Perhaps collecting messages based on a handful of simple heuristics like
> "A message mentioned the keyword 'bug', but no In-Reply-To for it from any
> list regulars came in two weeks" might be a good place to start.
>
Why don't you just use git for your bug-tracking?  With commit-messages, 
annotated-tags, signed-tags, branches, branch-descriptions, git-notes, 
submodules, sha-1's, send-email, patches, hooks, etc., not to mention 
all-kinds-of-files you can commit (screen-shots, bug-reports, etc.) it 
seems you have more than enough pieces to build a bug-tracker with git. 
  For example:

Some Ideas:

(Setup)
   - The bug tracker repo could be a one-way mirror of git.git.  That 
way the bug-reports are literally tied to the source but don't clutter 
git.git.
   - Create a bug tracking branch parallel to each release branch.
   - Create a bug-branch off-of the buggy-commit and do the fix and make 
the bug-tracking-admin updates around the bug branch.

(Submitting Bugs)
   - Post-receive hook to assess new commits and send formatted email to 
mailing list, ie. new-bug push sends bug email to mailing list.
   - The mailing list creates "bug-report-commits" kind-of-like Junio 
mentioned above so the mailing list also feeding into it.
   - Bugs can be submitted directly to the bug repo and replicated to 
the mailing list via post-receive hook, and bugs can be submitted via 
the mailing list and automatically "forwarded" to the bug repo as "bug 
report" refs.
   - Screenshots could be a submodule for "large file" optimization.

(Issue-Numbers)
   - The sha-1 of the originating bug-report could be its issue-id.
   - Tag the commit with a "bug tag".  The sha-1 of the bug-tag could be 
the issue-id.
   - Calculate issue number from commit-counting to assign unique numbers.
   - The sha-1 of the buggy-commit could be the issue-id.

(Status Updates)
   - Use git-notes to update issue status.
   - Use annotated-tags to update issue status.
   - Use commit-messages to update issue status (or a file in the commit).

(Reporting)
   - Interrogate bug-formatted refnames with wildcards to generate 
queries of whats going on.
   - Use gitk for ad hoc or pre-defined gui queries of what-you-want-to-see.
   - Use git time-machine commands to see how old stuff is or whats new.
   - have a bug-report-id.txt file that people just modify and commit 
and use git-annotate to see the history of that bug-report.

(Signoff)
   - Signed tags for authenticity.

(Standardization)
   - Git-commands or git-aliases or git-contrib-scripts to make sure 
people do-it-right (format names/messages/files correctly), ie. templates.
   - Commit hook snippet that detects bug branch format and brings up 
bug commit template.
   - Rebase hook snippet that doesn't allow bug branches to be rebased.

(Integration)
   - The bug tracking system becomes part of the release workflow, ie., 
bugs are only considered fixed when they graduate to an official release 
or something close.
   - The "bug" tracking system also tracks "enhancements" and they are 
integrated into new releases using that workflow.

(Concurrency control)
   - Concurrent bug-report updates merge-conflict.
   - If someone beat-you-to-it then you cherry-pick or rebase on top of 
them.

(Interfaces)
   - works from commandline
   - works with gitk, git-gui
   - works with gitweb

(Quality)
   - Do you really need the greatest commercial-bug-tracker "x" or 
opensource-bug-tracker "y" to meet your needs?  If you've done well with 
nothing then you probably don't need all the bells an whistles. 
Management-by-report is mainly for clueless managers who want to feel 
like they know whats going on, and to supervise people who 
don't-really-care.  Since git people are on-the-ground and know whats 
going on, and are highly motivated individuals you probably don't really 
need all that fluff.  I suspect you would already be using 
opensource-bug-tracker "y" if there was one you actually liked using.
   - There's probably someone on this list who thinks they can create a 
bug-tracker with git that's better-than-anything-else-out-there, and 
they're probably right.

(Intuitive)
   - If you know how to use git then you know how to use git bug-tracker.
   - If you don't know how to use git then you probably shouldn't be 
submitting bug reports.

(Open Source Reusability)
   - The git bug repo system can then be used by others internally as 
they apply that system to their own project's canonical repository to 
track their bugs internally.

Some-Stuff-You-Already-Know:

(Distributed)
   - clone, push, pull -- your using git.

(Reliability)
   - you're using git so you know its uncorrupted, and if it does go 
down just clone from someone else and verify the checksum.

(Support)
   - git@vger.kernel.org
   - If git.git is down there is not much point in bug-tracking it.

I've been wanting to do this internally for a whle, but I'm still 
learning the git scm part.  Some of the git technologies I listed above 
I haven't used yet so they may sound a bit off, but I think you can get 
the gist of it.

I think git people in general would be enthusiastic about this, and if 
so, that would be the one thing that truly distinguishes this proposal 
from the others ;-)  You could call the repo or system bug-git, 
git-err-done, or something like that.

v/r,
neal

  reply	other threads:[~2012-03-02  4:03 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-29 17:19 Why Is There No Bug Tracker And Why Are Patches Sent Instead Of Pull Requests opticyclic
2012-02-29 18:23 ` Brian Gernhardt
2012-02-29 18:53 ` Junio C Hamano
2012-02-29 22:53   ` Jonathan Nieder
2012-02-29 23:58     ` Andrew Ardill
2012-03-01  0:37       ` Greg Troxel
2012-03-01  0:45         ` Andrew Ardill
2012-03-01  0:50           ` Junio C Hamano
2012-03-01  1:05             ` Andrew Ardill
2012-03-01  1:05           ` Junio C Hamano
2012-03-01  1:20             ` Andrew Ardill
2012-03-01  5:16           ` Miles Bader
2012-03-01  5:40             ` Andrew Ardill
2012-03-01 16:52         ` Scott Chacon
2012-03-01 20:23           ` Junio C Hamano
2012-03-01 11:29       ` Thomas Rast
2012-03-01 11:54         ` Ævar Arnfjörð Bjarmason
2012-03-01 12:46           ` Andrew Ardill
2012-03-01 12:28         ` Andrew Ardill
2012-03-01 17:10         ` Junio C Hamano
2012-03-02  4:03           ` Neal Kreitzinger [this message]
2012-03-02  4:19             ` Jonathan Nieder
2012-03-02  4:21               ` Junio C Hamano
2012-03-02  5:50               ` Neal Kreitzinger
2012-03-02  6:25                 ` Jonathan Nieder
2012-03-02  7:03                 ` Junio C Hamano
2012-03-02 14:18                   ` Andreas Ericsson
2012-03-02 16:45                     ` Junio C Hamano
2012-03-07  8:03                       ` Andrew Ardill
2012-03-07  9:52                         ` Vincent van Ravesteijn
2012-03-07 13:04                   ` Joern Huxhorn
2012-03-07 13:53                     ` Jonathan Nieder
2012-03-07 14:47                       ` Joern Huxhorn
2012-03-07 15:08                     ` Pau Garcia i Quiles
2012-03-07 17:18                   ` Phil Hord
2012-02-29 19:18 ` Carlos Martín Nieto
2012-02-29 21:37 ` Sitaram Chamarty

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F504699.3070406@gmail.com \
    --to=nkreitzinger@gmail.com \
    --cc=andrew.ardill@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=opticyclic@gmail.com \
    --cc=trast@inf.ethz.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).