Hi John,

On 2006-01-31, at 19:02, John Meacham wrote:

I propose no change to the repo format or new patch types or anything that
would break compatability.

basically, I want to be able to declare 'domains' which are simply mutually exclusive sets of files in a repository. The main new behavior is that 'darcs
record' will refuse to create a patch that crosses domain boundries.

...

utilities Util/
doc  Doc/
boolean Boolean/
cmm Language/Cmm/
genutil GenUtil.hs


I like your suggestion. I like Tomasz's extension even more.

What would be the behavior as the domainfile or domainscript changes? If, after some time, the domain file is changed to read:

utilities Util/ GenUtil.hs  # <-- Change here
doc  Doc/
boolean Boolean/
cmm Language/Cmm/

then what happens to older patches? Can patches on the 'genutil' domain now be applied to 'utilities'? Can new 'utilities' patches, which operate on both Util/ and GenUtil.hs, be applied to repositories that still contain the old domain layout?

darcs push, pull, record, whatsnew, and changes will have a -- domain option, which will cause them to just consider patches that touch files in the given domain or files in the given domain as appropriate. otherwise they behave identically.

For this to work, you'd either need to change the patch format to store the domain in the patch, or recompute the domain at patch read- time. (You'd probably want to store the domain in an inventory/ context file too.) If you compute the domain on-the-fly, then one solution to the above problem is to always use the current contents of the domainfile. I feel there are some advantages (besides speed) for storing the domain in the patch, but I can't articulate them at the moment. But my point is that you may not be able to avoid changing the patch format.



Jonathon Mah
[EMAIL PROTECTED]



_______________________________________________
darcs-users mailing list
[email protected]
http://www.abridgegame.org/mailman/listinfo/darcs-users

Reply via email to