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

Re: svn diff, svn merge, and vendor branches (long)

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2002-12-08 13:31:22 CET

"Bill Tutt" <rassilon@lyra.org> writes:

> John commits an update to create /foo as Foo.0.TxnA.
>
> /foo now has an empty ancestry set.
>
> Barney commits a change to /foo as Foo.0.TxnB.
>
> /foo now has an ancestry set of {Foo.0.TxnA}
>
> Charley commits a change to /foo as Foo.0.TxnC.
>
> /foo now has an ancestry set of {Foo.0.TxnA Foo.0.TxnB}

We don't have to explicitly store the above do we? I think it's
implied by the current node history.

> Fred unfortunately uses a filesystem copy to copy /foo to /bar.
> Fred commits /bar as Bar.0.TxnD.
> John commits a change to /bar as Bar.0.TxnE.
>
> /bar now has an ancestry set of {Bar.0.TxnD}
>
> Fred merges the changes from /bar into /foo and commits /foo as
> {Foo.0.TxnF}
>
>
> /foo now has an ancestry set of {Foo.0.TxnA Foo.0.TxnB Foo.0.TxnC
> Bar.0.TxnD Bar.0.TxnE}
>
> The result of merge operations is the union of all ancestry sets
> involved in the operation. If there's a star merge of /foo /bar and
> /blah then the new /foo is the union of all ancestry sets of /foo /bar
> and /blah.

Some merges involve reversing a particular ancestry set. I think we
will need to store whether a merge added or removed a particular
ancestry set.

I'm interested as to how we would implement this. Are the ancestry
set IDs, the things like Foo.0.TxnA, visible to the client? Is it
done entirely in the client using properties, or does the Subversion
filesystem get involved?

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Dec 8 13:32:05 2002

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