Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Resolve Conflicts in Synergy <ul><ul><li>What are conflicts </li></ul></ul><ul><ul><li>How to detect and resolve conflicts...
Detect and Resolve Conflicts <ul><li>A conflict is a potential problem within a project </li></ul><ul><li>Synergy uses the...
Conflict Detection <ul><li>Smarter : </li></ul><ul><li>Helps identify potential configuration problems </li></ul><ul><li>S...
How Do Conflicts Arise? Project Grouping Properties Baseline  Automatically Added Tasks Manually Added Tasks -  The change...
Conflicts and Dependencies <ul><li>An Object Version does not stand alone </li></ul><ul><ul><li>It includes all of it’s pr...
Look for Conflicts as Far Back as the Baseline Baseline project includes this version Current project includes this versio...
Conflicts Vs. Parallels <ul><li>Conflicts Vs. Parallels </li></ul>Conflicts Parallels
How to Detect Conflicts <ul><li>You can run conflict detection from either project grouping or a specific project within t...
What do Conflicts Look Like? <ul><li>Member Conflicts presents a list of conflicts for you to act on.  </li></ul><ul><li>R...
Conflicts types <ul><li>Explicit conflicts Vs. Implicit conflicts </li></ul><ul><ul><li>And now few conflicts examples…  <...
Conflicts – Object explicitly specified but not included - parallel Current project includes this version Conflict Baselin...
Conflicts - Object included by use operation?  Baseline project includes this version Current project includes this versio...
Conflicts – Object explicitly specified but not included - newer  Baseline project includes this version Current project i...
Conflicts - No task associated with object Baseline project includes this version Current project includes this version Co...
Conflicts - Implicitly required but not included - newer Baseline project includes this version Current project includes t...
Conflicts – Object implicitly required but not included - parallel  foo.c-3.1.1 task 30 foo.c-4 task 61 foo.c-3 task 56 fo...
Resolving Conflicts - tips <ul><li>Run ‘Detect Conflicts’ immediately after ‘Update’ </li></ul><ul><ul><li>Make sure updat...
Resolving Conflicts <ul><li>Update (use verbose option, if necessary) </li></ul><ul><li>Gather information </li></ul><ul><...
Configuring Conflict Detection <ul><li>Set your role to ccm_admin: </li></ul><ul><li>> ccm set role ccm_admin </li></ul><u...
Configuring Conflict Detection <ul><li>Set your role to ccm_admin: </li></ul><ul><li>> ccm set role ccm_admin </li></ul><u...
Task Reworking Task  13 foo.c-1 foo.h-1 Initial Task (13) contains a bug in foo.c-1 Task  78 The “Fix” Task (78) fixes the...
Task Rework – Exclude the “bad” Task
Creating a “fix” Task
Creating a “fix” Task <ul><li>You can optionally exclude a task from this dialog as well.  </li></ul><ul><li>This creates ...
Completing the “fixed” Task <ul><li>You can easily remove the exclusion on the bad task from the “fix” task’s properties. ...
Task Reworking Conflicts - Completed fix task not included Baseline project includes this version Completed  but not in th...
Conflicts - Task fixed by this task not included Conflict Current project includes this “ fix ” task This “ bad ” task is ...
Conflicts - Excluded task explicitly included Baseline project includes this version Current project includes this version...
Conflicts - Excluded task implicitly included bufcolor.c-3 integrate task 52 bufcolor.c-1 released task 8 bufcolor.c-2 int...
Thank You
Upcoming SlideShare
Loading in …5
×

Understanding Synergy Conflicts

4,550 views

Published on

  • Be the first to comment

Understanding Synergy Conflicts

  1. 1. Resolve Conflicts in Synergy <ul><ul><li>What are conflicts </li></ul></ul><ul><ul><li>How to detect and resolve conflicts </li></ul></ul><ul><ul><li>Task Reworking </li></ul></ul><ul><li>Based on ‘Resolving Conflicts’ chapter </li></ul><ul><li>in Rational’s Synergy BM training </li></ul><ul><li>Yaron Zelichover </li></ul><ul><li>October 2009 </li></ul>
  2. 2. Detect and Resolve Conflicts <ul><li>A conflict is a potential problem within a project </li></ul><ul><li>Synergy uses the relationships it knows about to detect conflicts: </li></ul><ul><ul><li>Source objects associated with a task </li></ul></ul><ul><ul><li>The project’s update properties </li></ul></ul><ul><ul><li>The source object’s history </li></ul></ul>
  3. 3. Conflict Detection <ul><li>Smarter : </li></ul><ul><li>Helps identify potential configuration problems </li></ul><ul><li>Synergy’s way of double-checking you have what you requested </li></ul><ul><li>Are All Conflicts Bad? </li></ul><ul><li>No, conflict detection is used to notify you about potential problems </li></ul>
  4. 4. How Do Conflicts Arise? Project Grouping Properties Baseline Automatically Added Tasks Manually Added Tasks - The changes that belong together (associated with a task) - The changes that include other changes (predecessors) - The tasks you have specified to be in your project grouping properties
  5. 5. Conflicts and Dependencies <ul><li>An Object Version does not stand alone </li></ul><ul><ul><li>It includes all of it’s predecessors’ changes </li></ul></ul><ul><li>Dependency relationships is a key concept in understanding conflicts </li></ul>bar.c-2 task 27 All 3 changes from these tasks are implicitly included in task 61 bar.c-4 task 61 bar.c-3 task 56 bar.c-1 task 15
  6. 6. Look for Conflicts as Far Back as the Baseline Baseline project includes this version Current project includes this version Version that conflict detection has to check bar.c-3.1.1 task 74 bar.c-4 task 61 bar.c-3 task 56 bar.c-2 task 27 bar.c-1 task 15
  7. 7. Conflicts Vs. Parallels <ul><li>Conflicts Vs. Parallels </li></ul>Conflicts Parallels
  8. 8. How to Detect Conflicts <ul><li>You can run conflict detection from either project grouping or a specific project within the grouping. </li></ul>
  9. 9. What do Conflicts Look Like? <ul><li>Member Conflicts presents a list of conflicts for you to act on. </li></ul><ul><li>Remember to add the “Message” attribute into the conflicts dialog </li></ul>
  10. 10. Conflicts types <ul><li>Explicit conflicts Vs. Implicit conflicts </li></ul><ul><ul><li>And now few conflicts examples… </li></ul></ul>
  11. 11. Conflicts – Object explicitly specified but not included - parallel Current project includes this version Conflict Baseline project includes this version foo.c-3.1.1 task 30 foo.c-4 task 61 foo.c-3 task 56 foo.c-2 task 27 foo.c-1 task 15
  12. 12. Conflicts - Object included by use operation? Baseline project includes this version Current project includes this version Conflict foo.c-4 task 61 foo.c-3 task 56 foo.c-2 task 27 foo.c-1 task 15
  13. 13. Conflicts – Object explicitly specified but not included - newer Baseline project includes this version Current project includes this version Conflict bar.c-32 task 27 bar.c-34 task 56 bar.c-31 task 15 bar.c-33 task 30
  14. 14. Conflicts - No task associated with object Baseline project includes this version Current project includes this version Conflict foo.c-4 task 61 foo.c-3 foo.c-2 task 27 foo.c-1 task 15
  15. 15. Conflicts - Implicitly required but not included - newer Baseline project includes this version Current project includes this version Current project includes this version Conflict task 56 foo.c-4 task 61 foo.c-3 task 56 foo.c-2 task 27 foo.c-1 task 15 bar.c-34 task 56 bar.c-33 task 30 bar.c-32 task 27 bar.c-31 task 15
  16. 16. Conflicts – Object implicitly required but not included - parallel foo.c-3.1.1 task 30 foo.c-4 task 61 foo.c-3 task 56 foo.c-2 task 27 foo.c-1 task 15 Current project includes this version Baseline project includes this version Current project includes this version Conflict bar.c-34 task 56 bar.c-31 task 15 task 30 Baseline project includes this version bar.c-33 task 30 bar.c-32 task 27
  17. 17. Resolving Conflicts - tips <ul><li>Run ‘Detect Conflicts’ immediately after ‘Update’ </li></ul><ul><ul><li>Make sure update completed successfully </li></ul></ul><ul><li>Gather information about the conflicts </li></ul><ul><ul><ul><li>Version used in project </li></ul></ul></ul><ul><ul><ul><li>Object’s history </li></ul></ul></ul><ul><ul><ul><li>Object’s task </li></ul></ul></ul><ul><li>Begin by resolving ‘Explicit’ conflicts </li></ul><ul><li>For each implicitly included or required object: </li></ul><ul><ul><ul><li>Should the task be added to the project’s update properties? </li></ul></ul></ul><ul><ul><ul><li>Should the successor’s tasks be removed? </li></ul></ul></ul><ul><li>After resolving some conflicts, run conflict detection again </li></ul>
  18. 18. Resolving Conflicts <ul><li>Update (use verbose option, if necessary) </li></ul><ul><li>Gather information </li></ul><ul><li>For each implicitly included or required object: </li></ul><ul><ul><li>Should the task be added to the project’s update properties? </li></ul></ul><ul><ul><li>Should the successor’s tasks be removed? </li></ul></ul><ul><li>If you update the project’s update properties, update again </li></ul><ul><li>Merge parallel versions where needed </li></ul><ul><li>After resolving conflicts, run conflict detection again </li></ul>
  19. 19. Configuring Conflict Detection <ul><li>Set your role to ccm_admin: </li></ul><ul><li>> ccm set role ccm_admin </li></ul><ul><li>Query for the admin object in the database: </li></ul><ul><li>> ccm query -n base -t model </li></ul><ul><li>Edit the attribute: </li></ul><ul><li>> ccm attr -m conflict_parameters @1 </li></ul>
  20. 20. Configuring Conflict Detection <ul><li>Set your role to ccm_admin: </li></ul><ul><li>> ccm set role ccm_admin </li></ul><ul><li>Query for the admin object in the database: </li></ul><ul><li>> ccm query -n base -t model </li></ul><ul><li>Edit the attribute: </li></ul><ul><li>> ccm attr -m conflict_parameters @1 </li></ul>
  21. 21. Task Reworking Task 13 foo.c-1 foo.h-1 Initial Task (13) contains a bug in foo.c-1 Task 78 The “Fix” Task (78) fixes the bug in foo.c-2 foo.c-2
  22. 22. Task Rework – Exclude the “bad” Task
  23. 23. Creating a “fix” Task
  24. 24. Creating a “fix” Task <ul><li>You can optionally exclude a task from this dialog as well. </li></ul><ul><li>This creates a second task to fix the bad task </li></ul>
  25. 25. Completing the “fixed” Task <ul><li>You can easily remove the exclusion on the bad task from the “fix” task’s properties. </li></ul>
  26. 26. Task Reworking Conflicts - Completed fix task not included Baseline project includes this version Completed but not in the update Properties of this project Conflict bufcolor.c-1 released task 8 bufcolor.c-2 integrate task 27 bufcolor.c-3 integrate task 52
  27. 27. Conflicts - Task fixed by this task not included Conflict Current project includes this “ fix ” task This “ bad ” task is not in the Update Properties of this project bufcolor.c-3 integrate task 52 bufcolor.c-2 integrate task 27
  28. 28. Conflicts - Excluded task explicitly included Baseline project includes this version Current project includes this version Conflict bufcolor.c-1 released task 8 bufcolor.c-2 integrate task 27
  29. 29. Conflicts - Excluded task implicitly included bufcolor.c-3 integrate task 52 bufcolor.c-1 released task 8 bufcolor.c-2 integrate task 27 Baseline project includes this version Current project includes this version Conflict
  30. 30. Thank You

×