public:user_software:documentation:lofarsvn

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
public:user_software:documentation:lofarsvn [2016-12-15 09:17] – [Staying up-to-date] Arno Schoenmakerspublic:user_software:documentation:lofarsvn [2018-11-16 15:18] (current) – [Preparing the reintegration of your TASK! branch with the parent branch] Added a reminder about how to find out what the parent of my task branch is Thomas Jürges
Line 224: Line 224:
  
 == Let's merge == == Let's merge ==
 +
 +If you are like me then it is possible that you have forgotten what the parent of your task branch is.  In this case the command
 +<code>
 +svn log --stop-on-copy --verbose | tail -n 20
 +</code>
 +comes handy.  It will tell you what the ancestor of your branch is.
  
 So, let's merge the changes from the trunk (in this example!) into your task branch. Make sure you're at the top-level ''LOFAR'' directory in your checked out task branch before issuing the following command: So, let's merge the changes from the trunk (in this example!) into your task branch. Make sure you're at the top-level ''LOFAR'' directory in your checked out task branch before issuing the following command:
 <code> <code>
-svn merge ^/trunk+svn merge --dry-run ^/trunk
 </code> </code>
-You may wish to use the ''%%--%%dry-run'' option first to see the result of the merge. This will not actually change any files, but will tell you what you can expect and will detect conflicts.+The ''%%--%%dry-run'' option allows you to first to see the result of the merge. This will not actually change any files, but will tell you what you can expect and will detect conflicts.  After you have checked for problems you can issue the same command again but this time without the ''%%--%%dry-run'' option.
  
 If there are any merge conflicts, you need to resolve them. To do so, you will have to run the above merge-command first on your workspace of the task branch. If there are any merge conflicts, you need to resolve them. To do so, you will have to run the above merge-command first on your workspace of the task branch.
  
-Then resolve all of the conflicts (see [[engineering:software:lofarsvn#Handling_merge_conflicts|Handling merge conflicts]] for guidelines).+Then resolve all of the conflicts (see [[#Handling_merge_conflicts|Handling merge conflicts]] for guidelines).
  
 Finally, check-in all changes into your task branch, e.g.:<code> Finally, check-in all changes into your task branch, e.g.:<code>
Line 267: Line 273:
 Now that you've reintegrated your task branch with the parent branch, it's time to delete the obsoleted task branch: Now that you've reintegrated your task branch with the parent branch, it's time to delete the obsoleted task branch:
 <code> <code>
-svn delete ^/branches/LOFAR-Task1718-creation+svn delete ^/branches/LOFAR-Task1718-creation -m "Task #1234: branch LOFAR-Task1718-creation no longer needed"
 </code> </code>
  
Line 300: Line 306:
  
 == Resolve conflicts == == Resolve conflicts ==
-Textual conflicts must be resolved. Tree conflicts are usually related to //mergeinfo//, which can be accepted as ''theirs fully''. [[engineering:software:lofarsvn#handling_merge_conflicts|See below]] for more info on resolving merge conflicts.+Textual conflicts must be resolved. Tree conflicts are usually related to //mergeinfo//, which can be accepted as ''theirs fully''. [[#handling_merge_conflicts|See below]] for more info on resolving merge conflicts.
  
 If you note that there are more changes in the release branch than your own, please find out who committed those changes and resolve the conflicts together. If that is not possible, you can add a revision range to the ''svn merge'' command which contains only your changes (though this is the least preferred option as it forwards the problem to the person who makes the next change to the release branch and needs to merge these into the trunk..!).  If you note that there are more changes in the release branch than your own, please find out who committed those changes and resolve the conflicts together. If that is not possible, you can add a revision range to the ''svn merge'' command which contains only your changes (though this is the least preferred option as it forwards the problem to the person who makes the next change to the release branch and needs to merge these into the trunk..!). 
Line 312: Line 318:
 ==== Handling merge conflicts ==== ==== Handling merge conflicts ====
  
-For guidelines on how to merge changes made in a branch to the trunk, see [[engineering:software:lofarsvn#merging_changes_in_a_release_branch_with_the_trunk|the previous section]].+For guidelines on how to merge changes made in a branch to the trunk, see [[#merging_changes_in_a_release_branch_with_the_trunk|the previous section]].
  
 A merge conflict can occur when two or more people make different changes to the same file. When Subversion encounters a merge conflict (e.g. during an update), it will place specific markers in the original source file.  A merge conflict can occur when two or more people make different changes to the same file. When Subversion encounters a merge conflict (e.g. during an update), it will place specific markers in the original source file. 
  • Last modified: 2018-11-16 15:18
  • by Thomas Jürges