New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
install_dev_env.sh in utils/developer – NEMO

source: utils/developer/install_dev_env.sh @ 13822

Last change on this file since 13822 was 13822, checked in by nicolasmartin, 3 years ago

Fix relocating URL

  • Property svn:executable set to *
File size: 2.2 KB
RevLine 
[13815]1#!/bin/bash
[10286]2
[10334]3## Create minimal developement environment for NEMO
4###################################################
[10286]5
[11705]6## Optional arguments (developer ID, 'repo' to replicate the layout of the whole repository)
[10334]7
[11705]8dir='NEMO_dev'; repo='0'; root='/NEMO'
[13821]9url='http://forge.ipsl.jussieu.fr/nemo/svn'
[10334]10
[13821]11rel=$( svn ls $url/NEMO/releases      | grep ^r[0-9] | tail -1 | tr -d / )
12ver=$( svn ls $url/NEMO/releases/$rel                | tail -1 | tr -d / )
13
[11705]14year=$( date +%Y )
[10655]15
[11705]16while (( $# )); do
17    [ "$1" == 'repo' ] && { dir='NEMO_repo' && repo='1' && root='/'; shift; }
18    id=$1
19    shift
20done
21
22[ -d $dir ] && { echo $dir 'already exists => QUIT'; exit 2; }
23
[10334]24## Copy of the repository with empty root directories
[13815]25echo 'Download a void working copy of' $root "from the repository ('svn co --depth empty ...')"
[10655]26svn co --depth empty http://forge.ipsl.jussieu.fr/nemo/svn/$root $dir
27echo
[10334]28
29## Switch to developer role if ID is provided
[13815]30if [[ -n "$id" && -f ~/.ssh/id_rsa.pub ]]; then
[11705]31    echo 'Switch to developer role by relocating the URL scheme from HTTP to SVN+SSH'
[13815]32    echo "('svn sw --relocate http://... svn+ssh://...')"
[11705]33    ssh-copy-id -i ~/.ssh/id_rsa.pub $id@forge.ipsl.jussieu.fr 2> /dev/null
[13822]34    svn sw --relocate $url svn+ssh://$id@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn $dir
[10655]35    echo
[10286]36fi
37
[11705]38## If requested by 'repo',
39if [ "$repo" == '1' ]; then
[10655]40    echo "With 'repo' arg, create a lightweight copy of the repository"
[11705]41    echo 'for the developement of the sources defined as "externals"'
[10655]42
[13815]43    for item in utils/build/{arch,makenemo,mk} utils/tools \
44                vendors/{AGRIF/dev,FCM,IOIPSL}              ; do
[11705]45        echo '¤' $item
46        svn up -q --parents $dir/$item
[10655]47    done
[11705]48
49    dir+=/'NEMO'
[10655]50    echo
[10334]51fi
[10286]52
[13815]53## Get the 1st level tree under 'branches' and 'releases'
54echo "Get empty folders under /NEMO/branches ('svn up --depth empty ...'):"
[11705]55
[13815]56for item in branches releases; do
57    svn up -q --parents --depth immediates $dir/$item
58done
59
[10655]60echo
[10286]61
[10334]62## Download trunk and last release
[13815]63echo "Full download of 2 main branches ('svn up'): trunk and last stable"
64echo '¤ /NEMO/trunk'
[10655]65svn up -q           $dir/trunk
[10286]66
[13821]67echo "¤ /NEMO/releases/$rel/$ver"
68svn up -q --parents $dir/releases/$rel/$ver
[10655]69
[10286]70exit 0
Note: See TracBrowser for help on using the repository browser.