I'm trying to figure out the best way to manage version control for my
refactoring of OpenJUMP. When I was originally thinking about the
refactoring, this wasn't an issue, because I was going to start with a
blank slate and add parts as I went along. I've decided it would be
better to start with the complete core and slowly integrate my
changes, making sure that things build and run along the way.

This leaves me with an interesting source code version control
challenge. I'll really need to manage two (2) versions of OpenJUMP's
core. The first version is the core in the JPP SVN repository. This is
where most of our community's development work takes place. The second
version will be in my own SVN repository. This is where I will be
making all of the changes for the refactoring. What I would like to do
is synch these two (2) repository so I can overwrite existing code
with my changes but still stay up to date with all the other
improvements being made. This shouldn't be a major problem, because
I'll only be tweaking about 10% to 20% of the core, and I can still
suck in the improvements made to the other 80% or 90%.

Here is an example of what I'll want to do:

I'm refactoring out an Application class from the JUMPWorkbench that
will represent the "model" of the application and will separate it
cleanly from the GUI. I'll want to add my Application.java file and
overwrite the existing JUMPWorkbench.java in my copy of the JPP SVN.
I'll need to do this while using the latest versions of all the other
classes in the package that contains the JUMPWorkbench.java file.

My build process will run something like this:

[1] Download the latest copy of the core from the JPP SVN.
[2] Download the latest copy of the refactored classes from the core
in the SurveyOS SVN.
[3] Copy over the refactored classes to the copy of the core from the
JPP SVN, overwriting existing classes when necessary.
[4] Build the merged core to produce the executable program.

I'm thinking I can write a fairly simple Ant Task that will perform
the last two steps automatically. I can just work with two (2) Eclipse
projects linked to the two (2) SVN repositories like I normally do,
but I'll run the build script with my custom task when building the
executable program.

I'm wondering if there is already and existing tool (Ant Task or other
tool) or existing functionality in the SVN program that will allow me
to work with two (2) repositories in this way. I don't want to
reinvent the wheel.

Please let me know if you have any suggestions. If not, I'll work on
creating my custom Ant Task for this work over the next couple of
weeks.

Thanks,

The Sunburned Surveyor

P.S. - All of my work will be taking place in a WORKING COPY of the
JPP SVN. I'm not talking about making any changes to the core the
other programmers use, unless my changes are first approved by our
community. In this case, I would commit my changes directly to the JPP
SVN.

------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to