Serveur SubVerion ou CVS sur Amiga ou Mos

12 sujets de 1 à 12 (sur un total de 12)

  • Vince

    • Messages : 117
    #5403

    Bonsoir,

    existe t’il un serveur Subversion ou CVS sur Morphos (voir 68K) ?

    J’aimerai bien pouvoir gérer les versions de mes sources sur mon Peg.

    Je sais qu’il existe des systèmes en ligne mais j’aurai préféré sur mon Peg.

    Etant pas un pro du portage d’application Unix, j’ai vu que cela necessite des dépences comme la libapr et libapr-util (peut être déjà dans un portage d’Apache ?), de la libtool 1.4, libz et de autoconf 2.58 au minimum (Berkely DB et autres sont optionnels).

    Avons nous tous cela de disponible ?

    Avons nous un dev. prêt à compiler une version ?

    Merci de vos réponses.


    Oups, j’avais pas vu sur Aminet, il semble y avoir un portage 1.4.2 avec la partie Serveur…

    Manque plus qu’un client graphique ?

    Je regarde ce port.

    A++

    corto

    • Messages : 1130
    #91452

    Salut

    Je pensais qu’on n’avait que des clients, je les utilise sur OS4 et MorphOS, mais je viens de voir sur Aminet que la version de olsen pour OS3.x et OS4 ainsi que la version de naTmeg pour MorphOS contiennent également les binaires serveurs (svnserve, svnadmin, …).

    J’ai opté pour le serveur sur un Linux. En tout cas le choix de subversion me convient parfaitement, que ce soit chez moi ou au bureau.

    Pour le client graphique, je l’utilise sur Windows mais dans ce cas il est pratique parce que ce système ne propose pas un bon shell. Sinon, c’est tellement simple à utiliser !

    Tiens-nous au courant de comment ça tourne sur MorphOS, ça m’intéresse !

    Polymere

    • Messages : 438
    #91453

    Salut,

    Dans le but de remonter un peg1 quand je suis chez mon copain, je pense que SVN serai un plus pour avoir acces mes sources depuis n’importe où sans devoir faire des copie sur HD USB a tout va mais…

    -Je n’ai jamais utilisé ce genre de chose

    -Je ne veux pas une usine à gaz

    Corto:

    Si tu as des tutoriels sur svn en stock je suis preneur :)

    /me a un nunux at home pour faire le serveur

    Yomgui

    • Messages : 1589
    #91454

    Oui, il existe un serveur SVN pour MorphOS.

    Je l’utilise depuis plus d’un mois tous les jours.

    [Edit 20070128] J’ai testé l’archive de Tokai 1.4.6, elle se suffit à elle-même donc j’enlève tout le blabla sur le mélange d’archive.

    1) Installer les binaires:

    J’utilise un binaire fait venant de Tokai, version 1.4.6

    Cette version support le protocole SSL, donc les serveur web en https fonctionnent (comme SourceForge par exemple).

    Il faudra décompresser l’archive en RAM: et lire la doc fournie pour l’installation (en usr:)

    2) Créer un dépos SVN:

    Créez un répertoire ‘top’ où vous aller mettre toutes les databases de SVN. Par exemple Data:m_svn_root

    Utilisez ensuite svnadmin pour créer vos projets.

    Imaginons que mon projet s’appel blender, tapez donc dans le shell:

    svnadmin create Data:m_svn_root/blender

    Ceci crée un répertoire blender dans notre racine avec toute une configuration par défaut pour que blender soit déjà utilisable.

    3) Configurer l’accès à votre projet:

    Alors là je vous conseille de lire la doc officielle de subversion pour connaître tous les détails. La seul chose à modifier ici sont les fichiers dans Data:m_svn_root/blender/conf Ils sont auto-documenté ;-).

    3) Configurer la couche TCP/IP:

    …avec sa pile réseau préférée ;-)

    Il faut évidement configurer la pile avec le service svn pour inetd. svn est un service tcp et udp en port 3690. La commande étant pour notre racine svn:

    svnserve -i -rData:m_svn_root/blender

    La config inetd est donc:

    svn stream tcp nowait root svnserve svnserve -i -rData:m_svn_root/blender

    svn dgram udp nowait root svnserve svnserve -i -rData:m_svn_root/blender

    4) Premier import de notre projet:

    Imaginons nos sources dans Sources:MyBlenderSrc. Donc tapez ceci dans le shell:

    svn import -m "First import" Sources:MyBlenderSrc svn://ip:port/blender/trunk

    Mettez ce que vous voulez comme commentaire pour l’option -m, mais restez explicite. ;-)

    Et évidement ip:port étant l’ip et le port de votre tout nouveau serveur svn.

    J’ai rajouté trunk après blender car trunk devient votre répertoire du tronc principal de vos sources, vous pourrez ensuite créer d’autres répertoires au même niveau pour les tags et autres… Je vous conseil de suivre cette arborescence.

    Lire la documentation officielle pour plus d’info.

    A bientôt,

    Yomgui

    Polymere

    • Messages : 438
    #91455

    @Yomgui

    J’ai rajouté trunk après blender car trunk devient votre répertoire du tronc principal de vos sources, vous pourrez ensuite créer d’autres répertoires au même niveau pour les tags et autres… Je vous conseil de suivre cette arborescence.

    Tu peux détailler stp :)

    J’ai créer mon compte, j’ai créer polyglot/main.

    Quand je fais un CheckOut en ram pour tester il me crée un rep « main »… hors dans mon source initial c’est pmsn.

    Comme ca ne me plait pas j’ai refait un co avec polyglot/pmsn et il me dit « revision 2″…

    Comment ca va se passer quand he vais vouloir faire les commit etc ?

    /me doute…

    corto

    • Messages : 1130
    #91456

    Je conseille aussi de créer un répertoire trunk dans le répertoire du projet. Lors de ma découverte de svn, je ne voyais pas trop l’intérêt, surtout pour des projets perso et puis … avec le recul, je reviens sur ce choix.

    trunk signifie « tronc », il est nommé ainsi par convention et accueille le développement principal. En parallèle on peut avoir des répertoire tags et branches.

    Ca offre beaucoup de souplesse et c’est appréciable car on ne sait jamais comment un projet va évoluer. Tiens, admettons qu’on a un projet qui évolue et dont le support 68k devient contraignant et qu’on souhaite juste assurer de la maintenance sur la dernière version. On crée une branche pour la version 68k correspondant à la dernière release et les modifs et évolutions auront lieu dedans alors que le tronc pourra s’affranchir de certaines limitations et continuer sa vie. Si une évolution du tronc voyait une nouvelle fonctionnalité qui pourrait être intégrée à la version 68k, on peut merger simplement ou copier un nouveau fichier du tronc dans la branche.

    Ce n’est qu’un exemple mais revenons au trunk.

    Polymere : pmsn c’est quoi par rapport à polyglot ? Un module ?

    Admettons que tu veuilles créer un dépôt polyglot :

    svnadmin create polyglot

    Ensuite, tu fais : svn mkdir file://polyglot/trunk

    Après tu dois te rendre dans ton projet actuel et tu fais un import.

    Sources:polyglot> svn import -m « commentaire » file://polyglot/trunk

    Maintenant tous tes fichiers sont dans le dépôt. Dans tes sources, backup polyglot, supprimes le répertoire et fais un checkout :

    svn co file://polyglot

    Et voila, dans tes sources (côté client) tu auras les répertoires et sources du projet sous contrôle de subversion.

    Faire des backups, la base de données utilisée n’est pas infaillible.

    subversion est simple à utiliser, il a une API et une lib qui permettent de faire des clients graphiques par exemple, on peut donc créer des branches mais aussi des patchs, svn détecte automatiquement les fichiers binaires, …

    Vince

    • Messages : 117
    #91457

    Yomgui a écrit :

    Oui, il existe un serveur SVN pour MorphOS.

    Je l’utilise depuis plus d’un mois tous les jours.

    [Edit 20070128] J’ai testé l’archive de Tokai 1.4.6, elle se suffit à elle-même donc j’enlève tout le blabla sur le mélange d’archive.

    ….

    Lire la documentation officielle pour plus d’info.

    A bientôt,

    Yomgui

    Parfait, j’ai pu faire l’import initial de mes sources dans le trunk et un checkout bon (comparer avec Rival). Seul les .o ne semblent pas être sur le serveur mais ça c’est pas génant.

    Je vais lire les docs pour les commit et autres maintenant. Le changelog peut être généré automatiquement lors des commits par assemblage des commentaires ?

    Merci encore de votre aide et à Tokai pour sa version.

    PS : Il faudrait peut être rajouter ces informations dans le livre du Pegasos ?

    Yomgui

    • Messages : 1589
    #91458

    @Vince:

    Vince a écrit :

    Le changelog peut être généré automatiquement lors des commits par assemblage des commentaires ?

    SVN n’est pas CVS.

    Le log SVN montre les commentaires des commit, il n’y a pas de commentaires par fichier/rép. Donc pas besoin de concaténation de quoi que ce soit.

    Sous SVN, 1 version = 1 commit (plusieurs chose en même temps si le commit se fait sur un répertoire, le commit étant récursif par défaut).

    Si tu fais un svn log -v tu comprendras vite ;-)

    Exemple pratique:

    Tu as modifié pleins de fichiers pour une nouvelle fonctionnalité et tu veux tous les commiter d’n coup avec le même commentaire.

    Alors tu te place dans ton répertoire top de ton projet et tu fais:

    svn ci -m "Ajout de la fonctionnalité bidule" .

    (Attention au point ‘.’ à la fin)

    Ca commit tous les changements, cela fait 1 version et 1 commentaire.

    Polymere

    • Messages : 438
    #91459

    J’ai un pb chef :D

    svn digère pas le répertoire « catalogs/français »…

    subversion/libsvn_subr/utf.c:211: (apr_err=22)

    svn: Safe data:

    "fran"

    ... was followed by non-ascii byte 231.

    Non-ascii character detected (see above), and unable to convert to/from UTF-8

    Comment dire… ca va pas :)

    2eme question piège, j’ai ajouté ca pour ignorer un rep:

    svn propset svn:ignore * logs/

    Mais les modifs dans ce repertoire apparaissent tjs lors de:

    svn status

    (j’ai pas fait le menage sur le serveur par contre ni de CI encore)

    A+

    Vince

    • Messages : 117
    #91460

    Yomgui a écrit :


    @Vince
    :

    Vince a écrit :

    Le changelog peut être généré automatiquement lors des commits par assemblage des commentaires ?

    SVN n’est pas CVS.

    Le log SVN montre les commentaires des commit, il n’y a pas de commentaires par fichier/rép. Donc pas besoin de concaténation de quoi que ce soit.

    Sous SVN, 1 version = 1 commit (plusieurs chose en même temps si le commit se fait sur un répertoire, le commit étant récursif par défaut).

    Ah, moi j’avais l’habitude de pouvoir faire un commentaire par fichier ou sélection de fichier sous CVS, c’est pas possible donc ?

    De même, peut on ne commiter que certain fichiers car, par exemple un travail n’est pas finit sur un fichier mais sur les autres, pour ne pas déstabiler les sources des autres Dev.

    Si tu fais un svn log -v tu comprendras vite ;-)

    Exemple pratique:

    Tu as modifié pleins de fichiers pour une nouvelle fonctionnalité et tu veux tous les commiter d’n coup avec le même commentaire.

    Alors tu te place dans ton répertoire top de ton projet et tu fais:

    svn ci -m "Ajout de la fonctionnalité bidule" .

    (Attention au point ‘.’ à la fin)

    Ca commit tous les changements, cela fait 1 version et 1 commentaire.

    Bon, je me suis mis dans mon rep racine :

    – svn status, 7 fichiers OK

    – scv ci -m « commentaire long… » . OK

    – svn co … dans le ram disk et un coup de Rival, OK je trouve les fichiers de l’import initial et les fichiers modifiés

    – svn log NOK car que le commentaire de l’import initial ???

    corto

    • Messages : 1130
    #91461

    Vince a écrit :

    Ah, moi j’avais l’habitude de pouvoir faire un commentaire par fichier ou sélection de fichier sous CVS, c’est pas possible donc ?

    De même, peut on ne commiter que certain fichiers car, par exemple un travail n’est pas finit sur un fichier mais sur les autres, pour ne pas déstabiler les sources des autres Dev.

    Le but de SVN c’est justement de faire des commit atomiques, où chacune des révisions soit valide et stable. Tu peux tout à fait commiter un ou plusieurs fichiers et répertoires :

    svn commit -m « blabla » main.c network.c plugins/

    Ce commit va envoyer les fichiers « main.c » et « network.c » ainsi que ceux modifiés du répertoire « plugins » dans le dépôt (repository) du serveur. La révision va être incrémentée comme si chaque fichier, même ceux non modifiés, voyait son numéro de version augmenté.

    Ainsi, si qqn fait un checkout après ton commit, il aura tous les fichiers à la version que tu as commité.

    Tu peux commiter par fichier avec un commentaire par fichier mais si tu veux ajouter une fonctionnalité ou corriger un bug en touchant à plusieurs fichiers, tu fais tes modifs et tu commites et ça prend un numéro de révision incrémenté. Et dans un même commit tu as donc un commentaire qui s’applique aux fichiers modifiés. Tu sais qu’à cette version n+1, il y a eu telle modif ou tel fix.

    Moi ça me paraît mieux et très simple ! Tu fais une modif, c’est ton projet qui évolue. Et dans la pratique ça ne casse rien.

    Bon, je me suis mis dans mon rep racine :

    – svn status, 7 fichiers OK

    – scv ci -m « commentaire long… » . OK

    – svn co … dans le ram disk et un coup de Rival, OK je trouve les fichiers de l’import initial et les fichiers modifiés

    – svn log NOK car que le commentaire de l’import initial ???

    D’après moi c’est normal, quel commentaire voudrait voir en plus ?? Tu as fait une action commitée et commentée. Qqn qui fait un checkout et un log de l’historique ne va voir que cette action dans le log.

    C’est quoi Rival ?

    Polymere : Désolé mais je n’ai pas de réponse …

    Yomgui

    • Messages : 1589
    #91462

    Alors dans l’ordre…

    @poly(pocket):

    svn digère pas le répertoire « catalogs/français »…

    Réponse:

    Bible selon St Tigris, Chapitre 7

    Mais les modifs dans ce repertoire apparaissent tjs

    Réponse:

    Normal… ta copie locale de travail est encore dans l’état « en modification ».

    Fait un svn update


    @Vince
    (ntime):

    – svn log NOK car que le commentaire de l’import initial ???

    Réponse:

    Tu as fait ton svn log dans le 1er répertoire de travail car svn update pas encore fait. Si tu l’avais fait dans ta copie en ram: tu aurais eu le log complet.


    @Corto
    (graphie):

    C’est quoi Rival ?

    Réponse:

    Tu plaisantes là?

    Rival 1.0 sur AI

12 sujets de 1 à 12 (sur un total de 12)

  • Vous devez être connecté pour répondre à ce sujet.

Forums AmigaOS, MorphOS et AROS Développement Serveur SubVerion ou CVS sur Amiga ou Mos

Amiga Impact