Folks, There are currently some oddities in the functionality of record with --ask-deps that we've got some patches to address, but I wanted to get broader feedback before these are actually committed.
There are additional details on the bugs.darcs.net site in issue 308 and issue 329, but I'll try to summarize here: when you perform a "darcs record" with the --ask-deps flag, there are two phases where darcs solicits user input: the change selection phase and the explicit patch dependencies phase. If you hit 'q' at any of the prompts during the change selection phase, darcs will abort the record operation entirely, but if you hit 'q' during the dependency selection phase, darcs will abort that phase but it will still record the patch, just with no explicit dependencies (even if you identified some before hitting 'q'). Also, there's a closely related but slightly different behavior: you can select no changes during the first phase *and* select no changes (or hit 'q') during the second phase and the result will be a "null" patch recorded in your tree. Both of these behaviors are easily reversed by using "darcs unrecord", but (a) recording the patch with no dependencies when 'q' is hit seems counter to the expected behavior---established by all other darcs interaction---of aborting the operation without making changes, and (b) recording a "null" patch seems rather useless and wasteful. As an aside, darcs does explicitly support a "darcs record --ask-deps" where no changes are selected but dependent patches are still selected. I refer to this as a "partial tag", where the recorded patch doesn't make any changes in the working tree, but its presence implies the presence of the depended-upon patches. The proposed fixes to darcs would (i) ensure that hitting 'q' during either phase of the "darcs record --ask-deps" questions will abort the record operation (no patch is recorded), and (ii) if no patches and no dependencies are selected, no patch is recorded (and darcs exits with the customary "OK, if you don't want to record anything, that's fine!" message. The "partial tag" functionality is preserved. Hitting 'd' or 'a' during the second (dependency selection) phase will select none or all of the remaining patches as dependencies, respectively, and will record a patch with the changes and dependencies selected (unless condition (ii) occurs). If anyone objects to this change in UI behavior, please let me (and the list) know by response to this message. -- -- Kevin Quick quick at org after sparq
pgpe7cLRr3xOC.pgp
Description: PGP signature
_______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
