4 | | We here keep a branch or personal version updated with changes done on the trunk using svn merge by specifying a rang of revisions that should be considered using: |
| 3 | Author: J. Ghattas |
| 4 | Last revision: 2020/02/28, M. McGrath |
| 5 | |
| 6 | ''This text describes how to update your local copy of ORCHIDEE with changes done to the trunk. But it serves just as well for instructions on how to update your local copy of ORCHIDEE with changes done to another branch or personal version of ORCHIDEE on the svn repository. You then need to change the path to the version you want.'' |
| 7 | |
| 8 | The first step is to have access to the branch you want to take the changes from. Ask the administrator for access, including the maintainer of the branch in the CC field of the email so they are aware. |
| 9 | |
| 10 | Next, you need to know the svn address of the branch that you want to take changes from. This various from branch to branch. The easiest way to find this out is to go to the "[https://forge.ipsl.jussieu.fr/orchidee/browser Browse Source]" section of the wiki. From there, one can navigate to ORCHIDEE directory of the version you are interested in. For the trunk, this is https://forge.ipsl.jussieu.fr/orchidee/browser/trunk/ORCHIDEE (though not everyone has access). For TAG 1.9.5 (which everyone should have access to), the website is https://forge.ipsl.jussieu.fr/orchidee/browser/tags/ORCHIDEE_1_9_5/ORCHIDEE. The part you need to note is what comes after "https://forge.ipsl.jussieu.fr/orchidee/browser/". This is the identifier that we will pass to svn below, IDENTIFIER. For example, IDENTIFIER=tags/ORCHIDEE_1_9_5, or IDENTIFIER=trunk/ORCHIDEE. |
| 11 | |
| 12 | {{{ |
| 13 | svn://forge.ipsl.jussieu.fr/orchidee/IDENTIFIER |
| 14 | }}} |
| 15 | |
| 16 | We keep a branch or personal version updated with changes done to the trunk using svn merge by specifying a range of revisions. svn will look at all changes done to the trunk during this range and try to merge them with the local copy: |
| 19 | }}} |
| 20 | |
| 21 | where x1 is first revision and x2 is the last revision of the trunk that you want to consider. All changes from x1 up to x2 will be considered. Note that this always produces the differences between the local version '''and the differences made between revisions x1 and x2 of the target''', which may not be what you expect. For example, the following command will show nothing: |
| 22 | |
| 23 | {{{ |
| 24 | svn merge --dry-run -r 5000:6300 svn://forge.ipsl.jussieu.fr/orchidee/tags/ORCHIDEE_1_9_5/ORCHIDEE |
| 25 | }}} |
| 26 | |
| 27 | even though there are surely differences between your version of the code and TAG 1.9.5. This is because no differences to TAG 1.9.5 were made between revisions 5000 and 6300, and so svn has nothing to compare your code to. |
| 28 | |
| 29 | The first time you use the command, add --dry-run to only show what the command will do. If everything looks good, execute the real command: |
| 30 | |
| 31 | {{{ |