Project

General

Profile

Nouvelle release sur sourceforge » History » Version 19

Version 18 (Elie Soubrie, 14/05/2012 10:57) → Version 19/20 (Elie Soubrie, 25/06/2012 09:01)

h1. Nouvelle release sur sourceforge

h2. Récupération d'une version depuis le serveur IAS local

Lorsqu'une nouvelle version a été récupérée depuis sourceforge et mise localement (par l'admin local en faisant ce qui est décrit dans le § suivant), on peut :

* soit récupérer le code en faisant :
<pre>
mkdir Sitools_from_local_svn
svn co https://inf-cvs/sitools2/ Sitools_from_local_svn/ (c'est le password LDAP qu'il faut rentrer s'il est demandé)
</pre>

* soit updater depuis un répertoire créé comme au dessus en faisant :
<pre>
cd Sitools_from_local_svn/
svn update .
</pre>

h2.
Mise à jour du repository IAS (inf-cvs/sitools2)

Un repository subversion contient les différentes versions livrées par le CNES sur sourceforge (http://sitools2.svn.sourceforge.net/viewvc/sitools2/).

Lorsqu'une nouvelle version est mise à disposition, il faut l'importer sur le repository de l'ias :

Pour cela, commencer par récupérer dans un répertoire local la nouvelle version de sitools2 :

<pre>
mkdir sourceforge
svn export --force https://sitools2.svn.sourceforge.net/svnroot/sitools2/tags/1.x sourceforge
ou si la version désirée n'est que dans trunk :
svn export --force https://sitools2.svn.sourceforge.net/svnroot/sitools2/trunk sourceforge
</pre>

Copier sourceforge dans un repertoire de backup (servira pour faire le diff pour identifier les fichiers effacés) :
<pre>
cp -r sourceforge sourceforge_copy
</pre>

Pour créer les répertoires .svn nécessaires au commit, forcer un checkout de la dernière version présente à l'IAS dans ce repertoire local sourceforge :

<pre>
svn co --force https://inf-cvs/sitools2 sourceforge/
</pre>

Pour ajouter récursivement tous les nouveaux fichiers et répertoires :

<pre>
cd sourceforge
svn add * --force
</pre>

Ensuite, commiter cette nouvelle version dans le dépôt sitools2 de l'IAS :
<pre>
svn commit -m "Version 1.x (rev. yyy) of sitools2.svn.sourceforge.net (avant prise en compte des fichiers effaces)" .
</pre>

Enfin, il faut faire un "svn delete" sur les fichiers effacés :
<pre>
svn export https://inf-cvs/sitools2/ local_temporary_version
diff -r local_temporary_version sourceforge_copy > diff_repertoires.txt
</pre>

Les fichiers et répertoires effacés seront identifiés dans diff_repertoires.txt comme étant :
<pre>
Seulement dans local_temporary_version/workspace/sitools-update-classpath/src/fr/cnes/sitools/common: rep1_efface
Seulement dans local_temporary_version/workspace/sitools-update-classpath/src/fr/cnes/sitools: fichier1_efface.java
</pre>
Editer le fichier diff_repertoires.txt, enlever les "Seulement dans local_temporary_version/" et remplacer les ": " des fins de ligne par "/", et faire ensuite :
<pre>
cd sourceforge # ( le repertoire contient la derniere version commitee et geree en conf)
foreach fi (`cat ../diff_repertoires.txt`)
echo $fi
svn delete $fi
end
</pre>

Terminer en commitant les modifications pour enlever les répertoires et les fichiers effacés :
<pre>
svn commit -m "Version 1.x of sitools2.svn.sourceforge.net (y compris fichiers effaces)" .
</pre>