Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
noresm:svnbestpractice [2014-04-03 09:51:34] alfg [Tags] |
noresm:svnbestpractice [2022-05-31 09:29:32] (current) |
||
|---|---|---|---|
| Line 4: | Line 4: | ||
| Follow this link to find the tutorial: [[NORESM: | Follow this link to find the tutorial: [[NORESM: | ||
| + | |||
| + | **Note: As of November 13th 2015, NorESM uses git as version control system. The rules and guidelines for merging/ | ||
| ===== Branches ===== | ===== Branches ===== | ||
| Line 18: | Line 20: | ||
| Create a branch with (http:// | Create a branch with (http:// | ||
| < | < | ||
| - | $ svn copy http:// | + | |
| | | ||
| -m " | -m " | ||
| + | </ | ||
| + | or specifically for the NorESM repository with | ||
| + | < | ||
| + | svn copy https:// | ||
| + | | ||
| + | -m " | ||
| </ | </ | ||
| Line 26: | Line 34: | ||
| < | < | ||
| svn checkout $BRANCHURL nameOfBranchOnMyPC | svn checkout $BRANCHURL nameOfBranchOnMyPC | ||
| + | </ | ||
| + | |||
| + | |||
| + | In git: First create your new branch locally and then make the remote aware of the new branch like so: | ||
| + | < | ||
| + | git checkout -b my_branch_name | ||
| + | git push -u origin my_branch_name | ||
| + | </ | ||
| + | |||
| + | ..and make sure your .gitconfig-file is configured for doing a merge (for example): | ||
| + | < | ||
| + | [merge] | ||
| + | tool = vimdiff | ||
| + | [diff] | ||
| + | tool = vimdiff | ||
| </ | </ | ||
| Line 95: | Line 118: | ||
| If your code does not pass the tests, you can **not** merge your code back to the trunk | If your code does not pass the tests, you can **not** merge your code back to the trunk | ||
| - | Note that in svn, **you can only merge ONE time from your branch to the trunk**, or you risk making a mess of the system! (See http:// | + | Note that in svn, **you can only merge ONE time from your branch to the trunk**, or you risk making a mess of the system! (See http:// |
| The merge command (from trunk) will be something like (http:// | The merge command (from trunk) will be something like (http:// | ||
| < | < | ||
| svn merge --reintegrate $BRANCHURL | svn merge --reintegrate $BRANCHURL | ||
| + | </ | ||
| + | |||
| + | Using git, just use | ||
| + | < | ||
| + | git merge branchNameIWantToMergeWith | ||
| </ | </ | ||
| ===== Tags ===== | ===== Tags ===== | ||
| Line 113: | Line 141: | ||
| Create the tag with a command like (http:// | Create the tag with a command like (http:// | ||
| < | < | ||
| - | svn copy http:// | + | |
| | | ||
| -m " | -m " | ||
| + | </ | ||
| + | or specifically for the NorESM repository with | ||
| + | < | ||
| + | svn copy https:// | ||
| + | | ||
| + | -m " | ||
| </ | </ | ||
| Line 121: | Line 155: | ||
| You should create a tag in the following cases: | You should create a tag in the following cases: | ||
| - | * When you want to create a branch! **Always tag the model first and then create the branch from the tag**. | + | * When you want to create a branch! **Always tag the model first and then create the branch from the tag**. |
| * A " | * A " | ||
| * A version which has been used for some specific paper (maybe you want to do more runs after referee comments) | * A version which has been used for some specific paper (maybe you want to do more runs after referee comments) | ||
| + | |||
| + | ==== What tags exist? ==== | ||
| + | |||
| + | All tags are in https:// | ||
| ==== How should I name the tag? ==== | ==== How should I name the tag? ==== | ||
| Line 158: | Line 196: | ||
| **purposeOfLife of NorESM1 branches is therefore whatever follows after " | **purposeOfLife of NorESM1 branches is therefore whatever follows after " | ||
| - | |||
| - | Always check https:// | ||
| ===== Tricky use cases ===== | ===== Tricky use cases ===== | ||
| Line 204: | Line 240: | ||
| ==== What should be stated in the commit message? ==== | ==== What should be stated in the commit message? ==== | ||
| + | |||
| + | **Always state the JIRA issue associated with the work**! This makes the code changes pop up in JIRA!: For example "svn commit -m " | ||
| The commit message should include a concise description of the committed changes. | The commit message should include a concise description of the committed changes. | ||
| Line 229: | Line 267: | ||
| Revision 198 | Revision 198 | ||
| - | | + | |
| Revision 193 | Revision 193 | ||
| - | | + | |
| Revision 190 | Revision 190 | ||
| + | |||
| + | | ||
| </ | </ | ||
| Line 254: | Line 294: | ||
| changes made in r200 to branch featureMicomDevelopment... | changes made in r200 to branch featureMicomDevelopment... | ||
| </ | </ | ||
| - | |||