On Wed, Feb 11, 2009 at 09:43:58PM +0000, Simon Marlow wrote: > Ian Lynagh wrote: > > >And what should it mean to cherry pick a patch without one of its > >dependencies? You get a patch that you can't apply? > > Imagine cherry picking the patch with its dependencies, and then pulling > in the inverse of the dependencies too. That will result in a conflict, > but in exactly the places you want: the places where the cherry-picked > patch depends on a patch that you didn't want to pull. Then you record > a conflict resolution patch. > > If this could be made to work, I think it would be a killer feature.
So if we start with the repo {A} (A is a megapatch) and someone else has {A, B, C} (where C depends on B) and we want C but not B, then I was suggesting we "force-pull" C, leaving us with {A} and unrecorded changes of C, plus the primitive patches in B that C depends on. I think you are proposing that we end up with {A, B, C, B^} (X^ means X inverse) and unrecorded changes marking the conflicts between B^ and C? That would also work, but personally I find it less pleasant. Mostly this is not for any good reason, although it does have the disadvantage that you can't easily later decide to pull B after all. On the flipside, it does mean that our repo knows that it contains C, which I means that we'll be able to pull in some patches that depend on C but don't conflict with the B^ patch. There's no reason we couldn't have both options available, of course. Thanks Ian _______________________________________________ darcs-users mailing list darcs-users@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-users