Integrated Version Control for Dynamics NAV in VSCode – Branches

Fortunately, this kind of branch does not require green fingers. Branches are a great tool to organize multiple versions of AL-code and keep a brigade of developers happy. This article will describe an approach for branches in a project environment.

Branches are useful in situations in which it is necessary to maintain and organize source code in multiple versions for the same production system. For Dynamics NAV-projects it is a common environment to have at least three databases: a development-, a test- and a production-database. Due to a lack of version control in the classic DEV-environment, one of the strategies for source code management is, to copy code changes  from the development-database as soon as possible to the test- and production-database. Additionally, it may be necessary to check every object, because it could be that either code will be overwritten or not-yet-ready changes could be delivered into production.

Branches enabling a new way of management with a modern aspect, eliminating the above described problems by using a system-controlled version management. A Version Control-system will identify changes and force the developer to check automatically. When delivering code, the delivery can be without doubts.

For a classic project-environment three major branches are a possibility to utilize the Version Control-integration in a modern software delivery approach. The following diagram demonstrates the cooperation of a development-, test- and production-branch.

3 branch organisation

As the diagram shows, it is a possibility to merge changes of the test-branch into the development-branch. This delivery direction is, of course, an individual decision.

For the process of development (sprints!), branches are helpful also. Imagine a project with several developers working for the same client on different tasks. Each developer could easily create a personal branch of the development-branch and work undisturbed on the tasks as demonstrated in the following diagram.

branch-per-task

The adoption of VSCode with Version Control will create new tasks for development in Dynamics NAV, but it will boost the effectivity.

More
articles

%d bloggers like this: