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