Switching from Git to another SCM


I am too used to Git. I love branches. I have more branches in a single repository than people have on an average. I use reset and rebase more often than i can count. I commit almost every hour. I do squash and stash many times a day. And this is because when i write code i always want to push my code a step further. Sometimes there is a mess, sometimes there are beautiful codes. And, i don’t fear because i know i have Git in my collection of firearms.
But recently i was required to use bazaar to work on an open source project. And believe me it was hard at first – mentally as well as logically. May be because i am too used to Git. Or may be because i didn’t want to learn anything other than Git to manage my code. My hands were tied. I had to search for every little thing in not so good documentation. Even `bzr diff` and `bzr status` seemed to take forever. I wanted to create an experimental branch in the same directory and, wait,  you can’t do that in bazaar, at least not the comfortable Git way. For a few days, it was a very painful journey. So, one fine day i woke up and the first thing i did was i logged in into my Linux box and did this:
# cd ~/Workspace/my_project/
# git init
# echo “.bzr/” > .gitignore
# echo “.bzrignore” >> .gitignore
# cat .bzrignore >> .gitignore
# echo “.git/” >> .bzrignore
# echo “.gitignore” >> .bzrignore
# git add .
This created a .git directory in top-level tree, and now git and bzr don’t harm each other. I went on to do my work with Git, and committed with bzr whenever the work was complete. It was like placing two mortal enemies in the same room, and using them to your advantage, such that they are not aware of each other!
Now i can imagine why it has been so difficult for people to migrate from Perforce to Git in a (i-will-not-name) very well know company. It’s hard to unlearn the SCM tool you have used for many years to manage your code, because a SCM tool even influences, to some extent, the way you write and think of code.
I have been programming for just a little over three years, so my situation may be naive here. I don’t know if many people faces such situation when switching to different SCM. Anyone has ever faced a similar problem ?
Update: I am getting to know bazaar better lately, and i would say it’s not that bad :)

Comments