I would take a look at Fossil. It is the system the developers of sqlite use, internally, apparently. It also uses sqlite, which is a good solid technology... that is nice and portable - as well as simple and reliable.
It has a good, if austere user-interface (which i think behooves the nature of a productivity-oriented goal such as you describe). ((Be sure to check out the "grey" theme. It is way less "router-admin" than the default "theme", if you could call it that.)) I was drawn to it because of its roots as a CGI based system, cause I'm a sucker for CGI. The results of that heritage are actually very interesting, as this system has a very unique, JSON-ONLY mode which has all sorts of interesting implementation-possibilities..
They mention it - but it's worth repeating that it has 0 dependencies. No php, no mySQL, no python. Nada. It's its own binary executable - and it works on many platforms. I wish more projects "thought" the same way.
I am not affiliated with them, so will simply quote their opening page extolations, which generally, I agree with.. also take a look at questions & criticisms..
Bug Tracking And Wiki - In addition to doing distributed version control like Git and Mercurial, Fossil also supports distributed bug tracking, distributed wiki, and a distributed blog mechanism all in a single integrated package.
Web Interface - Fossil has a built-in and easy-to-use web interface that simplifies project tracking and promotes situational awareness. Simply type "fossil ui" from within any check-out and Fossil automatically opens your web browser in a page that gives detailed graphical history and status information on that project.
Autosync - Fossil supports "autosync" mode which helps to keep projects moving forward by reducing the amount of needless forking and merging often associated with distributed projects.
Self-Contained - Fossil is a single stand-alone executable that contains everything needed to do configuration management. Installation is trivial: simply download a precompiled binary for Linux, Mac, or Windows and put it on your $PATH. Easy-to-compile source code is available for users on other platforms. Fossil sources are also mostly self-contained, requiring only the "zlib" library and the standard C library to build.
Simple Networking - Fossil uses plain old HTTP (with proxy support) for all network communications, meaning that it works fine from behind restrictive firewalls. The protocol is bandwidth efficient to the point that Fossil can be used comfortably over a dial-up internet connection.
CGI Enabled - No server is required to use fossil. But a server does make collaboration easier. Fossil supports three different yet simple server configurations. The most popular is a 2-line CGI script. This is the approach used by the self-hosting fossil repositories.
Robust & Reliable - Fossil stores content using an enduring file format in an SQLite database so that transactions are atomic even if interrupted by a power loss or system crash. Furthermore, automatic self-checks verify that all aspects of the repository are consistent prior to each commit. In over three years of operation, no work has ever been lost after having been committed to a Fossil repository.
Update: Instead of alluding to the interface, here's a quick shot of it… As you can see, it's definitely simple.. But that also means a clean slate for customization.. Just a single stylesheet and a header/footer/body-type templating system. Better to write a short story than rewrite someone else's book, IMO.