= Good Practices == Set up a proper development environment once and for all Obviously each developer can have its own working approach for developing the NEMO code, however we recommend to download and run [source:/utils/install_dev_env.sh this script] to install a __clean and minimal working copy__ with everything you need to start your development and to support the NEMO reference. \\ Actually it will download from the SVN repository a working copy of `NEMO` root directory but only in terms of the very first paths in depth, you will have `NEMO/branches` and `NEMO/releases` with empty subfolders. Only the trunk (`NEMO/trunk`) and the last NEMO release (`NEMO/releases/release-X.X`) will be entirely downloaded. == Manage SVN externals according to your needs [[Include(wiki:Developers/ExternalDefinitions)]] {{{#!sh #---------------------------------------------------------------------------------- ## To repeat for each development branch #---------------------------------------------------------------------------------- ## Create your development branch locally svn copy trunk[@${PEGREV}] branches/$year/'dev_r'${PEGREV}_${NameOfNewBranch} ## If needed, edit the external references (${SVN_EDITOR} env. variable must be set) svn pedit svn:externals branches/$year/'dev_r'${PEGREV}_${NameOfNewBranch} ## Then push it to the repository svn commit [-m 'log message'] branches/$year/'dev_r'${PEGREV}_${NameOfNewBranch} cd branches/$year/'dev_r'${PEGREV}_${NameOfNewBranch} ## Download sette tool to validate your changes to the NEMO reference svn co http://forge.ipsl.jussieu.fr/nemo/svn/utils/CI/sette ## Doc figures for building NEMO manual (not mandatory) svn co http://forge.ipsl.jussieu.fr/nemo/svn/utils/figures ./doc/figures }}}