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

RE: Re: Labels

From: Lakshman Srilakshmanan <lakshman.srilakshmanan_at_tradingpost.com.au>
Date: 2006-03-30 01:49:55 CEST

Hi Ian/James,

If you don't need to ensure that trunk mirrors production and all bug
fixes and enhancements are done in a branch then I suppose Ian's
suggestion will work.

But my preferred option would be

Trunk/Common 5 files
     /Cust_A 10 files
     /Cust_B 8 files

My build/release script for Cust_A will create the package for Cust_A
using the Common files.

May be I am missing something but this appears to be a simple way of
solving the problem.

Hope this helps.

Thanks
Lakshman

-----Original Message-----
From: Ian Brockbank [mailto:Ian.Brockbank@wolfsonmicro.com]
Sent: Thursday, 30 March 2006 1:03 AM
To: James Courtier-Dutton; Damphyr
Cc: users@subversion.tigris.org
Subject: RE: Re: Labels

Hi James,

> Here is an example of my requirement.
> 13 files in the repository.
> 10 files must go to customer A
> 8 files must go to customer B
> 5 files common to both.
> So, if one of those common files change, both customers must receive
> the same change.
> I do not want to have 2 working copies, one for A and one for B, and
> have to continually merge changes from one to the other. I would like
> the fact that I change one of the common files and commit it, it will
> automatically update both A and B views of the repository.

You can use svn:externals to link the common files into a subdirectory
of both A and B. E.g.

http://svr/repos/Cust_A/ 10 files
http://svr/repos/Cust_B/ 8 files
http://svr/repos/common/ 5 files

You can add an svn:external to both Cust_A and Cust_B ("svn propedit
svn:externals Cust_A" in the working copy) with the following content:

Common http://svr/repos/common/

Now when you update Cust_A it will have the following structure:
Cust_A/
        - A_file1
        - A_file2
        ...
        - A_file10
        + common/
                - common1
                - common2
                ...
                - common5

And when you update Cust_B it will have:
Cust_B/
        - B_file1
        - B_file2
        ...
        - B_file8
        + common/
                - common1
                - common2
                ...
                - common5

Unfortunately this only works on whole directories, so you will need to
put some structure in place. There are also issues with branching and
tagging (which the svncopy.pl script in the contrib\clientside area
attempts to solve). However, it is how we do it.

Cheers,

Ian Brockbank
Applications Software Team Leader
e: ian.brockbank@wolfsonmicro.com / apps@wolfsonmicro.com
scd: ian@scottishdance.net
t: +44 131 272 7145
f: +44 131 272 7001

---------------------------------------------------------------------
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 Thu Mar 30 01:50:39 2006

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