user1144
user1144

Reputation:

SVN Versioning: How to have for each project its own revision scheme?

Just a small SVN "problem" here.

I setup my own SVN server Setting up Subversion on Windows

Now I made a rep in which all my projects will go.

Now, I checked the rep out in a folder called "Projects".

Now If I make a project and check it in, that project is revision 1. If I make a second project, and check it in, that Project is at revision 2. Thus, if I make a change to Project 1, that project will then be at Revision 3.

What I would really want is for each project to have its own revision scheme. How do I do this?

Upvotes: 4

Views: 1097

Answers (5)

Andrew Edgecombe
Andrew Edgecombe

Reputation: 40392

Can you describe why having a single subversion revision number across multiple projects is a problem for you?

There are some legitimate advantages to using a single repository for all of your projects. The biggest one being that you're probably better able to control changes between common code in multiple projects.

If you have a problem with the concept of a single incrementing subversion revision number across multiple projects now, have you considered the situation where you branch one of your projects? (remembering that a normal branch will also have a globally incrementing subversion revision number)

It sounds like you're trying to use the repository revision number as part of the build or release number? If that's the case perhaps you could consider implementing a different build numbering scheme for your project/s that can then be associated with the subversion revision number.

Such an association can be made by using a convention of creating branches with the release number and putting the subversion revision in the comment for the branch.

Some schemes were discussed in this question

Upvotes: 1

BIBD
BIBD

Reputation: 15414

They discuss it a little better here: http://www.nabble.com/Multiple-Repositories-in-a-Windows-Server-td15014106.html

Basically you can do:

svnserve -r /path/to/repository  

svn://hostname/  

or

svnserve -r /path/to/directory/containing/many/repositories  

svn://hostname/repositoryname/  

Alternately, you could go server'less and just host the individual repositories on a local or networked drive.

Upvotes: 0

Steve Paulo
Steve Paulo

Reputation: 18154

You need to create repositories inside your "Projects" folder, and when you do the initial checkout, checkout "???/projects/repo1"... this will keep the working copies separate on your machine, and you will check in/out completely separately of each other.

Upvotes: 0

Armin Ronacher
Armin Ronacher

Reputation: 32563

You have to create a separate repository for each project. This is in general a good idea anyways so no downside there :)

Upvotes: 1

Mark Biek
Mark Biek

Reputation: 150949

The only way is to have each project in a completely separate repository. Items within the same repository will always exhibit the behavior you mentioned in your question.

From Here

Unlike those of many other version control systems, Subversion's revision numbers apply to entire trees, not individual files. Each revision number selects an entire tree, a particular state of the repository after some committed change.

Upvotes: 15

Related Questions