On Wed, Apr 23, 2008 at 1:38 AM, Ondrej Certik <[EMAIL PROTECTED]> 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? :):
>
>  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:
>
>  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;
>
>  fix the description etc.
>
>  Then repeat the steps 5) to 8) with all patches.
>
>  Any comments welcome.

One comment from myself -- it's ok if you submit patches, that apply
(cleanly!) to some recent revision. It doesn't have to be the very
latest one.
If the merge is trivial, the sympy developer with push access will do
it himself before pushing.

That's the power of distributed VCS -- you don't have to be still in
on guard and rebase all your patches to the latest tip. Once the patch
applies in some (recent) revision, it's usually just a matter of
seconds to rebase it to the latest tip, thanks to mercurial, and it's
a manual work that anyone can do, even if I didn't write the code in
the first place. In most cases.

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
-~----------~----~----~----~------~----~------~--~---

Reply via email to