I am f...fed up with Subversion. Need a version control that:
- 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).
- 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.)
- 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:
- 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.
- 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.
- 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.