开发者

Migrating from CVS to distributed version control (Mercurial)

Some background: We're working on projects that involve projects across 2 different countries, and we've been using CVS. Developers in the country not hosting the CVS server will take forever to connect to the remote server, so we've set up this system to have 2 separate CVS servers in each country and have a sync job that keeps them in sync every hour or so.

Given this, we're looking at migrating to a distributed version control system, mostly because we've been having problems with the sync job failing and the limitation that for a given set of files only one side can have the writelock for it at a time.

We're currently looking at Mercurial for this purpose, so can anyone help tell us if:

a. Will Mercurial be a good fit for our use case above? How easy will it be for devs to make the transition, i.e. will they still be able to work the same way? etc

b. Can Mercurial support branching a specific folder only?

c. We also hold a lot of binary docs in version control, will they be suitable for Mercurial?

d. Is there support for getting the "writelock" of particular files? i.e. I开发者_开发百科 want no other people to update these particular files while I'm working on them

Thanks!


a/ and d/: yes and no. Yes, a DVCS like Mercurial is a good fit for distributed development, but by nature, there is no more "writelock", since there is no one "central server" which would be notified each time you want to modify anything.
You will pull (or check incomings) regularly from the remote repo.

b/ no, this isn't how a DVCS works, since a branch is no longer a copy of a directory.

c/ binaries are best kept outside a DVCS (since it will be cloned around, and binaries would make its size grow too fast)
See "How is Mercurial/Git worse than Subversion with binary files?"

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜