Re: [RFC] git integrated bugtracking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Pierre Habouzit wrote:

  For that part, as the "right" way to deal with bugs is IMHO through
mail, my heart balance between a ${bug_sha1}.mbox or a ${bug_sha1}/
maildir. The former avoids to bloat the files, the latter avoids
painless merges (chance to have a conflict in the comments is near zero
through maildirs) but would see 3 directories (cur new tmp) be spoiled.

One downside of using maildir (which I agree has several desirable properties), is that the filenames include characters that are illegal on various platforms (specifically ":" in Windows). This is quite unfortunate.

  In addition to that a ${bug_sha1}.status (or alike) flat file would be
needed to store metadata about the bug (who it is assigned to, which
module/category it's in, ...).

  Note that mails are mostly textual, flat, and allow attachments,
signature, whatever... and are IMHO very well suited for a bugtracking
use.

I think it would be very neat to be able to use the built-in mechanisms in mail clients for threading, etc, and handling attachments, sorting and filtering. Tracking things like who a bug is assigned to wouldn't work too well, but I imagine that many kernel developers have fine tuned their email clients to such a degree that it wouldn't be impossible :-)

I'm not familiar with how messages move around in {cur,new,tmp}, but I suspect that if we simply make a convention that all mails are created as "read", then we won't have clashes between developers holding some bugs as unread, etc while others have already read them.

Closed bugs would be deleted from the filesystem, but would obviously be available via the history.

  IMHO we should keep the .status file for closed bugs, and use the
history to lookup for the content of the mail{box,dir} if needed.

Maybe.

  Merging is also easy, it's just a matter of merging the "mails".

Yes.

  Cloning bugs is just a matter of copying a report.

  etc… every usual BTS operation is mapped trivially on FS/git
operations. And that's not really surprising, as bugs are contents, and
git actually tracks contents right :)

Indexes or categories could be implemented by means of symlinks/symrefs in a different set of "index directories". e.g.

/categories/drivers/deadbeef -> ../../bugs/de/adbeef
/assignedto/joe@xxxxxxxxxxx/deadbeef -> ../../bugs/de/adbeef

or similar. These might not be strictly necessary, since all that information will be in the report anyway. Perhaps the indexes would be stored simply as cached data, and rebuilt if out of date.

  IMHO that should be in a cache, all valuable information would be in
the *.status files anyway, it's just a way to index them. FWIW I think
this should be dealt with in a higher level tool. What is needed first
for the developer is a way to deal with a bug he knows is here. Dealing
with large collection of bugs must be built on top of that, and is easy
to keep up to date through proper hooks.

Yes, hooks might be the right approach for this.

IMHO the sole features it should provide and design specifically are: * the efficient linking with the rest of the repository (through
    annotations, decorations, or whichever implementation) ;
  * the storage backend, in a supple enough way to allow usual
    operations (threading, answers, attachments, use through mail or
    {web,G}ui, ...)
  * versioning of the BTS datas.
The rest can just be built on top of that.

Agreed.

Rogan
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux