-->

Bug tracker setup with Git integration? [closed]

2019-01-21 08:30发布

问题:

I know I can do most of this by hacking Trac and using Git hooks, but I was wondering if someone has / knows of something ready.

Commenting on (and closing) tickets from commit messages would be nice, specially if the diff appears inline with the comment/closing remark.

sha1 hashes should be auto-linked to gitweb/cigt/custom git browser.

I tried the GitPlugin for Trac, but the code browser was soo slow... any alternatives?

回答1:

Redmine can do some of what you're asking for. Integration works in one direction, you must reference issues in commit messages, and then this data will be available in redmine.

The data is then available in two views. The bug display will include a list of matched commits. The repository display will link commits to bug display pages.

Redmine keeps a local (bare) repository for each project. This can be the primary repo or a remote mirror. On updates, redmine parses the commit messages and updates an internal cross reference table of change_set,issue.

If the redmine repository is only used as a mirror, it will need to be updated. Updates can happen via cron or via external hook. We use a redmine github plugin and a github post-receive hook to keep redmine in sync with a primary github repository.

It works, but it is still a bit clumsy.



回答2:

Mantis has a good Git integration, and it's exercised by the developers themselves, as the development is driven by Git.

This is how changesets attached to an issue will appear:

You can find more documentation at Integrating Git and SVN with the Mantis Bug Tracker.



回答3:

There's also GitZilla (I'm the author).



回答4:

Yeah, I have been looking for something similar! there is no documentation on redmine but the only feature that I am aware is that if you append a dash (#) and a issue number you get a link to that issue.

For example:

$ git commit -a -m '#45 makes earth rotate in reverse!'

would be on visible on the repository and the number will link to the issue #45!

I really want to make it so if a commit is liked to a specific issue the commit-message gets appended to the issue.

and yes, close, fixed and stuff like that would be great!

I've been browsing for such (git-hooks) or features in redmine for a while but not much luck! (their documentation sucks!)

somebody post some updates on this topic!



回答5:

trac has a git plugin - it works like the svn version...

http://trac-hacks.org/wiki/TracGitPlugin



回答6:

BugTracker.NET is a web-based bug tracking system that has git integration. The web pages for the git integration look pretty much like the ones for the subversion integration, documented here.

You can read more about the philosophy that guided BugTracker.NET/Git integration in this Stackoverflow question: How does bug tracker/version control integration work with typical git workflows?

See also this question: https://stackoverflow.com/questions/229303/are-there-any-good-issue-tracking-systems-that-can-track-git-commits-branches



回答7:

https://bitbucket.org - technically it's a DVCS service, but it has fully integrated issue tracking. And it's services are really free for small teams (and unlimited free service for .edu people too).



回答8:

Check out this link here. It provides a tutorial on how Git can be used to integrate with Rational Team Concert. It will give some basic information which can be used to integrate Git with a wide range of other products.



回答9:

for integration with Bugzilla, you can use git-bz:

http://git.fishsoup.net/man/git-bz.html

it's heavily used in the GNOME project.



回答10:

There is sdorra scm-manager tool, integrating Git and Jira

TrackStudio, since version 4, also has Git integration



回答11:

Assembla offers a free git repository that is private and an integrated bug tracking system - you can change ticket statuses or track time directly through your commit messages. They also offer custom server-side hooks - which allow you to write your own logic and then use it - anything from rejecting commits that do not match certain rules of yours, to starting a CI build after a commit is received.