On Wed, Aug 13, 2008 at 07:46:01PM +1000, Alex Lance wrote: > Having the "unpull" command be an alias to the "obliterate" command > does not seem like a good idea to me. The former implies a level of safety > that the latter does not.
Agreed. > > > a) Instead of un-applying and then deleting a patch, it un-applies a > > > patch and then moves the patch bundle into a "trash" directory > > > within the > > > repo. > > > > Darcs already has a very powerful mechanism for this; branches. > > The purpose of obliterate is self-evident: It destroys patches. It's > functionality is much like the 'rm' command. And like the rm command, it > would be smarter to give it sensible/safe defaults. I guess I haven't expressed my feelings toward those who put -i in their rm alias... ;-) Well, if I can put --forever in my defaults file I'm happy, and a user configurable way that can be adopted to everyone's liking is probably a good thing. I am, though, a bit worried that it will complicate the conceptual model of darcs. I always do 'darcs get . _store' before I obliterate patches. It could just as well have been 'darcs get . _trash'. When I want the unobliterated patches I pull them back from _store, and when I'm done I 'rm -rf _store'. I really don't think automating this will make it simpler. It will require extra commands, and extra options to the commands, and it will complicate the model of darcs by adding an extra concept of a trash that behaves differently than "other" branches. But I welcome disagreement and counterarguments. > > But when mixing patches from different branches it can sometimes be > > annoying to keep track of which patch comes from which repository. The > > extra argument [of a source branch] to Unpull [from] would solve this > > problem nicely. If it is combined with the --intersection, --union, and > > --complement options it will become quite powerful. > > Ok it is clear to me that you are talking about adding new functionality > that extends unpull - functionality that would actually turn "unpull" > into a new and separate command from "obliterate". Yes. A difference is that your proposed Obliterate would do an automatic Push to _trash if the patch was not already there, while my wished for Unpull _trash would refuse to remove the patch. I think this shows that Obliterate and Unpull are different concepts. In one case you want the patch to go away (possibly revertable), and in the other case you want to remove only patches that came from (or are in) some special repo. But the two commands have a lot in common. Something like 'darcs unpull --push _save' would be very similar to a revertable Obliterate. And 'darcs obliterate --not-forever --dont-save ../upstream' could be used as the extended Unpull. -- Tommy Pettersson <[EMAIL PROTECTED]> _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
