= MESSy/CLaMS: Commit Changes to DKRZ server =

see '''CONTRIBUTING.md''' in messy main directory

 * Before the very first commit configure the author name and email address to be used with your commits (saved in ''~/.gitconfig''):
 {{{
git config --global user.name "firstname lastname"
git config --global user.email name@fz-juelich.de
}}}


 * Create issue on DKRZ server 

   * '''issue #xxx'''
   * Description of issue: "CLaMS:..." <<BR>>

 * Create corresponding branch '''xxx-''description''''' on DKRZ server

 * Update local repository
 {{{
git pull
}}}

 For further information see [[ messy/Update | Update MESSy/CLaMS ]]

 * Switch to new branch
 {{{
git checkout xxx-description
}}}
 => already modified files are applied to the new branch

 * Check your changes and commit:
 {{{ 
git status
git add [...]
git commit
}}}

 Commit Message:
   * '''first line with issue number'''
     '''xxx''': ...
    ('''xxx: clams-submodul''': ... -> all "clams" commits can be searched on DKRZ server!)
   * empty second line
   * additional explanatory text with as much details as desired from the third line onwards

 * Before pushing: <<BR>><<BR>>
 List all files to be pushed:
 {{{
git diff --stat --cached origin/devel
git diff --stat --cached origin/xxx-description
}}}
 View all differences in all files to be pushed:
 {{{
git diff --cached origin/devel
git diff --cached origin/xxx-description
}}}

 * Push your changes to the new branch on DKRZ server
 {{{
git push
}}}

 * Update your branch regularly with current devel branch
 {{{
git fetch origin devel
git merge origin/devel
}}}

 For further information see [[ messy/Update | Update MESSy/CLaMS ]]

 * Create merge request on DKRZ server

    * click on "Merge Requests"
    * select "New Merge Request"
    * select source branch (XXX-description) and destination branch (devel)
    * click on "Compare branches and continue"
    * enter title (maybe remove "WIP:"), description (name co-referees by @-mentions) and assignee (Patrick Joeckel),
      maybe select "delete source branch when merge request is accepted"  and sent it<<BR>> <<BR>>

 '''Before creating a merge request please check that the code is compiling and running with Basemodel CLaMS and with coupled CLaMS-EMAC run.'''