开发者

Better Version Control (Distributed) - Minimum impact on sources - always possible to update

I am f...fed up with Subversion. Need a version control that:

  1. Can be used without affecting the sources with embedded files (like the Subversion .svn-directories), or having to check in and then check out (If you want to version control live web-site files for example).
  2. It should always be possible to bring the repository quickly up to date whatever I have done (Without resolving conflicts or adding files first etc.)
  3. Ideally it should be possible to merge 开发者_运维问答repositories starting out as separate.

I thing it should be a distributed one, I think GIT is the Lingua Franca, but there is also Mercurial and Bazaar, which should have some advantages since they exist :-)


+1 Apart from the 3 points the main criteria is what is best for a software developer to know and use:-)


+2 An example regarding poin 2.: In Drupal I might move directory-structures around, delete some structures, add some 3d party. Ideally the repository should store exactly what has happened, but sometimes I just want to have a snapshot of the actual structure in the repository without spending time on it. (In an ideal SCM-system you would be able to fill in the details later).


I just answer for bazaar:

  1. One .bzr-directory in the root, just like git. Additionally there's a optional .bzrignore-file at the root which contains the list of ignored directories/files.
  2. Well when you update/pull there are potentially some conflicts. Howere you can shelve your changes if you want before a update/pull. This will basically shelve up all your changes. Then you update/pull and you have your working directory in latest version.
  3. Yes, you can do that. There's a special 'join'-command. This command will integrate the another branch and will keep the full history of both.

I think in the end all three, Git, Mercurial and Bazaar, will do the job. These three version control systems a very similar.


Just talking about git:

  1. one .git directory in the root.
  2. git stash, git pull, git stash pop (if this is what you want)
  3. How do you merge two Git repositories?


Mercurial does all 3 points. It does have a .hg directory in the root directory though.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜