wiki:UnifyingCodebaseFAQ
Last modified 6 months ago Last modified on 11/14/11 18:38:51

Unifying Codebase FAQ

This page is for those developers who are interested in the workflow changes related to unifying codebase.

What is the minimal information I should know?

The "big change" has been done on a preannounced day, 2011-11-14.

  1. You must recreate your geogebra project --- it will have a new name ("desktop"). The easiest way for this is to set up a new workspace in Eclipse. Please re-read the SetUp page very carefully. There are important changes including the GWT and the Subclipse plugins. Important: There were additional mandatory changes in the last few months, please make sure you understand all of them:
    • disabling automatic build feature before importing an SVN subtree,
    • using kickstart.xml instead of using 3rd party JARs directly from SVN,
    • disabling automatic build before running ANT files,
    • now there will be 3 projects, not one, and the SVN URL for Eclipse has been changed to http://www.geogebra.org/svn/trunk/geogebra.
  2. Most files have been moved into the desktop subdirectory. So if you are searching for a previous file, you need to look for it somewhere else.
  3. Some files from (desktop/)geogebra/ have been moved into common/src/geogebra/common. Those files have changed package names as well. It means that each older file can have 2 possible new locations: one of them will surely work.

Should I also do some refactoring on my code?

This is not required, but you are welcome to help. Read the details at http://dev.geogebra.org/trac/wiki/UnifyingCodebase#Detailsonporting.

If you plan to do some refactoring, please use the Subclipse plugin instead of Subversive.

I am interested on why this big change is required at all, is there any related info?

Please read Julian's thoughts at https://docs.google.com/present/view?id=0AVEeeZBuMchKZGdqdG1kdmZfNDVjbXR2bmZnZw&hl=en_US (slides 4-13 on the merge problem).

Material for press release

These diagrams show the concept of codebase unifying. The first figure illustrates the merge problem:

This one is the solution by using codebase unifying (by using the same colors and polygon types used by Julian in his presentation):

See the attachments in ODG format if you want to edit these figures for publishing. (The PNGs are scaled to 50%.)

What has exactly been changed in the repository during the "big change"?

Lots of things, see UnifyingCodebase for details.

Attachments