On Wed, 13 Sep 2006 21:41:19 -0500, Brian Smith wrote:
> FWIW, I 100% support this position. There should be some support for a
> "local changes" repository that always gets merged with the default
> repository. I think that feature is very useful and will take care of most
> practical cases where the proposed feature is helpful.

If I understand this correctly, what you think of is a special
patch called local, somewhat like the other two special patches
unrevert and pending. Then one could add changes to this local
patch in some way, with a new command, with a new option to the
record command, or with a new response alternative in the
interactive record dialogue. There would also have to be a way
to unrecord and / or obliterate changes in the local patch.

Cons are duplication of interface (I think). We would get a new
set of "things you can do" which will be very similar to another
set of things, but with a small but very significant difference.
The pending and unrevert are pretty automatic, and at least
unrevert is very intuitive (except when some totally different
command "makes unrevert impossible"), although pending can take
some brain-wrapping to make friends with (and it sometimes
behaves irrational due to not yet resolved bugs). The normal
patch mechanism also allows for structuring local changes in
different patches with explaining names and long comments.

Pros are you don't have to make up nonsense names for patches,
and I think darcs would be able to "float" the local patch so it
never get depended on by at least normal recordings, which can
happen when you record local changes in normal patches (ignored
or not). But darcs could of course instead allow for local
patches to "float". I've often wanted amend-record to allow
dependent patches being adjusted (floated, i.e., unrecorded and
recorded again on top of the amended patch) instead of just
refusing to change the patch, and that functionality would be
the same internally in darcs.

But there are now several concepts that should be carefully
combined and separated in some orthogonal way:

1. changes we temporarily want out of our sight
2. patches with temporary changes we don't want to depend on with
   normal recordings
3. local patches we only want in this repo (forever)
4. blocked patches we don't (yet) want to leave the repo
5. ignored patches we don't (ever) want to pull from some other
   repo
- more?

1, 2 and 3 I think combine nicely into something I'll call local
floating patches.


-- 
Tommy Pettersson <[EMAIL PROTECTED]>

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

Reply via email to