...
Our strategy is to give PLFM a master branch and also an API-stable branch. Developers changing the master branch are not responsible for immediately verifying that the changes work with clients (and may even purposely 'break' the current APIs). However, changes to this branch are not immediately available to the clients. Workers changing the API-stable branch are responsible for testing (perhaps after making corresponding changes to) the clients and making sure they work.
PLFM Branch Choice | Advantages | Disadvantages |
---|---|---|
master | May 'break' client; need not verify client functionality. | Changes are not immediately available to client developers. |
API-stable | Changes are immediately available to client developers | Developer must ensure client functionality. |
1) If you're working on PLFM and the changes *don't* need to be used immediately by clients, then you may work off of the 'master' branch. Pull from the remote master, create a branch for your work, code and test, then merge back into master and push to github.
...