After making the decision to move our JIRA and Confluence development stack back in-house (after a year or so of using JIRA Studio), I also took the opportunity to pick up a few of Atlassian’s other products thanks to their disruptive $10 Start Deals.
One of these products, Fisheye, looks pretty impressive, however, I ran into a road-block when starting to use it on our existing Subversion repository: we had too many committers.
While the current Hiive Systems team consists of only 5 code committers – well under the 10 committer limit in the Starter version of Fisheye – the subversion branch has quite a lot of history. Our revision log is well over 100,000 commits, and includes a bunch of people who’d played a role in development in the past – interns, staff from our sister company, Internetrix, and some staff no longer with the company. This, combined with some laziness around usernames – I’ve been known by two usernames over time – and we were going well beyond our 10 unique committers. Unfortunately, and understandably, Fisheye doesn’t prompt to say “which users do you want to count/care about” – it just stops indexing once it gets to the 11th committer.
So, we needed a way to go back and group together committers. In some cases, it meant having my commits work off a standard username (how novel!). In others, it meant taking commits from interns and language translation staff and converting them over to a common “archive” user.
While the process was fairly easy on a revision by revision basis, with over 100K revisions, I needed a better approach. So I wrote this little Perl script. Hopefully it is useful for you too.