Support > Tutorial (R7) > Development with the team > Concept of repository sharing
ja | en

Here are three ways to share repository folders. Wagby recommends "version control system usage method".

The design information (repository) edited by WagbyDesigner is managed in a folder called "repository" located right under the folder where Wagby is installed.For details of this folder structure, see "Repository> Repository compositionPlease read.

In team development, you need to share this repository folder.

WagbyDesigner is a web application.Therefore, multiple developers log on to one WagbyDesigner (running on the server) at the same time and rewrite the design information with everyone.

  • Start WagbyDesigner on the development server.
  • From the development machine (client), operate WagbyDesigner of the development server with the browser.
Figure 1 WagbyDesigner sharing method

Problems of this method

  • When one developer performs a build process, other developers will be interrupted.
  • Current Wagby is not compatible with this development method.You can only log on to WagbyDesigner at the same time.

The repository is managed separately by each development machine, but separate "shared drive" is prepared.We will update each other 's repository via this drive.

Figure 2 Preparing a shared drive

In this method, it is desirable to decide development personnel in model units and manage the assigned folder.

Figure 3 Operation method of shared drive

Features and caveats of this system

  • It is easiest to introduce.
  • As for management of change history, it is necessary to separately define operational rules.(Example: description in the revision history ledger) It is also good practice to prepare a Web application for revision history.
  • It is possible (in operation) to change the model that other developers are in charge of.This may cause trouble.
    • If you modify the same model by mistake, you will overwrite others' edits and the edits will be lost.
    • In case it is inevitable, it is a good idea to put the latest model information of other developers on the file server, then fix someone on it, and tell everyone (corrected).
    • For example, "change of model name or model item name" corresponds.It is because it is necessary to rewrite the item referring to the model.This is troublesome for developers and it is a work that is easy for mistakes.

As described above, there are many things that developers have to pay attention to during operation,Use of this method is also deprecatedis.

You can use a well-known version control system to share Wagby's repository.There are cvs, subversion, Git, etc. as prominent products.Both are provided as open source software and can be used free of charge.

Regardless of which product you use, you can share Wagby's repository.

Fig. 4 Use of version control system

About the word repository

The subjects managed by the version control system may also be referred to as "repositories".

Since Wagby's "repository" is design information, it has two meanings with the same word, but explains it separately so as not to be confused.

Figure 5 "Repository" of version control system

Record changes

Recording changes in the version control system is called "commit".

The version control system manages the state on a commit basis.Moreover, it has a mechanism that can return to the information at that time at any time.

Fig. 6 Concept of commit

Check the editing history

The version control system has a mechanism to check the editing history.The figure shows an example of confirming the editing history using SourceTree, a free version control software provided by Atlassian.

Figure 7 Example showing editing history of name item (customer / name / name.txt)
Figure 8 Understand the values ​​before and after the change

Returning to the past state

It is possible to restore the original state while checking the contents of the past files.

Figure 9 Example of operation using SourceTree

Detecting and resolving conflicts

When multiple developers edit the same model, each modification may collide.This is called a conflict.

In this case, the developer checks visually and decides which editing to activate (leaves) and decides to commit.

Figure 10 Example of conflict detection and resolution operation

What is subject to version control

In addition to the design information (repository folder), when customizing, add the customize folder to the version management system management target.

Automatically generated code is not subject to version control.This is because it can always be generated automatically.

Figure 11 Folder to be versioned

When files other than the changed model are changed

Other models other than models changed by developers may be changed.This happens when you perform operations related to menus.

For details, refer to "Repository> Repository Structure and Team Development> Menu> Points to note when developing a teamPlease read.

Points to note when using Eclipse

Configuration files such as $ (DEVHOME) /. Project etc are not managed by the version control system.This is because the files below work / srcgen / eclipse are overwritten to $ (DEVHOME) at build time.

On the other hand, $ (DEVHOME) / customize / eclipse /, which is a folder for storing customized eclipse configuration files, overrides work / srcgen / eclipse.When preparing this folder, please use it as a target of version control system.

Summary

There is a trouble of newly introducing version control system and memorizing how to use, but its effect is very high.For team development using Wagby, we recommend using version control system.