I like the interactive mode of Darcs very much. It would be even better
if I didn't always have to decide up front what I want to do, but
instead could base that decision on what I find.
We could add some kind of generic 'traverse' command. By default it
would show me patches, like 'darcs log -i'. But I would also have the
ability to do other things with a patch: obliterate, amend, unrecord,
suspend. Of course I wouldn't be able to do some of these things if I
have passed other patches by that depend on the current patch, but
that's okay, darcs would tell me that... or ask me if I (really?) want
to do it with all the dependencies, too, listing them all (for
obliterate, unrecord, and rebase suspend).
Similarly, when I have suspended patches I want to be able to traverse
them, deciding whether to unsuspend, reify, obliterate or just view
them. And again, when there are unrecorded changes, I might want to
either record or revert them.
Alternative names: 'view', 'select'.
It could even be the 'default command' i.e. what it does when you just
issue 'darcs'. We could even make it guess what you want to do: if there
are unrecorded changes, it could first ask you want to record or revert
them, otherwise... you get the idea.
I think this could prompt casual users to explore the interactive mode,
which IME they are often completely unaware of. The (IMHO ill-advised)
decision to make darcs log non-interactive by default "helped" with that.
We should also display the available options more prominently when
traversing interactively.
|