When using Subversion (svn) for source control with multiple projects I\'ve noticed that the revision number increases across all of my projects\' directories. To illustrat
I'm not sure the SVN docs actually recommend one project per repository. Mostly they talk about the upsides and downsides of each path. I happen to use three different repositories, one for 7 or 8 projects that are all related, making it very nice to be able to send out compatible copies of all the projects just by building from one revision (or verifying they're compatible by looking at the revision numbers on each). The second repository has another group of related projects and documents, while the third is a much smaller one. That lets us take advantage of the fact that the related projects can be managed by a single revision number, but that unrelated projects don't affect their repository.
I store one project per repository, and like a previous commenter on this subversion question, I mark shared projects as external, so that they are only in source control once.
I'm just starting to add a CI build server (CruiseControl.NET), so I'll have to see how that all works out, but if my build scripts are right it should not be a problem.
Other than appearance though, it is really a matter of preference (in my opinion).
I think it is highly recommended that you create separate repositories for each project. If for nothing else than to avoid the scenario you are talking about.
With version control, especially Subversion, you can easily check out pieces of a repository into another working copy and then commit them back to their respective repositories. That allows you to keep them clearly separate and distinct while giving you a great deal of flexibility. Once you get into SVN a little more (I'm assuming you are new.) you can start using hooks and I might see where that could get difficult with you setup. If permission are important to you, a single repository might prove more difficult than necessary.
Also, if you are concerned that it will take a lot of time to setup each repository look into the SVNParentPath variable for the Apache configuration file. (Again, I'm assuming you are using Apache.)
When you really think about, the revision numbers in a multiple project repository are going to get high, but you are not going to run out. Keep in mind that you can view a history on a sub directory and quickly see all the revision numbers that pertain to a project.
Actually if your building Microsoft code, and you use the svn revision numbers as a part of your version string then you could run out. Microsoft compiler will throw an error if any part of the version string is greater than 65535.... In our case we have a massive repository at revision 68876 and we just hit this wall.
We just have one repository with everything in it, pretty much exactly like your example.
I can't see anything wrong with this - the only requirement for the revision number is that it is
It doesn't matter if it increases by 1 or 50 with each commit as far as I'm concerned.
@grom:
Then whenever I start a new project I just run:
svnadmin create /var/www/svn/myproject
I can see this working fine if you've only got 1 or 2 devs, but what happens if the people who are creating new projects don't have shell access on the SVN server to be able to create directories under /var/www ?
If having the revision numbers change based on other projects bothers you, then put the projects in separate repositories. That is the only way to make the revision numbers independent.
To me, the big reason to use different repositories is to provide separate access control for users and/or using different hook scripts.