A question about branching, merging

bob mcwhirter (bob@werken.com)
Fri, 3 Dec 1999 20:53:58 -0500 (EST)


Date: Fri, 3 Dec 1999 20:53:58 -0500 (EST)
From: bob mcwhirter <bob@werken.com>
To: ietf-dav-versioning@w3.org
Message-ID: <Pine.LNX.3.96.991203204052.567I-100000@exeter.exeter.org>
Subject: A question about branching, merging


Hello-

Please pardon the probably rudimentary questions, but
I've read the specs for DAV and DeltaV as best I could,
and I still have some questions.

I'm looking into building DAV/DeltaV aware/enhanced/powered
build-management tools.

Anyhow...

I'm curious as to how merging is accomplished using DeltaV.

From what I can understand in the spec, a CHECKIN of a file
does not imply any merging.

Given a resource /index.html (rev1), I can check it out, someone
else can check it out, into our own workspaces.

The other person makes edits, and checks in (creating rev2)
and I then checkin my edits (creating rev3).

There seem to now be two revision chains:

	rev1 -> rev2

	rev1 -> rev3

With no corralation between rev2 and rev3, aside from a 
common ancestor.  (Is this correct?)

The spec seems to do some Hand Waving to say that these
could be merged at a later time, but I can't figure out how.

Ideally, I'd like to be able to merge rev2 and rev3, creating
rev4.  Would it be the case that the client performs the
merges, sets predecessor attributes accordingly, and adds
rev4 to the server?  While the server reamins blissfully unaware
of *any* correlation between any of the resources?

If my first assumption is incorrect, and I have to perfrom
a merge to create rev3, then I must question how to implement
branching semantics. 

If required:

	rev1 -> rev2 -> rev3

then is there really a way to allow checkpointing in
workspaces (creating revisions) without causing merge headaches?

I guess my question really boils down to where the semantics
of your revision control system come into place.

Or does DeltaV not really attempt to address the issue of
'conflicts' 'branches' and 'merges', instead, leaving that
up to implementing in the client tools?

Thanks for your time.

	-bob mcwhirter

	(btw, anyone else have an active interest in
	investigating build-management and DeltaV/DAV?)