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.

  • Consequences of using graft in Mercurial
  • Starteam to SVN migration, alternatives to Polarion?
  • Keep Git Reflog Indefinitely?
  • What is the recommended workflow using Git?
  • pip install always clones git repos even if package is already installed
  • Installing Git on OS X
  • 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?

  • How to best version design documents?
  • What is snapshot builds/sources version?
  • Retrieve previous version of a stored procedure
  • Changing Git protocol for RStudio project already under version control in Windows
  • GIT : “git-upload-pack: command not found” while pushing to remote server
  • Is AnkhSVN any good?
  • 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.