Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Source Branches and JDOM2
The migration from CVS to GitHub was done using a single 'master' branch. This branch represented the most current state of the CVS as at the end of the JDOM 1.1.1 code cycle.
The 'standard' development model for JDOM in GitHub will be to keep development on the master branch, and then create a version branch when needed.
Currently branches exist for JDOM 1.0, JDOM 1.1, and JDOM 1.1.1
If need be, these branches can be used for future releases on the pre-JDOM2.0 code. (perhaps a 1.1.2 release, or something). Also, they can be used to easily inspect the code state at those points in time.
The JDOM 1.1.1 branch was easy to create, but relies on it being the very first action after migrating from CVS:
git checkout -b jdom-1.1.1 git push origin jdom-1.1.1
for previous versions (1.1 and 1.0) the full history of JDOM was inspected and the build notes/dates of the releases correlated to the JDOM history. Then, it became:
git checkout -b jdom-1.1 d87a05437ce136214f9334c8312453593f7db8c3 git push origin jdom-1.1
git checkout -b jdom-1.0 7c3b7a90529c404121363ed47a1548274fcbc648 git push origin jdom-1.0
The JDOM2 development will be done on the master branch now.
UPDATE - Creating the JDOM-1.1.2 branch
The above process set up a branch for each o the released versions of JDOM. This is actually the wrong way to do things. I should have used tags to mark each release. Now, what we really want to do for JDOM-1.1.2 is to work on what is currently called the jdom-1.1.1 branch.
We need to conver the jdom-1.1.1 branch in to a jdom-1.1.1 tag (which should actually be at the previous commit because one small commit was made to JDOM after the 1.1.1 release was built), and create a new 1.1.2 branch (which will culminate in the 1.1.2 tag.
Because this process may repeat (i.e. there may be a JDOM-1.1.3) it makes sense to not call the branch 1.1.2, but to just call it jdom-1.x, which will have as many 1.x tags as needed.
So, procdure is:
- delete current 1.1.1 branch.
- create new branch jdom-1.x where jdom-1.1.1 used to be.
- create tag jdom-1.1.1 one version earlier than where the tag used to be.
Here are the steps:
# remove current jdom-1.1.1 branch - push 'nothing' in to jdom-1.1.1 branch git push origin :jdom-1.1.1 # create tag on previous version git tag -m "This is JDOM-1.1.1" jdom-1.1.1 4d5288443be604cb4d26 git push --tags # create new jdom-1.x branch where jdom-1.1.1 used to be git checkout -b jdom-1.x ea30b1e2b614f4b7d49d git push origin jdom-1.x # Create a simple Readme file. vi README.txt git add README.txt git status git commit -m "Initial commit of simple README file on jdom-1.x branch" -v git push