Thursday, March 1, 2012

SourceRepo.com + Redmine = My DDE Source Control (for now)

After a lot of effort, I am giving SourceRepo.com and Redmine an extended audition for Domino Designer Source control.

Since watching Declan Lynch's Lotusphere presentation on Source Control I have installed and used both Mercurial and SVN inside DDE in various combinations with Codesion, Codebasehq, SourceRepo, BitBucket and finally back to SourceRepo.

In the end I decided I liked the look of Mercurial branching and the superior functionality of Redmine and I was only able to find that combination of services at SourceRepo.

The account is not free but it is not expensive either.  $6.95/month provides unlimited everything except for space which stops at 1GB but I think that will do me for a while.

The major hurdle for me to use SourceRepo was getting past SSH.  The other sites allowed Mercurial repository access via HTTPS which was a lot easier but they did not offer Redmine.


High level this is what I had to do...

(NOTE: It is very possible this process could be shortened so if anyone wants to comment please do.  By the time I got done testing all of the different sites/tools, these are the tools I had found and using them just worked for me.):


1. Set up Mercurial within DDE and committed source to a local repository



2. Installed TortoiseHg



3. Got PuttyGen to generate SSH Public/Private keys

http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe


4. Added the PuttyGen private key to the pageant (Putty Authentication Agent)


5. Got the account at SourceRepo, add a user and associate the Putty-generated private key with my user account and created a Mercurial project repository

http://sourcerepo.com


6. Edited the Mercurial.ini within the Notes directory (search for it, it is actually inside the workspace folder for Eclipse) to use the TortoisePlink.exe file for SSH






7. Used the SSH repository location generated by SourceRepo to create a new Mercurial Repository within Designer and init the repository


8. Finally, pushed local Mercurial repository up to remote Mercurial repository


As you work, you commit to your local and when you wish you push to the remote.

Once you performed the initial push to the remote repository, setting up Redmine is a click of a link.

A lot of work has gone into finding the right combination of price and functionality on top of me having to wade through some things and bone up on some technical items so hopefully this will be a long term solution.  We'll see and I will update if anything changes.

(Actually I fully expect someone to comment within about five minutes and tell me I could have done all of this with a single click and gotten a free account at RussDoesNotKnowThisSite.com but if it is better and publishing this helps others then it is all good in my book.)