Create patch for series of existing changesets that were created without using MQ?
Matt Mackall
mpm at selenic.com
Wed Apr 27 17:35:48 UTC 2016
On Wed, 2016-04-27 at 19:45 +0300, Grigory Ptashko wrote:
> Hello.
>
> I've recently started to work on an open source project which uses Mercurial.
> I'm a new user to Mercurial, so I read the HG book and started working. My
> goal was to write code and always pull and merge changes from the upstream so
> I can stay up-to-date. The area that I am working on is also under heavy
> development by others so I do want to merge my changes after a long period of
> time. I cloned a repo. So, my workflow is like this:
>
> • I created a bookmark mybook
> • hg up mybook
No need for this step.
> • Write code
> 3.1 hg commit -m 'new functions'
>
> • hg up default
> • hg pull
> • hg update
> • hg up mybook
> • hg merge default
You might consider using rebase here instead.
> • Go to step 3.
> In my mind this is the simplest workflow that allows me to stay up-to-date. I
> also have only one HEAD because I always merge.
>
> Since I am not a contributor yet, I am not allowed to push changes to remote
> repo.
>
> Recently I wanted to show my work to a project lead and he said send me a
> patch. And this is where I am stuck. hg out shows 10 changesets. First of
> which appeard already a month ago. They're numbers are 3341, 3342, 3345, 3346,
> 3349, 3356, 3360, 3365, 3366, 3368. The changeset numer 3368 is the tip.
Check out hg log -G.
Also, you can do:
hg log -vpr mybookmark%
This is a shorthand for "only(mybookmark)".
You can get a diff between two revisions thusly:
hg log -r startrev -r endrev
But if you've got merges in your stack of changes, that diff isn't going to be
useful.
> I've recently read the chapter about the MQ extension. And this extensions
> seems to be what I need. But the problem is that I wrote code without using
> the MQ extension.
>
> So, how can I make use of the MQ extension on already created changesets so
> that I can make a patch to send to the project lead so that he can apply it
> and see my changes?
>
> I've just issued hg qinit. What's next? Issueing hg qimport -r 3341 gives
No need to do qinit.
> abort: revision 3341 has unmanaged children
hg qimport -r 3341:: # 3341 and all its descendants
> Reading the book and googling further does not help me. I need an advice.
>
> PS I've tried not using hg and MQ at all: simple diff -urN old/ new/ but I
> want understand how to do it with the MQ.
>
> Thank you.
>
> --
> Best regards,
> Grigory Ptashko
>
> +7 (916) 1489766
> grigory.ptashko at gmail.com
> facebook.com/GrigoryPtashko
>
> _______________________________________________
> Mercurial mailing list
> Mercurial at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list