You may know that the AccuRev source code is kept on two AccuRev servers, plus replicas. But when our Kando project started, we wanted to keep the source code on Kando servers, which weren’t ready yet. So we started with a central Git repository accessible by ssh. We gained experience using Git’s command line, third party GUIs, a branching model, and plug-ins such as Eclipse’s Egit. The biggest surprise I found? The hassle of managing multiple ssh keys- whenever a new person started working on the project, he or she would edit the Git server’s authorized_keys file, and, as often as not, mangle the file so that other users could not access the repository.
After six months we decided to self host with Kando. While setting up the installation, we discovered a missing essential feature – the capability to map just a subdirectory of an AccuRev stream. The initial self host was delayed by a few days while that mount-point feature was implemented. Ever since then, the code has been accessible through both our in-house AccuRev servers, and our in-house Kando server. On the same stream, some developers have used AccuRev while others used Git, and the nightly builds used AccuRev to fetch the code.
As each of the Kando features was implemented (change package integration, an administrative GUI, access control lists, and other security features) the team got to use Kando a self hosted Kando. This approach gave us confidence that Kando was ready for the field; we found bugs and gaps in the feature set, some which could have slipped by traditional testing. (All were resolved.) And while there were a few problems during the self host, no source code was ever lost.
Our installation was a medium sized Kando installation, with 1,600 source code files and 1,400 commits over 12 months. Self hosting Kando has been more helpful in identifying problems and understanding how our customers will use it than we imagined. From a missing essential feature, to bugs and gaps, we were able to fix and adjust the product in ways that will directly benefit end usage. Our plan from here is to continue using our self host with all the Kando features, and to get the earliest feedback from in-house users.























