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

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

Fix relocating URL

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