I’m working on a project which uses GIT as the main version control system for trunk, the official branches and most sub-projects/unofficial branches. As such, I want to make my own branch use GIT to allow the rest of the community to access my branch using the system they know.
However, I’m working on a part of the project which overlaps both official and unofficial branches, along with some patches which will never enter trunk – as such, I need to be able to keep my patches separate, allowing all to be used in my branch and selective patches to be taken for use in trunk. This naturally leans towards using mercurial queues.
Is there any reason that I can’t use mercurial for my own local repository, but push the entirety to both GIT and Mercurial hosted repositories? Or rather, is there any good reason not to, I’m sure it’s possible.
2
You shouldn’t do this for the same reason you shouldn’t have a variable which tries to track the state of another – you might lose track of which version is authoritative.
2
I currently do this using git and svn. While there are reasons not to do it, there is no general rule. Git can do things svn cannot, I am used to those features so my workflow hence productivity increases when I can use git. Looking at the pros and cons in my situation, I would be stupid not to use both. You should look at your situation the same way. (btw the only cons for me are having to run a single tiny script to sync git with svn)
You can keep your patches separate in Git: do each one on its own branch, then merge them in selectively as desired.