...
(to edit diagram, go to https://docs.google.com/a/sagebase.org/drawings/d/1s2zCr57TOajuuMHnD8xMXWVIWmPDINNE-MTFSMlNx4U/edit)
Development Workflows
...
If you are making changes to PLFM's API and also are changing a client to reflect these changes, then:
(to edit diagram, goto https://docs.google.com/a/sagebase.org/drawings/d/1X05G5t_8tzW8lQjroQQk3HH9aTHYyvFZfPMg1eckTuU/edit)
- pull from the client's master branch (creating a local branch for development)
...
- run pomVersioner.py to increment version, e.g. from 0.13.1.1 to 0.13.1.2
to incorporate PLFM master with - push to 0.13.1
- push to the client's master branch
- on PLFM, git checkout master
- pull from remote
- merge the API-stable branch
Say the latest API-stable branch is 0.13.7.
1) 's changes
- resolve any conflict and get a clean build
- run the pomVersioner to restore the master's version, e.g. to 0.13.2-SNAPSHOT
- push to the PFLM master branch
Incorporating PLFM master with the API-stable branch
(to edit, go to : https://docs.google.com/a/sagebase.org/drawings/d/1WUtUpzq1vtbv9nd1o3S3Dq_cUbLoDczDFqZBv3Pl3PI/edit)
Pull from PLFM master
- on master, 'git checkout -b 0.13.8
2) git push origin 0.14.0
3) edit pomVersioner.py so 'newVersion' is 0.14.0; run 'python pomVersioner.py'2' to create the new branch
in the client project, pull from master, changing the version to be the version of the local PLFM snapshot (0.13.2-SNAPSHOT)
work to make client and PLFM work together
in PLFM branch, change version to 0.13.2.1 and push
in client master, change version to 0.13.2.1 and push
in PLFM master, merge the branch, change version to 0.13.3-SNAPSHOT and push to remote