The options for source control

Source control has become more prevalent with AX development in the last 5 years. Initially, there was no specific source control with the development environment, but we survived. This was done through heavy use of comments and adding a dummy method for the development history to each modified object.

We have had version control for a few versions now, and in AX 2012, it has been improved further. The source control options we have are as follows:

  • Source depot
  • Visual SourceSafe
  • MorphX VCS
  • TFS

What Microsoft recommends here is either MorphX VCS or TFS. We prefer to avoid shared development and use TFS internally, which is integrated with our project management methodology.

Microsoft provides a good reference for this in MSDN at http://msdn.microsoft.com/en-us/library/aa639568.aspx. The following table, taken from the preceding article, shows the key differences:

 

MorphX VCS

TFS

Concurrent development

No

Yes

Isolated development

No

Yes

Change description

Yes

Yes

Change history

Yes

Yes

Quality bar enforcement

Yes

Yes

Branching

No

Yes

Work item integration

No

Yes

Labelling support

No

No

The isolated development feature means that each developer has an isolated AX environment. The developer's machine (usually a virtual server) would need to be reasonably powerful in order to run the environment at a suitable speed.

It also has a more involved process; that is, the developer has to check in their work (which is file-based), and then a build has to be created.

The main advantage of TFS over MorphX VCS is the integration with work items, which can be used alongside your sure-step agile methodology. We also have an advantage in that the source is also held in a separate repository.

The MorphX VCS provides features similar to TFS (except branching), but it allows the development server to be shared by multiple developers. Objects are still checked out (and therefore locked) and checked in with comments. It also allows the use of the built-in code compare tool to review the changes between different versions.

This is a simple, yet clever, version control solution, but it also has one drawback. The version control information is stored in a set of tables in the business database. This means you lose the version control data if you rebuild the business database from the live business database.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.235.8