You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Marc Haisenko <ha...@comdasys.com> on 2006/07/31 15:26:59 UTC

Propagating changes from one repository to another

Hi folks,
we're faced with a tricky problem, and before I start writing my own solution 
I'd like to know whether someone already has a solution.

We'll license software from us to a customer. The customer will get a 
SubVersion repository with our software, minus some files/directories.

Yes, the customer has to have a separate repository, for several reasons.

Now part of the contract is that we have to provide updates to the customers 
version. So we have to push changes from our repository to theirs.

I know already that there's SVN::Pusher, but it doesn't do the job, 
unfortunately: it already chokes on a missing directory on the customers 
side.

I fear that there's nothing readily available which will aid me, is there ?

My solution would be "advanced diff" and "advanced patch" which parse "svn 
log" output on the master side (to detect deletes/renames/copies/property 
changes) and translate them to the according actions on the slave side, with 
error handling (there will be conflicts when the client starts editing his 
version, there will be files missing on the slave side, and it doesn't have 
to run fully automatic). Does something in that direction already exist ?

Thanks,
	Marc

-- 
Marc Haisenko
Comdasys AG

Rüdesheimer Straße 7
D-80686 München
Tel:   +49 (0)89 - 548 43 33 0
Fax:   +49 (0)89 - 548 43 33 29
e-mail: haisenko@comdasys.com
http://www.comdasys.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Propagating changes from one repository to another

Posted by Marc Haisenko <ha...@comdasys.com>.
On Tuesday 01 August 2006 10:55, Nico Kadel-Garcia wrote:
> Have the customer dedicate tags to a local copy of your software, updating 
> tags or branches from it when you send them new tarballs or patches. That 
> makes integrating their modifications a local problem, not yours, and lets 
> them have clean reference tags to your software for local comparision. 

Due to legal and technical issues, this is not possible. Otherwise a nice 
idea.


-- 
Marc Haisenko
Comdasys AG

Rüdesheimer Straße 7
D-80686 München
Tel:   +49 (0)89 - 548 43 33 0
Fax:   +49 (0)89 - 548 43 33 29
e-mail: haisenko@comdasys.com
http://www.comdasys.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Propagating changes from one repository to another

Posted by Nico Kadel-Garcia <nk...@comcast.net>.
----- Original Message ----- 
From: "Marc Haisenko" <ha...@comdasys.com>
To: <us...@subversion.tigris.org>
Sent: Monday, July 31, 2006 11:26 AM
Subject: Propagating changes from one repository to another


> Hi folks,
> we're faced with a tricky problem, and before I start writing my own 
> solution
> I'd like to know whether someone already has a solution.
>
> We'll license software from us to a customer. The customer will get a
> SubVersion repository with our software, minus some files/directories.
>
> Yes, the customer has to have a separate repository, for several reasons.
>
> Now part of the contract is that we have to provide updates to the 
> customers
> version. So we have to push changes from our repository to theirs.
>
> I know already that there's SVN::Pusher, but it doesn't do the job,
> unfortunately: it already chokes on a missing directory on the customers
> side.
>
> I fear that there's nothing readily available which will aid me, is there 
> ?
>
> My solution would be "advanced diff" and "advanced patch" which parse "svn
> log" output on the master side (to detect deletes/renames/copies/property
> changes) and translate them to the according actions on the slave side, 
> with
> error handling (there will be conflicts when the client starts editing his
> version, there will be files missing on the slave side, and it doesn't 
> have
> to run fully automatic). Does something in that direction already exist ?

Have the customer dedicate tags to a local copy of your software, updating 
tags or branches from it when you send them new tarballs or patches. That 
makes integrating their modifications a local problem, not yours, and lets 
them have clean reference tags to your software for local comparision. 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Propagating changes from one repository to another

Posted by Adrian Howard <ad...@quietstars.com>.
On 31 Jul 2006, at 16:26, Marc Haisenko wrote:
[snip]
> I fear that there's nothing readily available which will aid me, is  
> there ?
[snip]

Sounds like you want svk  <http://svk.elixus.org/>.

Adrian

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Propagating changes from one repository to another

Posted by Marc Haisenko <ha...@comdasys.com>.
On Monday 31 July 2006 20:14, Ryan Schmidt wrote:
> svn_load_dirs.pl may be a solution; you could package up new releases  
> by exporting from your repository and tarring and zipping it up, and  
> they could load it into their repository with this script.
> 
> http://svnbook.red-bean.com/en/1.2/ 
> svn.advanced.vendorbr.html#svn.advanced.vendorbr.svn_load_dirs

Interesting tool, but it doesn't solve my problem... it can't handle renames, 
property changes and so on. But it could be handy in a different situation, 
thanks for the pointer !


> svk may be another solution, though I'm not sure if it's designed for  
> this purpose.
> 
> http://svk.elixus.org/

Unfortunately svk doesn't solve my problem either: the repositories for the 
customer and our repository must be different (they'll each contain software 
for which the other side doesn't have licenses and other nice legal and 
technical problems)...

I guess I have to write my own tool then, but I already have very concrete 
ideas on how to solve my problem. Luckily SubVersion is extremely 
tool-friendly, especially with its XML log and stuff :-)

Thanks anyway,
	Marc

-- 
Marc Haisenko
Comdasys AG

Rüdesheimer Straße 7
D-80686 München
Tel:   +49 (0)89 - 548 43 33 0
Fax:   +49 (0)89 - 548 43 33 29
e-mail: haisenko@comdasys.com
http://www.comdasys.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Propagating changes from one repository to another

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Jul 31, 2006, at 17:26, Marc Haisenko wrote:

> we're faced with a tricky problem, and before I start writing my  
> own solution
> I'd like to know whether someone already has a solution.
>
> We'll license software from us to a customer. The customer will get a
> SubVersion repository with our software, minus some files/directories.
>
> Yes, the customer has to have a separate repository, for several  
> reasons.
>
> Now part of the contract is that we have to provide updates to the  
> customers
> version. So we have to push changes from our repository to theirs.
>
> I know already that there's SVN::Pusher, but it doesn't do the job,
> unfortunately: it already chokes on a missing directory on the  
> customers
> side.
>
> I fear that there's nothing readily available which will aid me, is  
> there ?
>
> My solution would be "advanced diff" and "advanced patch" which  
> parse "svn
> log" output on the master side (to detect deletes/renames/copies/ 
> property
> changes) and translate them to the according actions on the slave  
> side, with
> error handling (there will be conflicts when the client starts  
> editing his
> version, there will be files missing on the slave side, and it  
> doesn't have
> to run fully automatic). Does something in that direction already  
> exist ?

svn_load_dirs.pl may be a solution; you could package up new releases  
by exporting from your repository and tarring and zipping it up, and  
they could load it into their repository with this script.

http://svnbook.red-bean.com/en/1.2/ 
svn.advanced.vendorbr.html#svn.advanced.vendorbr.svn_load_dirs

svk may be another solution, though I'm not sure if it's designed for  
this purpose.

http://svk.elixus.org/


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org