[oi-dev] Git as a version control system for new OI projects

Andrzej Szeszo aszeszo at gmail.com
Thu Jun 23 00:05:09 UTC 2011


Hi All

Latest upstream ips/pkg5 tools need more and more changes to make them 
work with OI and illumos. I have asked the version control system 
question because I wanted to create a repository for pkg5 with the changes.

I wanted to avoid mercurial + mq patch queue solution and started 
experimenting with git as I've heard good things about its rebase feature.

With some help from hg-git I was able to prepare git repository with 
untouched branch which is tracking upstream pkg-gate + branches with 
local modifications. I was then able to pull in upstream changes and 
rebase customized branches without too much effort.

Nice rebase functionality, cheap non-permanent branches, ability to use 
hg frontend with hg-git extension and also availability of very good 
'Successful Git branching model' document [1] makes Git worth 
considering on the backend in my opinion.

Also, I think model descibed at [1] is worth adopting in terms on how to 
organize the repository/branches. It would save us time on re-inveting 
repository layout and documenting it for starters. Also, apparently it 
proved to be successful for many people. People at Joyent use this model 
- they can't be wrong ;) [2]

By the way - I quite like mercurial. If someone can demonstrate how to 
do rebase but using mercurial I'd be willing to try it out. Thanks in 
advance!

In the mean time I would like go ahead and create test pkg5 git 
repository on one of OI infrastructure machines if there are not (too 
m)any objections? I'll configure it so only members of specific group 
can push changes to it.

Cheers,

Andrzej

1. http://nvie.com/posts/a-successful-git-branching-model/
2. https://github.com/joyent/illumos-joyent/blob/master/README.joyent




More information about the oi-dev mailing list