• [^] # Re: Clearcase

    Posté par . En réponse à la dépêche Subversion 1.4.4. Évalué à 2.

    Oui avec l'historique.

    Avec un cleartool find bien paramétré tu peux récupèrer l'historique de tous les éléments, répertoires y compris.
    Tu peux aussi te baser sur le clearexport_ccase
    ou encore partir de la racine la racine de ta vob, récupérer son arbre de version, et descendre récursivement dans chacune des versions de répertoires.

    En revanche avant de remonter ces versions tu dois appliquer un traitement pour reconstituer des baselines ou des révisions de façon cohérente .

    Sans ce traitement tu risques de te retrouver avec un repository incompréhensible car CC pratique le versionning au niveau des elts et SVN au niveau de l'arborescence entière. Un fichier ou répertoire regroupe tout son historique dans l'arbre de version de l'elt auquel il est associé alors qu'avec SVN modifier une version de fichier revient à créer une nouvelle configuration i.e une nouvelle révision de toute ton arborescence.

    Il faut donc bien réfléchir à la stratégie d'import.
    Par exemple regrouper toutes les versions d'arborescence qui ont tiré la branche v1.0 sous CC dans le répertoire /branches/v1.0/mon_projet/
    et les baselines labelllisées sous /label/ (exemple /label/V1.0-r1/mon_projet/)

    Sinon si tu remontes chronologiquement, tu va te retrouver avec des révisions qui ne seront pas logiquement liées entre elles (genre la révision 43 qui correspond à la release 2.3 sera suivie par la révision 44 qui correspond au dernier patch de la 1.5 avec des. On récupère 2 arboresence mon_projet mais pas moyen de voir à quoi elle corresponde.

    Si tu remontes sans traitement préalable c'est encore pire, tu auras un historique du genre
    rev 1:
    /src

    rev 2:
    /src
    /src/package1

    rev 3:
    /src
    /src/package1
    /src
    /src/package2

    rev 4:
    /src
    /src/package1/f1.java (version /main/1 de f1.java)
    /src
    /src/package2


    rev 5:
    /src
    /src/package1/f1.java (version /main/v0.1/1 de f1.java)
    /src
    /src/package2

    /src
    /src/package1/f1.java (version /main/v0.1/1 de f1.java)
    /src
    /src/package2/f2.java (version /main/1 de f2.java qui n'a jamais été associé à f1.java/main/v0.1/1 dans aucune vue)
    Bref tu auras l'historique des fichiers mais aucune baseline