Evaluate Changelogic without registration!
  

Integration


If you use Changelogic version 1.x, please follow the link: Integration with Changelogic V-1.x


What is integration?
Integration is the step of when a completed and reviewed change is merged into mainline. The integration is intended to help ensure that the change still works after leaving developer's environment and together with other changes that have been integrated since isolating the change.
After the change is integrated, at least one (but probably several if you're doing bugfixes to earlier development cycle) version is formed.

Integration has several purposes:

  • to merge change with other changes
  • to make sure that the code still works when merged
  • to verify that the change works outside the developer's environment

The planning page shows you which test release cycles a change is going to be integrated into. See branching model for more information on integration to multiple branches. Microchanges are always integrated only once – into the macrochange branch. Before starting integration be sure you have all the necessary environment set up.


  1. Run ant integrate to start integration.
  2. Enter the number of the change to be integrated when prompted so.
  3. Resolve the conflicts if there are any, in a subdirectory of integration directory (specified by build property cl.fs.checkoutDir, if that property is commented out, the default location is in your working directory under .changelogic-rt).
  4. Whenever the script stops, type 'ant integrate_continue' after resolving the issues that caused the stop to continue integration.


Although possible, we advise to avoid heavy editing during integration since edits made during integration are not subject to usual pre-integration quality assurance procedures such as code review. If any files need to be added or removed during integration, the integrator should do that in the integration directory and run the VCS commands to add/remove the files, but the files should not be committed to VCS manually.


In project settings file there may have been specified multiple steps for integration. If editing results in need to repeat some step that has already been completed, or the nature of the change being integrated makes some steps unnecessary, you may order the script to jump to a later or earlier step by issuing command ant integrate_step and selecting the appropriate step from the appearing menu.


In case any critical flaws are discovered in change during integration, the integrator can declare the integration failed and send the code back to developer for refinement. To do so, click “Integration failed” on the details page of the change. The same action should be taken when severe rewriting is needed for integration due to stale code – send the change back to developer for a base version update.



It is also possible to cancel integration without sending it back to the developer. The integration can be cancelled as long as the script has not started to commit integrated code. Run ant integrate_cancel to cancel.


IMPORTANT! When integration into a test release cycle or macrochange has started, the corresponding branch is locked for further integrations until the integration of the change has finished in ALL branches. Thus you should not leave an unfinished integration lying around, as this would block attempts of integrating any other changes. If you don't have time to finish the integration and you are leaving workplace for a longer period, please bear in mind to release the locks by cancelling or failing the integration first.