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

Re: n00b repository question

From: Ulrich Eckhardt <eckhardt_at_satorlaser.com>
Date: 2006-08-01 10:27:02 CEST

On Tuesday 01 August 2006 04:13, Jon Biddell wrote:
> Website developed outside subversion - customised for my employer.
> New website from the supplier which has to replace the "live"
> website.... BUT our changes to the "live" site must be merged into
> the new one from the supplier, and then released...

Okay, so far so good. There are basically two branches that have to be merged.
The common point is Vendor v1, which then developed into Vendor v2 and
Custom. There are basically two ways to merge those two branches, you could
merge the difference between Vendor v1 and Vendor v2 into Custom or you could
merge the difference between Vendor v1 and Custom into Vendor v2 - the
results should be identical.

> I've created a repository containing the "vanilla" site and that went
> OK.
>
> I would have thought that the easiest way to do this would have been
> to make the "live" site the working copy and then merge stuff
> back.... but possibly not. When I copied the "live" site to the
> directory I used for the checked-out working copy, I get "directory
> not locked" errors when I try to commit...

It's hard to tell what exactly went wrong here, but I guess that this coping
damaged or otherwise affected Subversion's internals. If you want a
diagnosis, provide a complete recipe for reproduction. Also remember that
copying things into a working copy does not add them to the version control!

> If someone can give me a solution, or pointers thereto, I'd be most
> appreciative.

There is a tool called svn_load_dirs. The first thing you do is load the
initial Vendor v1 version into the repository.

Then, you check this out to a working copy (optionally after creating e.g. a
Custom v1 branch) and apply your own modifications. You can do this in as
many steps as you want (in order to keep separate changes in separate
commits) or in just one step (if you don't intend to only partially merge
your changes). Being able to partially merge is a good thing though, in
particular if the merging creates any conflicts.

Then, you svn_load_dirs the Vendor v2 into the repository (right on top of the
first) and merge the changes on the former version into it. If you created a
branch in the second step, you create another one now (Custom v2) where you
merge all the changes on branch Custom v1 (or just those you want and that
apply without conflicts - hence the advantage of fine-grained changes).

Uli

****************************************************
Visit our website at <http://www.domino-printing.com/>
****************************************************
This Email and any files transmitted with it are intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any reading, redistribution, disclosure or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you are not the intended recipient please contact the sender immediately and delete the material from your computer.

E-mail may be susceptible to data corruption, interception, viruses and unauthorised amendment and Domino UK Limited does not accept liability for any such corruption, interception, viruses or amendment or their consequences.
****************************************************

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Aug 1 10:28:20 2006

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.