See also: InterfacesFrontendsAndTools
Other programs that *should* be taught to work with Git, but haven't been
#Bugzilla Bugzilla, #Bonsai Bonsai, #Trac Trac, #TWiki TWiki, #scmbug SCMBug, #be BugsEverywhere, #Savane Savane, #GForge GForge, #DVC DVC (Emacs), #Eclipse Eclipse, #PIDA PIDA, #Eric3 Eric3, #Meld Meld, #xxdiff xxdiff
Bugzilla (bugtracker)<<Anchor(Bugzilla)>><<Anchor(Bonsai)>>:: !
Bugzilla is a "Defect Tracking System" or "Bug-Tracking System". Kernel Bug Tracker for posting bugs against the mainline Linux kernels is based on Bugzilla.
Patch Viewer is (built in?) an enhancement to Bugzilla designed to provide adequate context for submitted patches through integration with Bonsai, LXR and CVS. CVSZilla is a small piece of Perl-glue to integrate either CVS or Subversion with Bugzilla and CVSWeb or ViewCVS. See also: #scmbug SCMBug entry below.
It would be nice to have also Git integration, for example referencing commits and tags, perhaps via making (additionally) Bonsai report against Git. (Perl)
Trac (bugtracker/wiki/history browser)<<Anchor(Trac)>><<Anchor(GitTrac)>>::
Trac is a popular integrated history browser/wiki/bug tracker, which has very recently grown a plugin interface that lets it work with VCS-es besides Subversion. The right place to start is probably the TracMercurial plugin, since Mercurial uses the same history model as Git. There is also GIT Trac project to add Git suport for CVSTrac, similar to Trac but simpler project (inspiration for Trac). (Python for Trac, C for CVSTrac).
TWiki is a flexible, powerful, and easy to use enterprise collaboration platform and knowledge management system. It includes plugins for integration with bug-tracking software: Bugzilla and GNATS. Plugins are developed under CVS and Subversion; moving to Subversion is encouraged. No support for plugin development under Git. (Perl CGI)
SCMBug (SCM with bugtracking integration)<<Anchor(scmbug)>>::
Scmbug is a system that integrates software configuration management (SCM) with bug-tracking. It aims to be a universal tool that will glue any source code version control system (supports CVS and Subversion, no Git support yet) with any bug-tracking system (supports Bugzilla, Mantis and Request Tracker). It is in early version. (Perl)
Bugs Everywhere (bugtracker)<<Anchor(be)>>::
Bugs Everywhere is a bug-tracker for distributed developement. It stores bugreports inside the repository, so the status of bugs are propagated with push/pull/merges, and no glue is needed between the SCM and the Bug Tracker. No Git support yet. (Python)
Savane and GForge (software hosting system)<<Anchor(Savane)>><<Anchor(GForge)>>::
Savane and GForge are web-based software hosting system. Both Savannah (GNU and non-GNU) and Gna! use Savane as their software hosting engine. They currently include issue tracking, project member management by roles and individual account maintenance. The issue tracking handles bugs, tasks, support, news and documentation management. Both currently support CVS and Subversion; moving to Subversion is encouraged. Savane additionally supports GNU Arch. No Git support yet. (Perl or PHP)
DVC (Distributed Version Control) (Emacs interface)<<Anchor(DVC)>>::
DVC is a project to create a generic library for fancy Emacs interfaces to modern version control systems. Has support for several systems, but not Git -- yet. (Emacs, elisp)
Eclipse -- a well known, extremely pluggable IDE. Might be useful to look at the Darcs plugin or other existing VCS plugins. Currently one can work with Eclipse using CVS plugin and `git-cvsserver`. One wonders if one can use `git-svn` and Subclipse (Subversion plugin) instead... in development, unreleased. (Java)
PIDA Integrated development environment supporting CVS, Subversion, Darcs, Mercurial, Monotone, Bazaar-NG (bzr), GNU Arch. It allows embedding Vim or any editor. (Python, GTK)
Eric3 is a full featured Python (and Ruby) IDE that is written in PyQt using the QScintilla editor widget. It supports CVS, Subversion and Mercurial. (Python, Qt)
Meld (merge tool)<<Anchor(Meld)>><<Anchor(xxdiff)>><<Anchor(KDiff3)>>Anchor(Kompare)>>::
Meld is a general diff, merge, and history browsing tool written in Python for GNOME. Has CVS, Subversion, Bazaar-NG and Monotone support. Perhaps xxdiff (Qt; has CVS and Subversion integration with scripts), KDiff3 and/or Kompare (Kompare is diff only) should also have some VCS support... (Python, GNOME)