Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
noresm:svntutorial [2013-12-10 14:13:12] alfg |
noresm:svntutorial [2022-05-31 09:29:32] (current) |
||
---|---|---|---|
Line 64: | Line 64: | ||
CHECK OUT TRUNK FOR ONE DEVELOPER | CHECK OUT TRUNK FOR ONE DEVELOPER | ||
< | < | ||
- | alfg@pc4400: | + | alfg@pc4400: |
- | alfg@pc4400: | + | alfg@pc4400: |
</ | </ | ||
Line 169: | Line 169: | ||
==> You should now have working merge tools. This will make merging EASY!! | ==> You should now have working merge tools. This will make merging EASY!! | ||
+ | |||
+ | =====PART 6: Go back to merge operation and use merge tool ===== | ||
+ | |||
+ | < | ||
+ | alfg@pc4400: | ||
+ | </ | ||
+ | |||
+ | type " | ||
+ | |||
+ | ==> emacs or vi should be invoked in "merge mode" | ||
+ | |||
+ | //The vi script// shows (your, ancestor, mine) on top and output below. Move around in the different windows with " | ||
+ | |||
+ | //the emacs script// shows (yours, mine) on top and merged version (including common ancestor) below | ||
+ | |||
+ | All editing should happen in the lowest part of the editor window | ||
+ | |||
+ | When done editing, save the file and quit the editor | ||
+ | |||
+ | When back in the merge-dialog, | ||
+ | |||
+ | |||
+ | ===== PART 7: Verify that you are happy with merge ===== | ||
+ | |||
+ | < | ||
+ | alfg@pc4400: | ||
+ | </ | ||
+ | |||
+ | Note how it is difficult to understand the diff ==> we need to configure a diff tool! | ||
+ | |||
+ | To configure a nice diff-viewer, | ||
+ | |||
+ | < | ||
+ | diff-cmd = / | ||
+ | </ | ||
+ | |||
+ | The script " | ||
+ | |||
+ | The content of this script (only two lines) for emacs users can be: | ||
+ | |||
+ | < | ||
+ | #!/bin/sh | ||
+ | emacs --eval " | ||
+ | </ | ||
+ | |||
+ | (In emacs, use | (pipeline) key in the " | ||
+ | |||
+ | The content of this script for vi users can be | ||
+ | |||
+ | < | ||
+ | #!/bin/sh | ||
+ | vimdiff $6 $7 | ||
+ | </ | ||
+ | |||
+ | Visually verify the diff again using the diff viewer | ||
+ | < | ||
+ | alfg@pc4400: | ||
+ | </ | ||
+ | |||
+ | When you are happy with the diffs, do | ||
+ | |||
+ | < | ||
+ | alfg@pc4400: | ||
+ | </ | ||
+ | |||
+ | ==> DONE | ||
+ | |||
+ | ===== PART 8: Merge back to trunk ===== | ||
+ | |||
+ | After the conflict is resolved and committed from branch, go back to trunk | ||
+ | |||
+ | < | ||
+ | alfg@pc4400: | ||
+ | alfg@pc4400: | ||
+ | </ | ||
+ | |||
+ | AT THIS POINT YOU WANT TO PASS THE TESTS (IF THIS WAS NORESM) | ||
+ | |||
+ | < | ||
+ | alfg@pc4400: | ||
+ | </ | ||
+ | |||
+ | ==> Observe that you don't get any conflict this time. Svn knows that the conflict is already resolved. | ||
+ | |||
+ | |||
+ | ===== Other important points ===== | ||
+ | |||
+ | * The merge is not completed until you commit! | ||
+ | * You have to know if you are doing a reintegrate merge or a merge from trunk (see noresm wiki) | ||
+ | * You can undo the merge with alfg@pc4400: | ||
+ | * When you have done a " | ||
+ | * If you insist on keeping reintegrated branches alive, there are two options: | ||
+ | - Start using another version control system | ||
+ | - Make sure you have latest svn version (version >= 1.7), Then read (and understand) | ||
+ | |