I have been struggling with Subversion for some time, thinking it was beginners problems that would go over. Though today I have been thinking through it, and realize that the problem is the way it is embedded with the client files, and that you work on the server db through these embedded files.
So I wonder if:
- Is it perhaps just as easy to work directly towards the repository, but that the commands are "more hidden" (not mentioned in popular books)?
- Are the any GUI clients that can work without these embedded files.(16Feb: Using Subversion in a way that would difficult or hard to figure out otherwise)
- Are there perhaps any relatives of Subversion that is "better" in this respect?
Before I used the VSS client GUI application, and it was much easier (though I do want to move on to something more modern). To take an example I have a Drupal installation where most of the files are third party files that I need to keep track of. To get started I needed to check everything in and then out. Most changes are new versions from the Drupal project. (I know there are scripts to handle third party code, but I still think it must be cumbersome, especially when this code is spread in several directories).
Another thing I often has done in the past is to have the same source files in several VSS databases. (16feb:Which would be difficult in Subversion because the embedded .svn directories refers to one directory)
*13 Feb * Seems some people don't quite understand, so: The main problem is if you do a lot of changes without using the svn commands, especially when you replace directories as when you replace 3d party code, since then you loose the .svn directories.
If you plan ahead you can use svn_load_dirs.pl as described in http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html Though what I want is to be able o do arbitrary things with my files, and then diff and commit towards the repository. I can't see how to do this with tortoise or svn commands.
16Feb: Another problem that I think many people are running into when they start with Subversion is if you don't want to do the "initial checkout" - say you want to do changes on a production site.