I’m using git, but I’ll be glad to hear answers relevant to other SCMs.
I’m having a few small changes which are relevant just for me (using a different build scheme, relevant only for my configuration), and I really need to have them.
The right thing to do is of course, merge it into the trunk, but until I’ll merge it into the trunk I have to keep a list of changes which will not be committed.
So let’s say I’m need to change my makefile to have CC=mygcc (since I need the gcc symlink pointing to a bad version for other software I’m compiling), but I don’t want to commit it (others don’t, so others don’t want to have mygcc symlink).
What do I do to allow me easily synchronize and update the main repository?
In Mercurial, this is best done with an mq patch.
To make the initial patch:
Then, when it is time to pull changes from the remote or actually commit new local changes: