Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I sync my custom CodePlex Mercurial fork against the main trunk?

I've made a fork of some codeplex project. Done some extra code, etc and have even pulled my custom code into the source control repo.

In those few weeks and months since i was working on my own fork, their main trunk has been updated.

how can i sync my code with that of the trunk?

(the main reason for me wanting to sync my code with the trunk is that they upgraded to vs2010 and i'm still using a vs2008 project version :( ).

like image 389
Pure.Krome Avatar asked Aug 19 '10 08:08

Pure.Krome


1 Answers

I just ran into the same issue and ended up here. While the comments above lead to the correct answer, they may not cut it for a person new to Mercurial who wants to contribute to an open source project.

A plain hg pull would only pull any changes from your fork to your local cloned repository, not helpful in this case. There is an optional parameter [SOURCE] that allows you to pull from the trunk instead.

Here are the Mercurial command-line commands needed to do the job (replace "someprojectname" accordingly for your desired CodePlex project or, for similar systems, replace the entire URL with your fork's trunk's URL [vs. your fork's URL]):

  1. [Optional] See what changesets are in trunk but not in your local repository: hg incoming https://hg01.codeplex.com/someprojectname
  2. Pull new changesets to your repository: hg pull https://hg01.codeplex.com/someprojectname
  3. Merge those changes into your own code (resolving conflicts accordingly): hg merge
  4. Commit the results to your local repository: hg commit -m "Some message about merging changes from trunk."
  5. Push the updated version of your code from your local repository to your fork on CodePlex: hg push
like image 80
patridge Avatar answered Nov 12 '22 04:11

patridge