Branching, merging and tagging in Talend

Talend Software Development Life Cycle Best Practices Guide

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Big Data
Talend MDM Platform
Talend Data Management Platform
Talend Data Fabric
Talend ESB
Talend Data Services Platform
Talend Data Integration
task
Administration and Monitoring
Design and Development
Deployment
EnrichPlatform
Talend CommandLine
Talend Artifact Repository
Talend JobServer
Talend Studio
Talend Administration Center
Best Practices and tips for using Git and SVN with the Talend products.

Best practices for Git:

  • All developers should work on branches other than the 'master'.

  • For each development (bug, new features), a feature branch is created. The developers work in local mode and ask for a review of their commits before merging their changes into the remote 'master' repository.

    On a Git remote project, Branches are either remote (Remote Mode, default mode) or local (Local Mode) branches. When a developer works in local or offline mode on a Git project, he/she is working on the local branch associated with the branch he/she last worked on, and changes are automatically committed to the local Git repository. Once the feature is ready, the developer needs to push the commits to make it a remote development branch before merging this remote branch to the 'master' when the feature is tested.

    Unlike SVN, in Git a remote branch is created on the whole repository and thus is available in all projects of this repository.

    For more information on how to work on local and remote branches and how to merge remote branches, see the Talend Studio User Guide.

  • Each time developers reach a Milestone (for releases, features, sprints, etc.), a Tag should be used. A new Tag should be created when the feature is ready for delivery (Production environment). If the tagged version needs bug fixing, a branch can be created from the Tag and the fix can then be included in the 'trunk'/'master'.

  • It is recommended to define patches as minor versions and full releases as major versions.

  • When working in a specific branch, it is recommended to filter the project on this branch using the Git Branches whitelist option in order to reduce the use of disk resources and improve performances.

Best practices for SVN:

  • All developers should work on Jobs in the 'trunk' of the Development environment.

  • When a new intermediate release is required, the 'trunk' needs to be copied in its entirety to the new Branch or Tag.

  • Each time developers reach a Milestone (for releases, features, sprints, etc.), a Tag should be used.

  • A new Tag should be created when the feature is ready for delivery (Production environment). If the tagged version needs bug fixing, a branch can be created from the Tag and the fix can then be included in the 'trunk'.

  • It is recommended to define patches as minor versions and full releases as major versions.

  • When working in a specific branch, it is recommended to filter the project on this branch using the SVN Branches whitelist option in order to reduce the use of disk resources and improve performances.

Talend provides a number of tools for branches and tags management, which are covered in Branching, Merging and Tagging in Talend.