push to other repo

View: New views
2 Messages — Rating Filter:   Alert me  

push to other repo

by raster :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,
How do I push my work in another repository different than the default?

Example:
I work into my repo "release67/contrib" and after some times I would merge my work into "main/contrib" without lost all "commit descriptions" present into release67/contrib. How do I can this ?

I read this http://wiki.netbeans.org/HgHowTos#section-HgHowTos-TransferAModuleSHistoryToAnotherRepository but it was not clear to me.

Thank you for any help.

--
Andrea Lucarelli
software engineer at Selex Galileo [ http://www.selexgalileo.com § andrea.lucarelli@... ]
technical director at art-bit design&c. [ www.art-bit.net § raster@... ]
independent software developer at AI-logic [ www.ai-logic.it § andrea.lucarelli@... ]

mob. +39 338 73 71 303

www.linkedin.com/in/lucarelliandrea
www.art-bit.net/community/team/andrea-lucarelli


Re: push to other repo

by Jesse Glick :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Andrea Lucarelli wrote:
> How do I push my work in another repository different than the default?
>
> I work into my repo "release67/contrib" and after some times I would
> merge my work into "main/contrib" without lost all "commit descriptions"
> present into release67/contrib. How do I can this?

If you took care to commit all of your changesets in release67/contrib starting with an original parent changeset that was also in main/contrib - such as that tagged as
release67_base - then you could simply use 'hg pull -r ...' to pull them into main/contrib, and 'hg merge' to reconcile with the former tip.

(When I work on bugfixes in release*/contrib I like to use a named branch rooted at release*_base to hold my changes. I can merge them into the default branch in
release*/contrib, and I can also pull that branch into main/contrib and merge it into default there to forward-port changes.)

If you did not take care to do this, then pulling/pushing will not work, since Mercurial requires all transitive ancestors of a changeset to be present - so you would be
pushing everything done by everybody in release67/contrib into main/contrib, which is undesirable. (Some of those changes might have been intentionally 6.7-specific.)

In such a case you can use http://mercurial.selenic.com/wiki/TransplantExtension to copy the changesets of interest. You can also 'hg export' them as patches and 'hg
import' them in the destination. Either way, the changeset IDs of the copies will be distinct, but the content should be identical, including author, date, and message.
Beware that Windows users have reported issues with newlines, probably trivially correctable using a tool such as dos2unix on the patches.

> I read this
> http://wiki.netbeans.org/HgHowTos#section-HgHowTos-TransferAModuleSHistoryToAnotherRepository 

Not applicable for this case. Your module already exists in main/contrib.