Zack's list of requirements
Michael S. Zick
mszick@goquest.com
Wed Dec 11 03:29:00 GMT 2002
On Monday 09 December 2002 06:31 pm, Zack Weinberg wrote:
>
> And then she does another merge and finally gets to win the race. Yay.
>
> -- ... -- [MEL] --- [DAVE] --- [ARTIE] --- [HELEN+DAVE+ARTIE]
> \ \ /
> \- [HELEN] --- [HELEN+DAVE] -/
>
Zack,
Would it be possible to handle these situations by maintaining
a "change-set tree" ?
Rather than (or in addition to) the "revision tree".
Marking the checked out (to be modified) sources with their
position in the "change-set tree". Marks included with the
checked out files and a "branch-bud" mark for user Ms. Xyz
in the repository.
On check-in, unmodified change-set members and
successfully merged change-set members have their
"branch-bud" mark moved to "current" and the old
branch-bud (for those members) withers and dies
without ever forming a branch in the repository.
The conflicting members of Ms. Xyz's, thought to be
single "change-set", now become "change-sub-set"
trees in her checked-out version with corresponding
"branch-buds" for the points at which they diverged.
I.E: It is the check-in that was attempted as a single
"change-set" that branches into a tree of "change-sub-sets"
in Ms. Xyz's attempted check-in.
Words seem to be failing me...
-...- [MEL] - [DAVE] -[ARTIE] -----+---[HEAD] ->
-...-\ / \
\- [HELEN] --/ \
\- [HELEN diff DAVE] -++-[HELEN dif DAVE] ->
\--[HELEN diff (DAVE + ARTIE)] ->
Is seems that ASCII art fails me also.
Mike
More information about the Gcc
mailing list