tag:blogger.com,1999:blog-21123659.post737614930474400956..comments2023-05-03T09:30:17.042+02:00Comments on koweycode: darcs 2 at last!koweyhttp://www.blogger.com/profile/11175806459477851520noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-21123659.post-3039534402508664202008-04-11T23:05:00.000+02:002008-04-11T23:05:00.000+02:00There is indeed! You'll want to have a look at th...There is indeed! You'll want to have a look at the #darcs channel on irc.freenode.net as well as the darcs-devel list http://lists.osuosl.org/mailman/listinfo/darcs-develkoweyhttps://www.blogger.com/profile/11175806459477851520noreply@blogger.comtag:blogger.com,1999:blog-21123659.post-47230652262425491002008-04-11T22:14:00.000+02:002008-04-11T22:14:00.000+02:00Cool post; I'm quite excited darcs 2 is out now (t...Cool post; I'm quite excited darcs 2 is out now (the pre-releases seemed to move very quickly.) I've been looking for a haskell project I could work on with some other people, perhaps darcs would be a good fit considering it's quite crucial to the community, and needs help. Is there an IRC channel or mailing list I can get involved in to start off?Austin Seipphttps://www.blogger.com/profile/08003235138924772402noreply@blogger.comtag:blogger.com,1999:blog-21123659.post-69155018580877798222008-04-11T19:29:00.000+02:002008-04-11T19:29:00.000+02:00Thanks for the info! I was vaguely aware that oth...Thanks for the info! I was vaguely aware that other SCMs implement some form of cherry picking, and it is gratifying to see that the kind can be applied over all operations.<BR/><BR/>I also quite like the easy-breezy fashion you describe of being able to edit a list of patches in a text editor.<BR/><BR/>But yeah, the commutation does help.koweyhttps://www.blogger.com/profile/11175806459477851520noreply@blogger.comtag:blogger.com,1999:blog-21123659.post-12224300575797635832008-04-11T18:41:00.000+02:002008-04-11T18:41:00.000+02:00I somehow missed the phrase “patch commutation” in...I somehow missed the phrase “patch commutation” in your response. That, I agree, is the significant part, and no other SCM that I know of does it quite this way.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-21123659.post-32503447465767724622008-04-11T18:31:00.000+02:002008-04-11T18:31:00.000+02:00That is more understandable. Using the word “deep”...That is more understandable. Using the word “deep” kind of makes it seem like it's a semantics that has no equivalent in other SCMs, which made me wonder if it was something I had never heard of before. I like darcs, but this kind of cherry picking can be done without too much trouble in other SCMs as well.<BR/><BR/>Of course you probably know that git supports cherry-picking with git add -i (git cherry-pick is actually a different kind of operation). But also, since git allows for all kinds of history editing, you can cherry pick any other operation by checking out the revision and then cherry picking changes back in (or just using rebase to do it for you). For example, instead of cherry picking patches as they come in from another repo you pull patches from another repository and then edit them, or instead of doing a cherry pick undo just undo and then cherry pick changes back in. It's really not that complicated, it just isn't a default behavior. Example scenario: I want to pull a bunch of patches from another repo but I want to ignore some patches and selectively cherry pick from others.<BR/><BR/>git pull<BR/>git rebase -i HEAD{1}<BR/># presented with a list of patches in a text editor. annotate them with edit/squash/etc, rearrange them, delete them, whatever. save, and git will reapply those patches in the manner you specified. if you marked anything to edit, it drops you back to shell, you cherry pick your changes (even to the point of turning one patch into many smaller patches), and then run git rebase --continue<BR/><BR/>This kind of process also gives you the opportunity to also test your code as your cherry pick if you wish.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-21123659.post-55922604786966613992008-04-11T18:04:00.000+02:002008-04-11T18:04:00.000+02:00Deep cherry picking is a term I made up for darcs'...Deep cherry picking is a term I made up for darcs's ability to provide cherry picking in basically every revision control operation (for example, pulling a patch from another repository, undoing a patch, reverting only some of your uncommitted changes by not others). Maybe "pervasive cherry picking" would be a better way to say it, but I used the word "deep" to convey that it was really an integral part of how darcs works, everything that goes on in darcs, in other words, being a consequence of the one operation (patch commutation) that makes darcs darcs and offers us this kind of cherry picking ability.<BR/><BR/>Does that make any sense?koweyhttps://www.blogger.com/profile/11175806459477851520noreply@blogger.comtag:blogger.com,1999:blog-21123659.post-91391320798993424232008-04-11T17:33:00.000+02:002008-04-11T17:33:00.000+02:00What exactly is “deep cherry picking”? I can't see...What exactly is “<I>deep</I> cherry picking”? I can't seem to find any such reference to it on Google.Anonymousnoreply@blogger.com