Monday, February 5, 2007

And darcs it is

At work we use cvs. There is a lot of traveling involved and there is no access to the central repository from outside the company. I never had to develop anything while I was abroad and didn't have the immediate need to search how I would keep in sync with the main repository while I was abroad. Well this time has arrived and I searched for possible solutions to the above problems. After digging and messing around; bazaar, mercurial and darcs seemed like the most appropriate solutions. My final choice was darcs after all, as it seems to be the best documented. Switching to a decentralized versioning system after years of working with centralized ones is a big change. The challenge becomes greater if you have to use both the repositories in parallel. Here is what I did:
  • Checked out a fresh copy of my project from cvs. I did not touch anything on it, not build it nothing. It just serves as an intermediate between the darcs repository and the cvs repository. This folder is created in a pc that has access to the cvs repository (like duh!). A colleague of mine has access to this pc (well it's his own :-)). Let's call this folder "hybrid".
  • Using this config file with tailor (tailor --configfile=tailor.config cvs-to-darcs), I switch the cvs working copy to a darcs repository.
  • Now I create a directory named master and pull the changes from the hybrid directory. The master directory is then packed and given to the developer that will not have access to the cvs repository (yeap that would be me).
  • On the pc that does not have access to the cvs repository the archive containing the master repo as described above is unarchived and a working copy is generated with darcs put.
  • Changes happen in the working repository. When everything is finished, the changes are pushed to the master repository and the whole repository is sent back to the pc that has access to the cvs server. The new master repository replaces the old one and:
cvs update -A tailor --configfile=tailor.config darcs-to-cvs tailor --configfile=tailor.config cvs-to-darcs cd ../master darcs pull ../hybrid
  • The new master repo is then sent back to the remote developer.
This for now has worked just fine. All the above were based on this ticket from the tailor trac.

Just like Kathy said

I just got my own Moleskine and started applying all these GTD stuff. If this doesn't help either then it's official, I 'll never be organized in my whole life. (Maybe I should start saving up for a secretary) My own version has:
  • Next actions
  • Maybe Someday
  • Projects
  • Notes
It is really hard to guess how much space I 'd need for each, so I just took a wild guess. I 'm thinking that as I go on using it I 'll be able to have an estimation on how much space each section will occupy. For now the Next Actions one is reeealy hungry. Since it's still winter, my jacket pocket suits me fine for carrying it around. When the summer comes (and it arrives early here in the Mediterranean) how on Earth am I going to carry it?
* So this is what this entry is all about...