Hi Manfred,
Looking at the tomcat repo here;
http://svn.apache.org/repos/asf/tomcat/current
they appear to have a 'root' for each major version.
breck:~ bdudney$ svn ls http://svn.apache.org/repos/asf/tomcat/current
tc3.3.x/
tc4.1.x/
tc5.5.x/
Each of these in turn point to a list of what look like 'roots' for
the various sub-projects that make up TC
breck:~/ bdudney$ svn propget svn:externals http://svn.apache.org/
repos/asf/tomcat/current/tc5.5.x
build https://svn.apache.org/repos/asf/tomcat/build/tc5.5.x
container https://svn.apache.org/repos/asf/tomcat/container/tc5.5.x
connectors https://svn.apache.org/repos/asf/tomcat/connectors/trunk
jasper https://svn.apache.org/repos/asf/tomcat/jasper/tc5.5.x/jasper2
servletapi https://svn.apache.org/repos/asf/tomcat/servletapi/
servlet2.4-jsp2.0-tc5.x
breck:~/ bdudney$ svn propget svn:externals http://svn.apache.org/
repos/asf/tomcat/current/tc4.1.x
container https://svn.apache.org/repos/asf/tomcat/container/branches/
tc4.1.x
connectors https://svn.apache.org/repos/asf/tomcat/connectors/trunk
jasper https://svn.apache.org/repos/asf/tomcat/jasper/branches/tc4.1.x
servletapi https://svn.apache.org/repos/asf/tomcat/servletapi/
branches/servlet2.3-jsp1.2-tc4.x
They have a huge code base and a ton of history to support (are they
still doing 4.x work? yikes!). I think we could do something similar
but a bit simpler.
TTFN,
-bd-
On Nov 29, 2005, at 4:51 PM, Manfred Geiler wrote:
Then we should make a 1.2 branch - is that the best practice?
I would think you'd want to create a branch for the older code,
and keep
the latest development (i.e. 1.2 enhancements) on trunk. Otherwise
you need
to ask yourselves what 'trunk' means, going forwards.
How do other projects (eg Tomcat) start new spec implementations?
The Tomcat team has incremented the major version when the
Servlet spec
changes. For example:
Tomcat 3.x --> Servlets 2.2
Tomcat 4.x --> Servlets 2.3
Tomcat 5.0.x --> Servlets 2.4
Tomcat 5.5.x --> Servlets 2.4 with JDK 5
And did/do they always have a branch for the older versions? And do
they merge back useful changes and bug fixes? Sounds complicated if
there are complete refactorings.
Or did they start off with 5.0.x by copying the 4.x code to a new
root dir?
Manfred