Working with Embedded Wizard: Using Embedded Wizard Studio in a team

Similarly to other development tools, Embedded Wizard Studio manages the project information in files stored directly on your local file system. If several developers are working on the same project, then they have to copy and share the files. From this arises a potential difficulty, that developers working simultaneously have to review and merge the made modifications carefully. This chapter provides few tips how to deal with such situations.

Use a version control system (VCS)

In order to track project modifications we recommend to put all project files under a version control system. Several developers working on the same project can then check out the files, modify them and finally check in or commit the modifications. Since Embedded Wizard Studio stores the files in readable text format two versions of one and the same file can be compared by using an adequate file compare tool. Usually version control systems provide such compare features intrinsically.

Configure the Split attribute

Despite the use of a version control system and file compare tools, when two developers are modifying one and the same unit simultaneously the version management of the corresponding unit file .EWU can still result in a laborious task.

This can be simplified by instructing Embedded Wizard Studio to store the unit as directory containing individual files for every project member defined inside it. You can imagine, that with this mode every class, constant, bitmap resource, etc. existing within the unit will occupy a separate file. This reduces significantly the probability, that modifications made by two developers working on the same unit can interfere.

In principle, as long as the developers avoid to modify the same member, there is no need to merge any modification. Only when new members are added to the unit, or existing members are reordered or deleted from it, it is necessary to merge the index file. This file, named literally .dir, resides within the unit directory together with other files belonging to it.

This special mode is controlled by the attribute Split you can configure for every unit individually. The modification of this attribute has an effect next time you save the project. Then depending on your setting, Embedded Wizard Studio will store the unit either as a single .EWU file or as a directory containing for every project member an individual .EWUI file. The directory and all files existing inside it can be put under a version control system. See also Project files.

Warning: unit has been changed outside Embedded Wizard Studio

While you are working on your project, Embedded Wizard Studio monitors all project files and detects when other external application has modified them. If such file modification is detected, Embedded Wizard Studio displays a warning message in the Log window. For example:

Usually this occurs when two instances of Embedded Wizard Studio are opened, both with one and the same project. Accordingly, when you save the project in one instance, the other instance will report eventual modifications. Similarly, when you get a new version of your project from a version control system or you simply copy project files from your team colleague while the project is still opened, Embedded Wizard Studio will report it.

Now you have two options how to proceed:

If you want to load the newer file into Embedded Wizard Studio, double click on the message and confirm the operation in the thereupon displayed message box. With this operation you replace the actual version in Embedded Wizard Studio. Usually, this is the case after you got a newer version of the file from e.g. a version control system:

If you ignore the message, then Embedded Wizard Studio continues to work with the old version. Next time you save the project, Embedded Wizard Studio will ask you whether you really want to replace the externally modified file. If you confirm, the old version in Embedded Wizard Studio overwrites the newer version on the file system. This is typical, if you want to revert an undesirable modification.