On Wed, Apr 23, 2008 at 11:19 PM, Kirill Smelkov <[EMAIL PROTECTED]> wrote: > > On Wed, Apr 23, 2008 at 01:38:48AM +0200, Ondrej Certik wrote: > > > > Hi, > > > > there was a question in: > > > > http://code.google.com/p/sympy/issues/detail?id=608#c7 > > > > about how to rebase the MQ patches to the latest tip: > > > > ------- > > > > I just tried to submit 4 patches (fix of #608, capital gamma function, > ascii-art for > > > > floor/ceiling, and misc changes to pprint tests), but got conflict > problems > > > (overlap). I just don't know what to do. Any hint? :) > > > > > > Sure, you need to rebase your patches to the latest tip. The mercurial > generates the > > > .rej files, that you can inspect and fix the problems. Or do you have > some other problem? > > > > Should I re-run "hg qrecord" commands and retype patches' descriptions > > all over again > > or is there some other clever way? Sorry, I'm really newbie to > > Mercurial and SCM... > > ------- > > > > So here is what I do (opinions -- kirill? :): > > I too use something like this :) > > > > 1) create the patches that apply cleanly in some revision > > 2) hg qpop -a; hg pull; hg up > > 3) hg qpush -a > > > > does it apply cleanly? yes -- cool. No: > > Yes, right now we have to use the trickery you are describing below, but > please see some remark at the end of this letter. > > > > is the conflict easy to fix? If so, thenb I just look into the > > generated .rej files and fix the repo by hand, then do "hg qrefresh" > > and that's it. > > If the conflict is difficult to fix: > > > > 4) hg qpop -a; hg up "number of the revision that worked"; > > > > 5) hg push; hg qdelete -r qbase:qtip > > 6) hg merge tip > > > > now merge the changesets using the powerful mercurial merge facility. > > > > 7) hg di -r revision without the patch:tip > /tmp/x > > > > and we have the rebased patch in /tmp/x, so I for example do something like > > > > 8) hg qimport /tmp/x; hg qrefresh -e; > > You don't need to 'hg diff > /tmp/x; hg qimport' -- > > 'hg qimport -r rev' would do the same.
I don't think that's gonna work -- you need to diff all changes between the old revision without the patch and the tip. You can get the changes with "hg di -r old:tip", but with qimport it imports all the revisions as distint patches, which is not what you want. > > > > > > fix the description etc. > > > > Then repeat the steps 5) to 8) with all patches. > > > > Any comments welcome. > > By the way, there is a guy who is going to implement 'hg rebase' during > the SoC: > > http://code.google.com/soc/2008/hg/appinfo.html?csaid=EC7D811E53CA98EF Things like this only show how seriously Mercurial is lagging behing git. But hopefully it will improve soon enough. Ondrej --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sympy?hl=en -~----------~----~----~----~------~----~------~--~---