Changes between Version 11 and Version 12 of doc/tec/developerrules/svnbranch
- Timestamp:
- Nov 26, 2018 2:40:11 PM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/tec/developerrules/svnbranch
v11 v12 18 18 == (2) Use of local branch copy== 19 19 20 === (2 20 === (2a) Checkout of local branch copy === 21 21 22 22 * {{{cd $HOME/palm/branches/ }}} 23 23 * {{{ svn checkout --username <your PALM username> https://palm.muk.uni-hannover.de/svn/palm/branches/<feature_name>}}} 24 24 25 === (2 25 === (2b) Update of local branch copy === 26 26 27 27 If the local branch copy already exists, and you would like to update it with a newer svn revision of this branch: … … 47 47 An alternative to this approach is to __use symbolic links__ to link {{{.../trunk to .../branches/<feature_name>}}}. \\ This way you don't have to keep changing the {{{PATH/PALM_BIN}}} variables, and you run PALM out of your current_version directory, \\ with your {{{SCRIPTS/SOURCE}}} files from {{{~/palm/branches/<feature_name>}}} 48 48 49 === (3 49 === (3a) How to use git for local code versioning === 50 50 51 51 (These are only brief hints, please refer to the git manual for more detailed help) … … 64 64 |||| Please '''DO NOT''' mix up synchronization and other code changes in one commit, because when \\ doing a diff of two branch revisions it‘s very difficult to find out the actual changes in the branch. || 65 65 66 === (4 66 === (4a) Merge repository branch into local branch copy === 67 67 68 68 1. {{{cd $HOME/palm/branches/<feature_name>}}} \\ … … 82 82 [[span(style=color: #FF0000, __'''Note:'''__ It might be wise to put a copy of your modified files somewhere else before you do the merge.)]] 83 83 84 === (4 84 === (4b) Merge PALM main repository revision (trunk) into local branch copy === 85 85 86 86 1. {{{cd $HOME/palm/branches/<feature_name>}}} 87 2. {{{svn update}}} (to obtain HEAD (over [[Image()]]all latest) repository revision )87 2. {{{svn update}}} (to obtain HEAD (overall latest) repository revision ) 88 88 3. {{{svn merge -r####:HEAD}}}\\ {{{https://palm.muk.uni-hannover.de/svn/palm/trunk}}}\\(####: branch revision at last merge with trunk) 89 89 4. During update/merge, svn will print an alert in case the same line of code has been modified by the different developers. \\As an example: … … 95 95 [[span(style=color: #FF0000, __'''Note:'''__ It might be wise to put a copy of your modified files somewhere else before you do the merge.)]] 96 96 97 === (4 97 === (4c) Resolving conflicts in a merge === 98 98 99 99 You will find following set of files in case of a conflict, e.g. … … 103 103 |||| average_3d_data.f90 |||| (your + their code at conflicted line in merged file) || 104 104 105 To resolve the conflict, we recommend to take file {{{average_3d_data.f90}}}, and manually work through the conflicted lines, \\ which look something like this: 106 [[Image(test.png)]] 105 To resolve the conflict, we recommend to take file {{{average_3d_data.f90}}}, and manually work through the conflicted lines, which look something like this: 106 {{{ 107 #!div style="align:'left'; width: 65%; border: 0px solid" 108 [[Image(test.png, width=100%)]] 109 }}} 107 110 You could also use kdiff3 of files „left“ and „right“ to visualize the changes at conflicted lines. 108 111 … … 123 126 |||| While committing to your branch, please make sure that the revision comments remain under „Current revisions“. \\ Do not use the script document_changes, nor manually copy the revision comment to the „Former revisions“ section.\\ This makes merging to the palm4u branch or to the trunk more difficult. || 124 127 125 === (5 128 === (5a) Commit changes to repository branch → How to add new files (I) === 126 129 127 130 (For how to structure new SOURCE files, please take a look at the template_newmodule_mod_v3.f90 in the Downloads section of the MOSAIK page).\\ … … 139 142 140 143 {{{svn propset svn:keywords "Id" newfile.f90}}} 141 142 === (5 a) Commit changes to repository branch → How to add new files (II) ===143 144 144 145 After the commit (see Chapter 5), subversion will automatically substitute the “Id” string with the current timestamp: