Track patch across branches?

Kevin Bullock kbullock+mercurial at ringworld.org
Tue Dec 4 15:34:10 UTC 2012


On 4 Dec 2012, at 6:19 AM, gideon wrote:

> pierre-yves.david wrote
>> On Tue, Dec 04, 2012 at 12:42:51AM -0800, gideon wrote:
>>> Is it possible to determine which branches a patch has been applied to?
>>> Let's
>>> say I fix a bug in the v3.2 branch, then graft or transplant the fix to
>>> other branches. Other than searching for the commit message, how can I
>>> tell
>>> 6 months later which branches the fix has been applied to?
>> 
>> graft leaves meta information behinds, see the `origin` revset
> 
> Let's say I created the patch on branch a, grafted it to branch b, then from
> b to each of c and d. Now I'm looking at the patch on c, and what to know
> where else it's been. origin will presumably tell me b, and then I can run
> origin again on b to get a, but how would I find d? The recursive query
> (query c to get b, then query b to get a) is also clumsy.

If it's clumsy, it's because this workflow is clumsy in a proper DVCS anyway. The usual way to find where a changeset has gone is to see where it's been *merged*.

That being said, as Pierre-Yves mentioned, there is the 'destination(REV)' revset that will give you all the changesets created by grafting REV:

    hg log -r 'destination(deadbeefd00d)'

pacem in terris / мир / शान्ति / ‎‫سَلاَم‬ / 平和
Kevin R. Bullock




More information about the Mercurial mailing list