> > [EMAIL PROTECTED] - Wed Jul 27 13:44:48 2005]: > > > Hi, > > > > > > I'm a new darcs user. darcs is very cool. At least 3 times now I've > > > been confused because I needed to unpull, but hadn't pulled anything. > > > Maybe you should change the name.
This bug report was sent by my wife (a computational linguist). She later ran "unpull" on a patch which she intended later to repull, thus losing her work. (She mentioned this event in a later message on the bug report thread, I believe.) That same week, I described the "unpull" naming issue to my two brothers (a computer scientist and a bioinformaticist, and both novice darcs users). They strongly agreed with my sentiment that the name "unpull" was wrong, and when I suggested the alternative name "erase-patch", they immediately agreed that this would be a good name. As another data point (which I have already mentioned before), my former boss, Phil Zimmermann, the famous cryptographer, experienced a frustrating five-minute confusion once when I told him that I intended to "unpull" a patch, and he kept asking "unpull it from where to where?". Finally I realized why we were talking past each other and I said "The name 'unpull' is a misnomer, I mean that I am going to erase the patch.", and he immediately understood what I was proposing to do. So I suggest "erase-patch" or just "erase". In the latter case it should be disambiguated from "revert" by the --help text. I know that currently the darcs commands are bare verbs without nouns, and I appreciate the beauty of that, but perhaps part of the problem that we are facing here is that novice users aren't sure which commands will effect local edits (e.g. "revert") and which will effect patches (e.g. "erase" or "obliterate"). You can see how the implicit nouns could easily go the other way -- it could have been the case that "revert" would eliminate a patch from history and "erase" would eliminate unrecorded changes from the current working directory. Hm. This makes me think that "obliterate" is better than "erase" for this. I also suggest that the name "unpull" be deprecated, as per David Roundy's sensible objection to the proliferation of aliases. (And despite David's apparent affection for the name "unpull". ;-)) > You never actually need to unpull, since unrecord followed by revert is > identical when there are no local changes. If there are local changes, > then record -a, unrecord, revert -a, unrecord would have same effect as > unpull. And this is what I'd want a newbie to do--if they work in this > manner, they are unlikely to accidentally lose their changes. Good point. In the same way that "amend-record" has a somewhat more awkward name than most commands and is not recommended to newbies, perhaps the awkwardness of "obliterate-patch" will be an advantage. Hm... I'm thinking back to the question of how it was that my wife, a novice darcs user, became sufficiently familiar with the existence of "unpull" that she would later accidentally misuse it. The answer is that she needed to go back into history to an earlier version of her code such that it didn't have a certain set of patches. I suggested to her that she copy the repo with "darcs get" and then run "darcs unpull" on the patches she didn't want. If their had been a similarly convenient way to do the operation of "copy the repo except for these patches", then I would have suggested that to her instead and she never would have learned about the existence of unpull. Regards, Zooko _______________________________________________ darcs-users mailing list darcs-users@darcs.net http://www.abridgegame.org/mailman/listinfo/darcs-users