[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