Here is my impression of patch groups after reading through some of the mails in this list.
A patch group of order (or type) n, abbreviated as PG(n), is inductively defined as 1. patch group of order 0 is the actual patches (hunks, addfile etc) 2. A patch group of order n+1 is a collection of patches of order n What about patch groups of higher order. PG(1): is a record (collection of PG(0)s or actual patches) PG(2): is a branch (a collection of PG(1)s or records). PG(3): is a repository (a collection of PG(2)s or branches). PG(4): is a team of repository, a group of people who work on a project. PG(n>4): is something that gives me a headache. For all PG(n>=0), one should be able to attach meta information. Operations ---------- Operations are restricted to certain level of the patch group. We have record level operations, branch level operations and may be repository level operations. PG(0): 1. Editing the working copy creates/deletes/modifies them 2. reverting deletes some of them PG(1): 1. Creation by recording 2. Deletion by unpull 3. Modification by amend-record/rebase etc. PG(2): 1. Creation/deletion of branches 2. Modification: merging Commutation relations here should govern whether two branches can be merged or not. The conflictor here would be the collection of records that conflict. PG(3): 1. Collaboration among teams, sending pull request etc. Commutation relations what do they signify? May be whether two pull request can be interchanged etc. (A pull request can now be distributed over a set of branches). Higher order patch groups: I am not sure. Regards ppk _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
