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

Re: Our abuse of CVS tagging

From: Ed Hillmann <ed.hillmann_at_gmail.com>
Date: 2007-11-13 23:08:51 CET

On Nov 10, 2007 4:43 AM, Craft, Steven <SCraft@t-tales.com> wrote:
<snip>
>
> Any pointers as to how to go about tackling this would be gratefully
> received,

Ok, assuming you want to still use a single SVN repository.

First, set up the API code.

/trunk/api

Whenever a version of the api is released, it's tagged in the tags
directory. For example,

/tags/API-1.0.0 <--- contains the 1.0.0 release of the API code
/tags/API-1.1.0 < --- contains the 1.1.0 release of the API code

Continuing API development is in the trunk, with tags being copied
whenever appropriate

So, then for Project1, I set up the following:

/trunk/Project1

Which will have all the files for it. As a subdirectory, copy the
version of the API it wants to use from the tags dir. So, after using
the svn cp command...

svn cp svn://machine/repos/tags/API-1.0.0 svn://machine/repos/trunk/Project1/API

I should have

/trunk/Project1/API

in the repository, containing the 1.0.0 release of the API and it will
be checked out when I check out Project1. Copies are cheap in the
repository. Any Project-specific changes that get committed to the
API are stored only against the Project's copy. Each project can
control which version of the API to use.

When Project1 wants to upgrade to a newer version of the API (and it
hasn't made any local changes to the API), they simply svn rm the
existing API and svn cp to the later version again. If they've made
local changes to the API, then they could use svn merge to merge the
changes between 1.0.0 and 1.1.0 (for example) into their
project-specific API copy, which will ensure that the local changes
don't get blown away.

Hope this helps,
Ed

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Nov 13 23:09:54 2007

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.