[darcs-users] UI fixes for record --ask-deps
Kevin Quick
quick at sparq.org
Thu Jul 19 06:15:52 UTC 2007
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20070718/8f4d277a/attachment.pgp
More information about the darcs-users
mailing list