Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
public:user_software:documentation:lofarsvn [2016-12-15 09:16] – Document moved from engineering:software:lofarsvn Arno Schoenmakers | public: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 6: | Line 6: | ||
You may wish to consult the online book [[http:// | You may wish to consult the online book [[http:// | ||
- | ** :!: Before reading further, please read the page [[developmentmanagementpolicy|Development Management Policy]] and the document [[http:// | + | ** :!: Before reading further, please read the page [[engineering: |
Line 17: | Line 17: | ||
trunk/ | trunk/ | ||
</ | </ | ||
- | These names more or less speak for themselves. Main development is done on the '' | + | These names more or less speak for themselves. Main development is done on the '' |
===== Accessing the repository ===== | ===== Accessing the repository ===== | ||
Line 48: | Line 48: | ||
You'd think that subsequently issuing a '' | You'd think that subsequently issuing a '' | ||
- | **Note:** When you want to do a build of one or more LOFAR packages, you can use '' | + | **Note:** When you want to do a build of one or more LOFAR packages, you can use '' |
==== Staying up-to-date ==== | ==== Staying up-to-date ==== | ||
Line 67: | Line 67: | ||
G Merged | G Merged | ||
</ | </ | ||
- | If any conflicts arise, you will need to resolve them. See [[engineering: | + | If any conflicts arise, you will need to resolve them. See [[#Handling merge conflicts]]. |
Line 142: | Line 142: | ||
The concepts of branching, tagging and merging may seem intimidating and confusing at first, but do not let you scare away. You should definitely read [[http:// | The concepts of branching, tagging and merging may seem intimidating and confusing at first, but do not let you scare away. You should definitely read [[http:// | ||
- | Branch and tag names must adhere to conventions described on the page [[developmentmanagementpolicy|Release Management Procedure]]. | + | Branch and tag names must adhere to conventions described on the page [[engineering: |
==== Creating a task or release branch ==== | ==== Creating a task or release branch ==== | ||
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 | ||
+ | < | ||
+ | svn log --stop-on-copy --verbose | tail -n 20 | ||
+ | </ | ||
+ | comes handy. | ||
So, let's merge the changes from the trunk (in this example!) into your task branch. Make sure you're at the top-level '' | So, let's merge the changes from the trunk (in this example!) into your task branch. Make sure you're at the top-level '' | ||
< | < | ||
- | svn merge ^/trunk | + | svn merge --dry-run |
</ | </ | ||
- | You may wish to use the '' | + | The '' |
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 [[lofarsvn# | + | Then resolve all of the conflicts (see [[# |
Finally, check-in all changes into your task branch, e.g.:< | Finally, check-in all changes into your task branch, e.g.:< | ||
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: | ||
< | < | ||
- | svn delete ^/ | + | svn delete ^/ |
</ | </ | ||
Line 300: | Line 306: | ||
== Resolve conflicts == | == Resolve conflicts == | ||
- | Textual conflicts must be resolved. Tree conflicts are usually related to // | + | Textual conflicts must be resolved. Tree conflicts are usually related to // |
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 '' | 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 '' | ||
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 [[lofarsvn# | + | For guidelines on how to merge changes made in a branch to the trunk, see [[# |
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. | ||
Line 368: | Line 374: | ||
====== References | ====== References | ||
* [[http:// | * [[http:// | ||
- | * [[lofarsvnfaq|LOFAR Subversion Frequently Asked Questions]] | + | * [[engineering: |
- | * [[lofarsvn4cvs|Subversion for CVS users]] | + | * [[engineering: |
- | * [[lofarcvs2svn|How we migrated from CVS to Subversion]] | + | * [[engineering: |
* The [[http:// | * The [[http:// | ||
* The online book [[http:// | * The online book [[http:// | ||
* openCollabNet' | * openCollabNet' |