[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Change version number and printout version number on all files?

From: Files <files_at_poetryunlimited.com>
Date: 2003-10-01 22:58:27 CEST

Kathy,

I think what you're going to find is that the version numbers that subversion
uses are not the reversion numbers you are used to using for development.

In regular development, you develop revision 1.1, 1.2, 1.3 and so on.

The version number in subversion is just an artifact. It represents the number
of versions that have been made in total, to the entire repository since it
was created. It represents the status of the entire tree at each level.

The version numbers *you* are looking for, and are used to, in subversion,
are nothing more than just another directory/branch.

Since every file can trace its lineage to the day it was created, no matter
how many different copies were made as long as they were made within the
repository, the actual *version* number of a file is only useful for temporal
ordering.

But for colleting like revisions, use a branch instead and I think you will
be extremely happy. Tags are the equivalent of released versions.

Subversion frees you from having to have different revision numbers associated
with a file. Subversion is a version control system. Not a revision control
system. I know I had a little trouble getting my head around it when I first
started, but I love it now.

The following diagram may help.

/trunk
/branches/0.9
/branches/1.0
/branches/1.1
/branches/1.2
/branches/1.3
/branches/1.4
/tags/1.0
/tags/1.2
/tags/1.4

At work, I use something different.

I use

/unstable
/stable
/unit
/system
/production
/tags/<date of release>

Where development takes place in /unstable. When things are ready to be released,
I do a:

svn rm /stable
svn commit
svn cp /unstable /stable
svn commit

When the stable is ready to be unit tested - it looks good.

I do the following

svn rm /unit
svn commit
svn cp /stable /unit
svn commit

When the next level is ready, I repeat it for system test.

svn rm /system
svn commit
svn cp /unit /system
svn commit

When the final level is ready, I repeat it one last time.

svn rm /production
svn commit
svn cp /system /production
svn commit

When the production release is made, I also do a
svn cp /productions /tags/<date of release>

In essence, I can go back to any step of any revision of the tree at any time.

And if I want to roll back the changes in /unstable, I can always grab a
copy of what's in /unit to do so.

And the beauty of all this is that, since the files past /stable do not
take up any real space, it is really nice to have the folders alone do
all the housekeeping of having to have 4 different environments.

At least for me at work.

Understand that this is a simplified version of what I really do.

As things progress from one level to the next, certain directories are removed
since they contain testing materials that do not belong in a production
environment.

In my system /stable and /unit are very similar and /system and /production
are very similar.

If you have to recover the last thing you did, you can always roll back to a
previous snapshot.

I hope this helps. I hope things are a little more clear.

If you have more specific questions or feel that I have not answered the correct
question, feel free to ask.

Thanks.

Shamim Islam
BA BS

P.S. Version number in all files as long as it's the SUVERSION 'version' number
can be implemented by keyword substition.

Kathy Moulton (kmoulton@chisystems.com) wrote:
>
>Does anyone know if there is a way to override the version numbers that
>subversion assigns each time a change is committed? For example each time I
>commit a change it will increment the number by one but I may want to
>increment it by .1. Is there a way to do this?
>
>Also does anyone know if there is a way to have subversion print the version
>number on any version controlled documents?
>
>Thanks
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
>For additional commands, e-mail: users-help@subversion.tigris.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Oct 1 22:59:17 2003

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.