Larry wrote: "Maybe this is a silly question, but why do you build at all?"

Based on my past experiences none of your questions are silly, and
they usually expose flaws in my reasoning.

I will likely build after most changes to make sure that things still
work. One personal challenge I have with programming OJ's core is a
lack of a comprehensive unit testing suite. Of course, some of the
binding between the programs model and GUI makes this unit testing a
challenge to begin with, and I am hoping to fix that.

So the short answer to your question is: I will build the core with my
changes incrementally to make sure it still works.

I realize I can still miss some bugs, but without a comprehensive test
suite, I don't know that there is another option.

I pretty sure that their will be problems getting everyone to approve
my refactorings in the core, so I think a separate "branch" of the
core will be needed. It doesn't really matter to me if this branch is
in the JPP SVN or in the SurveyOS SVN. Maybe SVN has a built-in
feature that will handle my problem, that is part of the reason I
thought I'd ask you guys before I cooked something up.

I bought the Apress book on Subversion, but it hasn't arrived yet. :]

SS

On Tue, Dec 30, 2008 at 11:00 AM, Larry Becker <becker.la...@gmail.com> wrote:
> Maybe this is a silly question, but why do you build at all?  It isn't like
> you are going to distribute every iteration and change.
>
> Larry
>
> On Tue, Dec 30, 2008 at 12:51 PM, Sunburned Surveyor
> <sunburned.surve...@gmail.com> wrote:
>>
>> 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
>
>
>
> --
> http://amusingprogrammer.blogspot.com/
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
>

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

Reply via email to