JML4 source is held in the jmlspecs subversion repository. Here is the structure:
/ (root) !!! IMPORTANT NOTES!!! jml4/ ------------------------------------------- trunk/{org.eclipse.jdt.core, ...} <== the main development stream, 3.4 currently branches/3.3 <== 3.3 (maintenance) stream {org.eclipse.jdt,core, ...} tags/3.3 eclipse.org/ <== "vendor" source from Eclipse.org CVS trunk/{org.eclipse.jdt.core, ...} <== trunk will be for 3.4 stream branches/3.3 <== 3.3 (maintenance) stream {org.eclipse.jdt,core, ...} tags/3.3
The eclipse.org
directory is our CVS equivalent of vendor branches for the Eclipse.org source of org.eclipse.jdt.core
etc.
(PC: small note so that I don't forget. We will want, to the extent possible, to merge changes to jml4/branches/3.3 back into jml4/trunk ... in particular, this should be possible for the jml4-utils project.)
Here is information about svn versions of the jml4/branches/3.3. The table will be used to help keep track of which versions of the Eclipse JDT 3.3 maintenance stream have been merged into our jml4/branches/3.3/org.eclipse.jdt.core.
Eclipse JDT CVS tag
jmlspecs version number of jml4/branches/3.3/ org.eclipse.jdt.core
Merged in by
On date
v_771, R3_3
135
PC
2007-09-13
v_772a_R33x
143
PC
2007-09-13
v_773_R33x
-
-
-
v_774_R33x
-
-
-
v_775_R33x
-
-
-
v_776_R33x
-
-
-
v_777_R33x
-
-
-
v_778_R33x
-
-
-
v_779_R33x
-
-
-
Below are some notes (almost in the format of a bash script), showing how I merged in v_772_R33x. (Some of the definitions might be found here JML4 Repository, initial setup instructions
# NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE # NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE # # From this point on, we commit 3.3 work to the 3.3 branch! # # Here is an example of merging in an Eclipse release: # I am assuming you have a working copy of jmlspecs under the following dir: export jml4wkcp=~/jml4wksp/wkcp/jmlspecs # This is the JDT version we want to merge into our 3.3 "vendor" branch: export eVersTag=v_772_R33x # Create $jml4wkcp/.. if it does not exist. # mkdir ... # Then svn co $jmlsvn. # Get cd $jml4wkcp/../.. mkdir $eVersTag; cd $eVersTag cvs -Q -d:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse export -r $eVersTag org.eclipse.jdt.core cd $jml4wkcp cp -R ../../$eVersTag/org.eclipse.jdt.core/ $jml4wkcp/eclipse.org/branches/3.3 # Ensure that there are no differences ... diff -r ../../$eVersTag/org.eclipse.jdt.core/ $jml4wkcp/eclipse.org/branches/3.3/org.eclipse.jdt.core/ | grep -v ": \.svn" | head svn commit -m "eclipse.org $eVersTag" # Take note of the svn repository number. Call it $VB. ## e.g. 143. # You need to find out the versions of the svn repository that correspond to # the version before $eVersTag. Call it $VA. Then to merge in $eVersTag # version from Eclipse into jml4/branches/3.3 # cd to working copy dir where we want to bring in the merge ... cd $jml4wkcp/jml4/branches/3.3 svn merge -r $VA:$VB $jmlsvn/eclipse.org/branches/3.3 # e.g. svn merge -r 135:143 $jmlsvn/eclipse.org/branches/3.3 svn commit -m "Merged $VA:$VB (prev-vers:$eVersTag) of eclipse.org/branches/3.3 into jml4/ # svn commit -m "Merged 135:143 (prev-vers:$eVersTag) of eclipse.org/branches/3.3 into jml4/branches/3.3"
Wiki: JML4 Repository, initial setup instructions
Wiki: JML4
Wiki: JmlEclipse