[darcs-users] Patch groups - does this makes sense

Piyush P Kurur ppk at cse.iitk.ac.in
Thu Apr 18 07:24:53 UTC 2013


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


More information about the darcs-users mailing list