Is there a better way to keep your own copy of a customized open source project?

I use an open source project to host a site (OrchardCMS) which is available in a GIT repository via CodePlex. I have made a few customizations to the source code that are specific to my implementation and I want to keep preserved and under source control. However the challenge arises when there’s a new release of the source engine.

My changes certainly won’t go into the blessed repository everyone uses.

  • A Git Source Control strategy for a live Sitecore website
  • TFS Structure - Multiple Projects or Single Project?
  • What is the opposite of `git filter-branch --subdirectory-filter`?
  • How to convert a normal Git repository to a bare one?
  • Git: merge hides certain changes
  • How to restore git master, which was replaced by another master
  • Currently I’m using two repositories. I use the CodePlex OrchardCMS repository to get the latest changes from the engine the community uses (and that I contribute some bug fixes to).

    I then have my own copy which contains my changes. For this, I am using my own source control (hosted TFS from Microsoft). When an update to the core engine comes out, I XCOPY all the files from the current source to my self-maintained repository and commit them to my project.

    However this seems like there should be a better option. Any opinions?

  • Git says Automatic merge failed but when i check the file or run the mergetool there are no conflicts they were resolved correctly
  • Prune binary data from a git repository after the fact
  • Listing R Package Dependencies Without Installing Packages
  • Version control on a 2GB USB drive
  • Git vs Mercurial vs SVN
  • Continuous version control
  • One Solution collect form web for “Is there a better way to keep your own copy of a customized open source project?”

    You can use git to have an alternative solution.

    You can clone the git main repo and keep it updated with the new relases, and you can keep your local modifications, that aren’t to be shared with anyone, on a local branch.

    When a new release came out, you simply update your master branch in your git repo an then you can rebase or merge your local modications on top of it.

    Git Baby is a git and github fan, let's start git clone.