|
ENVI-met>ENVI-Labs> Developer
|
ENVI-Labs: Developer
This is an internal page for all ENVI-met developers. However: Feel free to have a look over the shoulder of our work :))
Here you will find an overview over the different modules used and other data.
The required logins are known only to the ENVI-met developers, so please don't ask us for a login unless you are one of us :)))
Subversion repositories on hosted-projects.com
These are the main repos installed on the subVersion system:
Module name |
SubVersion direct link | Trac Projectmanager Link | Short Description |
| envimet | Link | Link | The main ENVI-met program |
| library | Link | Link | The lib files (extract to .\lib) |
| editor | Link | Link | The classic ENVI-met editor |
| binary | Link | Prototype of the 4.0 binary folder | |
| leonardo | Link | Link | LEONARDO GraphicServer |
| tools | Link | Link | All other small tools for ENVI-met |
| professional | Link | Link | The new central application, "professional" is a working name |
General SubVersion repos structure
The structure of all repositories follow the standard scheme:
\-- trunk
\-- Docu
\-- Bitmaps
\-- (...)
\-- tags
\-- Version31
\-- Docu
\-- Bitmaps
\-- (...)
\-- Version40 (not existing yet)
\-- (...)
\--(etc)
\-- brances (not used yet)
|
"trunk" contains the recent working version of the associated project including the subdirectories. Standard subdirectories are \Docu for documentation stuff and \Bitmaps for pictures.
The "tags" directory contains versioned copies of the project structure as snapshots for ceratin occations (e.g. a versioned release)
Each source code directory hold a file called "changes_xx" or similar. This is the "diary" of the project branch. Please add date, name and description of important changes!!
How to use the repositories: Setting up your computer
You first need a client to manage the communication with the SVN repositories. For windows, TortoiseSVN is probably the best choice.
(DLPHI plugins seem not to be too good fro the moment).
Please: Do NOT check in binaries (.exe, .dcu) and the "_history" folder!!!
I did the initial import of the code based on ftp.sources.envi-met.de. To start on your PC, you need to checkout the repositiory into a working copy on your PC.
For each repository, a single directory is required as start. (Of course, you only need to checkout those projects and versions you want to work with.)
Normally, you checkout the "trunk" folder of each project. However, if you need to work with other tagged versions, they will require their own folder.
A prossible structure looks like this:
\-- ENVImetSources \-- lib \-- envimet \-- editor \-- tools \-- leonardo \-- leonardo37 \--(etc) |
Remember that the library repos (https://svn2.hosted-projects.com/envimet/library/trunk) MUST be checked out in "lib" in order to keep the code compilable.
As an example, there are two copies of leonardo: the one called "leonardo" which is the recent development branch has been checkout from "...\leonardo\trunk" and "leonardo37" which is the old 3.7 version which still needs some work although the next version is in work as well. This directory was generated by checking out the repos ".. \leonardo\tags\Version37".
SubVersion supports automatic re-union of branches, but we should avoid this...
Running the programs on your computer using the \binary repos
!IMPORTANT
Basically you can put the compiled units (.DCU) and .EXE on any place on your computer as you like.
However, as the output path is stored in some of the project sources, I recommend to use
\ENVImet40_binary for the .EXE files and \ENVImet40_dcu for the .DCU files (otherwise you have to change it all the time..)
While the name of the main folder is not too important, the structure of the .EXE folder must meet the ENVI-met standards.
Each of the programs requires a set of files placed in subfolders in order to run properly.
As the names and the structure of these files and folders will change throughout the developement process, the subversion repository \binary provides an up-to-date prototype of the .exe folder including all subfolders and required files.
So, if your .EXE fails to work properly, make an update of the \binary repos to your local binary folder to make sure that you have all the files required in the correct subfolders!
How to work with subversion
Well, I cannot make a list about what subVersion can do. A detailed list, better: book is here.
If you use TortoiseSVN, the WINDOWS explorer is extended with several icons showing the state of the directory you have created using the "checkout" function.
Typical operations are:
One important note:
What might happen is: You have manually added a new file called newfile.txt to your working local copy and someone else added the same file to the SVN server while you worked.
Now, when you try to commit your changes, you will flag this new file with the "Add..." flag to tell SVN to add it to the repository. However, a file of the same name is already on the server - so SVN will refuse to "add" it (because add is only for new files unkonwn before).
Unfortuntely, SVN will refuse to "Update" the file as well because the file is new and not yet registered in your SVN.
This scenario can easily happen if you check in all the Borland system files generated each time.
So please use the "Ignore files..." option to avoid this.
Once your SVN is in a deadlock situation like this, you have to open the repository and manually delete the file on the SVN side (or on your computer) or, if it is a file with real content not only some temp file, you will have to merge the files manually and then delete one of the copies....
However, before starting to work, you should at least read this page of the introduction to subVersion.
mbr (18/March/08)