[darcs-users] prescriptivism?

Zooko O'Whielacronx zooko at zooko.com
Sat Mar 19 12:40:28 UTC 2005


> David wrote this some time ago [1]
>> Since unpull is perfectly safe when used on pulled patches, I'd rather
>> give it a nice unscary name that reflects that, rather than a scary 
>> name.
>> In my experience it's very rare that I unpull a patch that wasn't 
>> gotten
>> either by a pull or an apply (and usually it's a pull).

One of the reasons people like darcs over tla is that tla is believed 
to have some baggage of "prescriptivism" -- it seems that the creators 
of tla think you ought to have a workflow that does things their way, 
and if your workflow is different, they're not going to try to make it 
easy for you.  Unfortunately, I think there's a little bit of 
prescriptivism in darcs, too, but only with regard to the unpull and 
amend-record functions.

David rarely unpulls a patch that wasn't gotten by a pull.  I 
frequently do, and my boss needed to do so the other day, and thus he 
got confused by the name.

I'm also kind of frustrated about bug #278 which I recently discovered 
[1].  If you unpull a patch, and someone else happened to be pulling 
that patch at that time, then that person's darcs process will exit 
with an error message and they will see:

Error applying patch to recorded!
The patch was:
{
...

When I reported the bug, the initial response from the darcs 
maintainers was "Maybe you shouldn't unpull patches if someone might be 
pulling them from your repo at that moment.".  This seems like 
prescriptivism to me.  I don't see how I could possibly avoid this 
situation other than by ceasing to use the workflow that my team and I 
have developed and starting to use the workflow that David uses. [*]

This is a typical problem for a tool that has become successful -- 
people start using it in ways other than what the creators envisioned 
or intended.  This causes problems.

So you know a tool is successful when you start hearing about it 
breaking.

Welcome to success!

Regards,

Zooko

[1] http://bugs.darcs.net//Ticket/Display.html?id=278

[*] Actually, I do have an idea for how I can avoid this situation:

MAIN yumyum:/var/www/priv/eapa4$ function unpull {
 > DIRNAME=`basename $PWD`
 > cd ..
 > mv $DIRNAME $DIRNAME-bak
 > cd $DIRNAME-bak
 > darcs unpull ${*}
 > cd ..
 > mv $DIRNAME-bak $DIRNAME
 > cd $DIRNAME
 > }

This only works when you start in the base dir of the repo, and I don't 
know how much it will help the darcs pull to fail cleanly...





More information about the darcs-users mailing list