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