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

Re: early reflections on subversion methodology

From: Scott Palmer <scott.palmer_at_2connected.org>
Date: 2005-08-02 14:46:16 CEST

On 2-Aug-05, at 5:55 AM, Thomas Beale wrote:

> Scott Palmer wrote:
>
>> On 1-Aug-05, at 5:41 AM, Thomas Beale wrote:
>>
>>> I haven't had the time to think an architectural solution
>>> through, but all this sounds very reasonable. One thing I am
>>> fairly sure of: there would not be any "tags" directory; I would
>>> simply record the tag against the revision number being tagged.
>>> Of course this mitigates against using multiple project trees in
>>> one repository, which I initially thought sounded good, but in
>>> the end I think is unusable; it has to be one project per
>>> repository. Doing otherwise renders the versioning across the
>>> board completely meaningless, and means that svn really is just
>>> a versioned file-system (and I'm not knocking that!).
>>
>> I don't follow. I am currently using subversion with multiple
>> projects per repository and I am recording milestones by revision
>> number, not 'tags'. It works fine.
>
> Are you saying that you don't use tags at all?

I have not yet used the Subversion cheap-copy-as-tag feature.

> What if you want to do a checkout of a named revision, e.g.
> "release-0.9"?

At the moment that would be a bit more tedious than it needs to be,
but we have recorded the repo paths and revisions that make up each
release, we can go back and make cheap-copy tags if we want. But I
just haven't automated our build process to create the tags in the
repository when we do a release build.

> And normally, one would want tags to apply on a per-project basis;
> e.g. "release-0.9" of one project might co-exist with "alpha-
> release" and "dotnet-test" in other projects.

We don't put trunk,branches,tags in the root of our repository. We
put those under project folders. You will note that from a URL
standpoint this gives you the same structure as if you had one
repository per project with the trunk,branches,tags folders in the
root of each repository. E.g. "svn://server/project/trunk" <-- can
you tell if 'project' is a folder on the server or within the
repository? (Hint: I'm using the --root option to svnserve.)

> So you can't sensibly tag the entire repository with a particular
> tag name; you have to copy prject subtrees into named tag
> directories, which I would say is very prone to human error

By prone to human error, what do you mean? Copying project1/trunk
to project1/tags/release-0.9 seems pretty simple to me. In your case
'project1' is the directory OF the repository, in my case it is a
directory IN the respository.

> From what you say, you must be managing a separate file of tags and
> revisions.

Yes, that is what I'm doing at the moment.

Scott

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Aug 2 14:47:48 2005

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.