Presentation is loading. Please wait.

Presentation is loading. Please wait.

Branching, Switching and tagging Francesco Furfari CNR-ISTI Italy.

Similar presentations


Presentation on theme: "Branching, Switching and tagging Francesco Furfari CNR-ISTI Italy."— Presentation transcript:

1 Branching, Switching and tagging Francesco Furfari CNR-ISTI Italy

2 Trunk/c1 Trunk/c2 Sandbox/D1 V1.0.0 Tag/c1-V1.0.0 V1.0.1V1.0.2 C1-V1.0.2C1-V1.2.0 V1.2.0 C1-V1.2.0 Validation C1-V1.2.0 validated Branch Merge Tag/c1-V1.2.0 Released &Tagged V1.2.1 Tagged Sandbox Usage 1 for major and minor changes

3 Svn:Trunk/c1 Svn:Trunk/c2 V1.0.1V1.0.2V1.2.0 validated Update Artifact version to validated Update Artifact version to Branch V1.2.1 Merge Developers Local View D1 & D2 (Validator) D1 -- local:trunk/c1 Artefact version unchanged, always aligned to the trunk V1.0.2 Artefact version unchanged, always aligned to the trunk V1.0.2 V1.0.1V1.0.2 V1.2.0 C1-V1.2.0 Validation Switch and test C1-V1.2.0 Validation Switch and test D2 -- local:trunk/c1 V1.0.2 V1.2.0 Svn:Sandbox/D1 C1-V1.0.2C1-V1.2.0 commits Switchcommit Switch

4 Svn: Trunk/c1 Svn:Trunk/c2 Svn:Sandbox/D1 V1.0.0V1.0.1V1.0.2 C1-V1.0.2C1-V1.2.0 V1.2.0 C1-V1.2.0 Validation C1-V1.2.0 validated Branch Merge Tag/c1-V1.2.0 V1.2.1 Tagged Sandbox usage 1.a Artefact development shared among several developers D2 -- local:trunk/c1 V1.0.3V1.0.4 V1.0.3V1.0.4 Merge Commit

5 Trunk/c1 Trunk/c2 Svn: Sandbox/D1 V1.0.0 Tag/c1-V1.0.0 V1.0.1V1.0.2 C1-V1.0.0-bug-123 V1.2.0 Released &Tagged V1.2.1 Commit Sandbox Usage 2 for bug fixing of released software D1 -- local:trunk/c1 V1.2.1 Switch V1.2.1 C1-V1.0.0 bug fixed C1-V1.0.0 validated C1-V1.0.0-bug-123 Tag/c1-V1.0.0-patch-123 Release Patch &Tag C1-V1.2.0 evaluate & apply Merge or Porting Switch Branch

6 Trunk/c1 Svn: Sandbox/D1 V1.0.2 C1-V1.2.1-patch-456 V1.2.0V1.2.1 Commit Sandbox Usage 3 applying external patches D1 -- local:trunk/c1 Branch V1.2.1 Apply patch-456 validate C1-V1.2.1-patch-456 MergeSwitch V1.2.1 Switch V1.2.2 V1.2.1

7 Validate Multi-component changes Svn:Trunk/c1 Svn:Trunk/c2 V1.0.1 V3.0.2 Svn:Branches/NewFeature/c1 Svn:Branches/NewFeature/c2 V1.0.1 V3.0.2 V2.0.0 V3.3.0V3.4.0 Branch V2.0.0 V3.4.0 V1.1.0V1.2.1V1.2.2V2.0.0 Replace V3.4.0 Merge

8 Development options Each artefact (bundle) should have one developer – Changes to artefact are accepted and delegated from the main developer (responsible) Complex artefacts may have several developers who appoint a coordinator (leader) – Changes must be coordinated in the group and notified (automatically) Changes/bug fixes provided by a developers external to the bundle development should be tracked and applied as patches from the developers coordinating the bundle development. Changes and release of multiple artefacts should be coordinated and developed in new branches that are merged when the code is ready and validated. Sandboxes should be intensively used for each activity that requires testing of the code from third developers Alternative implementation of the same artefact should be developed in the sandbox, validated and moved to the trunk with a different name.


Download ppt "Branching, Switching and tagging Francesco Furfari CNR-ISTI Italy."

Similar presentations


Ads by Google