All of lore.kernel.org
 help / color / mirror / 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

* 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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.