One common problem in Darcs is that users will try the darcs send
command, send a patch successfully, only to find that nobody has
received the patch. I'm not entirely sure what causes this, but my
current guess is that it involves the scenario where the machine ships
with an MTA which is configured to just accept and hold messages (is
that too far-fetched?). In any case, the symptom is that darcs send
succeeds and that no mail gets through, and the cause I think is Darcs
trusting the sendmail exit code. If this is true, it is rather painful
because they just perceive darcs send as being flaky and broken.
Also, if this is the correct cause ("lying" MTAs), perhaps one solution
is to introduce a "first-time configuration" mechanism.
The idea is that darcs could keep some sort of user-specific state in
~/.darcs which lets darcs know if, say, the user has tried to email
patches before.
This way, darcs can detect if the user is trying to send patches for the
first time and intervene by suggesting some simple steps to make sure
their MTA is configured correctly first (one suggestion might be just
for darcs to ask for an email address for the user and for it to send a
mail to that address). The first-time configuration mechanism would
refuse to let the user use darcs send until they explicitly confirm that
they can make it work (either by configuring an MTA or just using
something like MSmtp). The explicit confirmation could come in the form
of the user flipping a switch in a config file.
This is a sort of fuzzy idea. The hope is that it would apply to other
commands than just send, but send is the only use case I have in mind.
I can imagine that there are situations where the cure is a lot worse
than the disease, so we need to talk about this more on darcs-users and
flesh out a more refined idea.
|