git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC] git integrated bugtracking

From
Martin Langhoff <martin.langhoff@gmail.com>
Date
Jun 10, 2007, 08:38 UTC
Message-ID
<46a038f90706100138g46d872f7o463418631585bf13@mail.gmail.com>
In-Reply-To
<7v4plgb6t6.fsf@assigned-by-dhcp.cox.net>
On 6/10/07, Junio C Hamano <gitster@pobox.com> wrote:
Show 11 quoted lines
> > Adding git & gitweb support to traq, bugzilla, mantis, gforge, etc is
> > what is going to make the difference. Most of those have already the
> > ability to "link" to one or more commits -- after the commits are done
> > and in GIT.
>
> You are a brave person to say this (no sarcasm --- I wish I
> were, too).
>
> On one hand, I very much applaud and appreciate your comment for
> injecting sanity to the discussion.  On the other hand, if Linus
> had such an attitude, we might not be hacking on git right now.

Thanks for the reply - sorry for being a bit of a stirrer ;-) Yes, I do appreciate the irony and I'd have never started git. If anyone really wants to do their own bugtracker... be like Linus not like me (a mere follower) ;-)

> After looking at the above existing alternatives, some brave
> soul might decide and say, "Hey, I can write something better in
> 2 weeks" ;-).

Definitely. But that takes a deeper look into the above alternatives, and probably a good perspective. I hope noone takes offence if I say that -- as a user of several bugtrackers over ~10 years -- I haven't yet read anything in this thread that is exciting.

And "it's closely integrated with git" can actually be a misfeature. Cool if it's what gets you going, but not enough for world domination ;-)

Show 5 quoted lines
> All of your examples are going from a single bug to commits, but
> from a release person's point of view, you are never interested
> in a single bug, just like a top-level maintainer is never
> interested in a single file.  A release person would want to go
> in the reverse direction: from a commit range to a set of bugs.

That's right. It's not that hard to correlate commits-in-the-changelog and ask the bugtracker to produce a "tracker changelog" showing all the bugs/tasks that link to the commits (with that liberal view of "links to" discussed before). Formatting of the tracker changelog _is_ tricky but that's due to the ambiguities in those relationships.

(In Moodle I use JIRA, a non-FOSS tracker, and it does exactly that. I think it has some notion of CVS branches, and where tags sit, so you can ask for a report of which bugs are fixed in the release you are preparing on branch X).

Show 6 quoted lines
> What bugs were fixed and what regressions were introduced during
> this release cycle.  While embedded ticket numbers in commit log
> messages would certainly help, a change made to fix a particular
> bug may fix another as its side effect, and the develeoper who
> did the change may not know about the latter when the commit log
> message is written.

I agree it's useful, but I don't think it has any benefit having it in the SCM _at all_. Having them in the BT is a lot more flexible -- and the fact that git has stable commit IDs makes it easier to integrate in a BT; as the BT can spot that the commit fixing bug 123 is now merged into head ZZ as well as head YYY.

So the BT holds "external tags" to your commits. Lots of them. With a ton of data. And that's great -- in fact there's no stopping it -- the stability of SHA1s means that the whole internet holds tags to your repo. Every time a SHA1 (or output of git-describe) is mentioned in a mailing list, wiki or forum, there's a tag.

Now, to rule the world, BTs gain a lot more from being able to integrate with different SCMs, automated test systems (like tinderbox), MTAs (debbugs), wikis (traq), stats tracking for PHBs (bugzilla), etc. So loose coupling wins here, and git's SHA1s are great for that.

And at git's end we can get the smooth integration using/abusing that loose coupling strategy. So if git-log/gitk/qgit grow some hooks that can be used to perform a lookup... I can think of a perl script that gets events for each SHA1 that git-rev-list produces and returns one bug number, url and title (or more than one) that then git-log / gitk / qgit / annotate can use to further "decorate" the commit info in a similar style to what gitk is doing now with head names in each commit.

Would that fit your vision of a nicely integrated tracker?
martin (who's now thinking how to craft a proof of concept)
Previous: Junio C HamanoNext: Pierre Habouzit
Message 31 of 46 in “[RFC] git integrated bugtracking”
  1. Pierre HabouzitJun 3, 2007
  2. Yann DirsonJun 3, 2007
  3. Pierre HabouzitJun 3, 2007
  4. Michael PooleJun 3, 2007
  5. Pierre HabouzitJun 3, 2007
  6. Johan HerlandJun 3, 2007
  7. Pierre HabouzitJun 3, 2007
  8. Matthieu MoyJun 3, 2007
  9. Pierre HabouzitJun 3, 2007
  10. david@lang.hmJun 3, 2007
  11. Pierre HabouzitJun 3, 2007
  12. david@lang.hmJun 3, 2007
  13. Yann DirsonJun 3, 2007
  14. Yann DirsonJun 3, 2007
  15. Yann DirsonJun 3, 2007
  16. Pierre HabouzitJun 3, 2007
  17. Yann DirsonJun 4, 2007
  18. Pierre HabouzitJun 4, 2007
  19. Linus TorvaldsJun 3, 2007
  20. Pierre HabouzitJun 3, 2007
  21. Martin WaitzJun 3, 2007
  22. Rogan DawesJun 4, 2007
  23. Yann DirsonJun 3, 2007
  24. Pierre HabouzitJun 3, 2007
  25. Pierre HabouzitJun 9, 2007
  26. Jakub NarebskiJun 9, 2007
  27. Daniel BarkalowJun 10, 2007
  28. Johannes SchindelinJun 10, 2007
  29. Martin LanghoffJun 10, 2007
  30. Junio C HamanoJun 10, 2007
  31. Martin LanghoffJun 10, 2007
  32. Pierre HabouzitJun 10, 2007
  33. Martin LanghoffJun 10, 2007
  34. Pierre HabouzitJun 11, 2007
  35. Martin LanghoffJun 11, 2007
  36. Jan HudecJun 10, 2007
  37. Jon LoeligerJun 11, 2007
  38. Guilhem BonnefilleJun 12, 2007
  39. Jan HudecJun 10, 2007
  40. Martin LanghoffJun 10, 2007
  41. Jan HudecJun 10, 2007
  42. Matthieu MoyJun 10, 2007
  43. Pierre HabouzitJun 10, 2007
  44. Pierre HabouzitJun 10, 2007
  45. Pierre HabouzitJun 10, 2007
  46. Rogan DawesJun 4, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.