IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Subversion Discussion :

Sur la base de quoi le versionning


Sujet :

Subversion

  1. #1
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut Sur la base de quoi le versionning
    Bonjour,
    Voila, voulant établire un certain suivi sur mes classes plus les methodes j'insere des numéro de version pour chacun d'eux. Ma question est de savoir sur quel critère on détermine une évolution de version. Quel est le format j'en vois plusieurs :
    1.0.0.0 - 1.0 - 1.2.3. ça commence a partir de combien ? un ou zéro ?
    Alpha => Beta => Release. pour ça j'ai compris.

    Je developpe seul mais je pense que j'installerais subversion mais est-ce utile ?

    Merci.

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Oui utilise subversion, même quand t'es tout seul. En tout cas c'est ce que je fais. Pratique pour savoir pourquoi j'ai fait telle ou telle modif, faire des diff entre différentes versions d'un script, ... Pratique aussi pour le prototypage (je suis à une version stable, je tente un truc en modifiant des fichiers, ça marche pas => svn revert et c'est marre). Bref, trop cool

    Ensuite concernant le versionnage (1.0.3, ...) je le déconseille sur des fichiers. Réserve le plutot à des application ou composants entiers et indépendants.

    J'applique personnellement la politique suivante :
    X.Y.Z =>
    X == évolution majeure du produit.
    Y == évolution mineure du produit.
    Z == correction de bugs

    Exemple : j'en suis à la 2.4.6
    La prochaine version sera :
    - 2.4.7 si je corrige un bug
    - 2.5.0 si j'ajoute une ou plusieurs petites fonctionnalités qui ne modifie pas l'architecture
    - 3.0.0 si je touche en profondeur l'appli (passage à PHP5, ajout d'une grosse fonctionnalité, ...)

    A noter que plus tu as des versions, plus tu dois les maintenir.

  3. #3
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Si on estime une version à plus de 100 bugs, c'est une version alpha.
    A moins de 100 bugs, c'est une beta.
    Si la version du programme est potentiellement stable, on l'appelle Release Candidate.

  4. #4
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    Citation Envoyé par Mr N.
    Oui utilise subversion, même quand t'es tout seul. En tout cas c'est ce que je fais. Pratique pour savoir pourquoi j'ai fait telle ou telle modif, faire des diff entre différentes versions d'un script, ... Pratique aussi pour le prototypage (je suis à une version stable, je tente un truc en modifiant des fichiers, ça marche pas => svn revert et c'est marre). Bref, trop cool

    Ensuite concernant le versionnage (1.0.3, ...) je le déconseille sur des fichiers. Réserve le plutot à des application ou composants entiers et indépendants.

    J'applique personnellement la politique suivante :
    X.Y.Z =>
    X == évolution majeure du produit.
    Y == évolution mineure du produit.
    Z == correction de bugs

    Exemple : j'en suis à la 2.4.6
    La prochaine version sera :
    - 2.4.7 si je corrige un bug
    - 2.5.0 si j'ajoute une ou plusieurs petites fonctionnalités qui ne modifie pas l'architecture
    - 3.0.0 si je touche en profondeur l'appli (passage à PHP5, ajout d'une grosse fonctionnalité, ...)

    A noter que plus tu as des versions, plus tu dois les maintenir.
    - Etant donné que je suis "encore" sur windows je vais tenter de trouver une version tournant dessus. Zend studio semblerais gérer Subversion.
    - Merci c'est ce que je voulais savor. Je pense que je prendrais ta façon de déterminer les évolutions de numéro. Je ne voulais pas le faire sur les fichier mais sur le classe et les methode de cette même classe. Ceci me permet d'avoir une précision étant donnée que je developpe entièrement en objet ceci afin que je ne rate rien. Surtout que je pose des commentaire à la norma java (phpdoc...).

    Citation Envoyé par is_null
    Si on estime une version à plus de 100 bugs, c'est une version alpha.
    A moins de 100 bugs, c'est une beta.
    Si la version du programme est potentiellement stable, on l'appelle Release Candidate.
    Merci j'y penserais mais dans les testes unitaire de chaque classe dans la mesure du possible mais cela me fait penser qu'il faut qu'il faut je mette noir sur blanc les test à faire et les resultats attendu afin de déterminer si c'est concidérer comme stable ou non.

    Harf!.. tenter de monter un projet propre ça nécessite beaucoup de chose.
    Au passage, je pense que je vais utiliser un outil de gestion de projet tel que DotProject qui m'a l'air pas trop mal quoi que un peut "usine à gaz"


    Merci à vous mais c'est la bienvenu s'il y a d'autre contribution.

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Installe Tortoisesvn sur ton windows.
    De plus il te permet de monter un repository svn en local A moins bien sur que tu héberges proprement tes sources sur un sourceofrge/trac ou similaire.

    Par contre je persiste à penser que c'est une mauvaise idée de tagger des fichiers/classes individuellement. M'enfin, c'est personnel tout ça, tu verras bien par toi même à l'usage
    Sinon n'oublie pas que tu peux mettre des $Id$ (et autres mot clés) dans tes commentaires. Ainsi à chaque revision ils seront substitués et donc tu sauras quand et qui a modifié le fichier et quelle est sa révision.

  6. #6
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par Mr N.
    J'applique personnellement la politique suivante :
    X.Y.Z =>
    X == évolution majeure du produit.
    Y == évolution mineure du produit.
    Z == correction de bugs
    Je fonctionne de la même façon... c'est la manière normale de faire... par contre pour les alpha,beta,etc je ne fonctionne pas pareil... pour moi la version d'un script qui a plus de 100 bugs potentiel c'est même pas encore une alpha... .. .

    @ tchaOo°

  7. #7
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    Citation Envoyé par Mr N.
    Installe Tortoisesvn sur ton windows.
    De plus il te permet de monter un repository svn en local A moins bien sur que tu héberges proprement tes sources sur un sourceofrge/trac ou similaire.

    Par contre je persiste à penser que c'est une mauvaise idée de tagger des fichiers/classes individuellement. M'enfin, c'est personnel tout ça, tu verras bien par toi même à l'usage
    Sinon n'oublie pas que tu peux mettre des $Id$ (et autres mot clés) dans tes commentaires. Ainsi à chaque revision ils seront substitués et donc tu sauras quand et qui a modifié le fichier et quelle est sa révision.
    Pourquoi c'est une mauvaise idée?
    La version principale sera sur celui du fichier donc la classe vu qu'il y a un fichier par classe.

  8. #8
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par berceker united
    Pourquoi c'est une mauvaise idée?
    La version principale sera sur celui du fichier donc la classe vu qu'il y a un fichier par classe.
    Je dirais comme Mr N... à partir du moment ou le fichier n'est pas indépendant il n'est pas utile de lui donner un numérot de version vu qu'il dépend de(s) script parents et donc hérite de leur numérot de version... par contre si ton script/classe est un script indépendant, genre plugin, là tu peux lui donner un numérot de version perso... .. .

    C'est plus logique, ça donne moins de taf et allège le suivi des versions... .. .

    @ tchaOo°

  9. #9
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    Citation Envoyé par kankrelune
    Je dirais comme Mr N... à partir du moment ou le fichier n'est pas indépendant il n'est pas utile de lui donner un numérot de version vu qu'il dépend de(s) script parents et donc hérite de leur numérot de version... par contre si ton script/classe est un script indépendant, genre plugin, là tu peux lui donner un numérot de version perso... .. .

    C'est plus logique, ça donne moins de taf et allège le suivi des versions... .. .

    @ tchaOo°
    Ok je comprend. Donc en gros je peux le faire à deux niveaux. Dans le fichier / class/ methode Juste pour moi pour mon suivi d'évolution personnel mais pour subversion je gère les versions au niveau des modules qui est ensemble de scripts.

  10. #10
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Attention à ne pas confondre "version" et "revision".
    La "revision" correspond à un commit. Un numéro de révision est attribué automatiquement à tout le repository (à la différence de cvs où c'est fichier par fichier).
    Quand à la version, ça correspond à la branche sous cvs, attribué manuellement par le developpeur/chef => X.Y.Z

  11. #11
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    Citation Envoyé par Mr N.
    Attention à ne pas confondre "version" et "revision".
    La "revision" correspond à un commit. Un numéro de révision est attribué automatiquement à tout le repository (à la différence de cvs où c'est fichier par fichier).
    Quand à la version, ça correspond à la branche sous cvs, attribué manuellement par le developpeur/chef => X.Y.Z
    Ha effectivement c'est pas la même chose et il ne faudrait pas que je me base dessus en parlant de la révision. La version je voudrais la poser moi même.

    Je pense qu'en utilisant subservion j'y verrais plus claire car là pour l'instant cela me parait peut être un peut trop abstrait pour que je puisse décider quoi faire.

  12. #12
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    2-0
    Echec total. A croire que je suis aidé par le PSG (non là je suis dure ) .
    Premier but de SubVersion
    Impossible d'installer SubVersion sur windows malgré le tuto présent sur développez. Impossible de ce connecter. L'outil client avec la tortue ne s'installe même pas.

    Second but dans la seconde Mi-temps par DotProjet
    Il s'installe mais pas avec la version 5 de Mysql. Des dire du responsable, il a du dribler un bon coup pour que ça puisse fonctionner.

    Allez! lache l'affaire.

  13. #13
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Est-ce que tu travailles sur une seule machine, comprendre: est ce que tes sources sont sur la meme machine que le dépot svn ?

  14. #14
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    Citation Envoyé par Mr N.
    Est-ce que tu travailles sur une seule machine, comprendre: est ce que tes sources sont sur la meme machine que le dépot svn ?
    Oui.
    j'ai bien placer svn://localhost/monprojet un truc comme ça.
    Il me propose pas de me loger. J'ai suivi le tuto comme un mouton pourtant

  15. #15
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Si tu travailles uniquement en local tu n'as besoin que de TortoiseSVN.
    Je t'en dis plus tout à l'heure.

  16. #16
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    Citation Envoyé par Mr N.
    Si tu travailles uniquement en local tu n'as besoin que de TortoiseSVN.
    Je t'en dis plus tout à l'heure.
    Haa ça devient intéressant .
    Il se pourrait que j'ai pas fait attention mais je pense peut être avoir prit une mauvaise version la 64bit.

  17. #17
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Voili voilou comment je procède :
    1. Installation de TortoiseSVN
    Facile.

    2. Création d'un dépot (repository) subversion
    Je mets mon dépot sur une partition autre que C:
    Je crée un dossier d:\svnroot
    Je vais dedans avec l'explorer et je fais bouton droit >

    Je laisse en fsfs

    Le dépot est créé

    3. Import des sources dans subversion
    Par exemple mon installation de Wamp est dans c:\wamp
    Je vais dans c:\wamp\www
    Je crée un dossier temporaire c:\wamp\www\tmp et je copie dedans tous les dossiers qui doivent être sous controle de version :

    Ensuite je fais bouton droit sur le répertoire tmp :


    Puis je renseigne l'url qui va bien : file:///d:/svnroot/


    Les sources sont sous controle de version
    Je peux supprimer mon répertoire temporaire

    4. Je fais un checkout
    N'importe où sur mon filesystem, je fais un checkout du projet que je veux.
    Si je veux travailler dans www, il faut supprimer les anciennes sources (faire une copie au préalable). Donc je supprime test_parcours dans mon exemple, puis dans l'explorer, je fais bouton droit > checkout :


    Et voilà, on peut travailler maintenant, la petite coche verte nous indique qu'on est up-to-date



    Ceci bien entendu pour une utilisation purement locale !

  18. #18
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    C'est d'la bombe de balle couzin . Je teste ça des ce soir.

  19. #19
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    C'est terrible ça fonctionne je vais pouvoir bien m'amuser avec .

    Je pense que c'est un petit tuto à placer dans les contributions

    Merci!

  20. #20
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    J'ai un petit update à faire à propos de Subversion.

    En effet j'étais pas très satisfait de la partie 3. Import des sources dans subversion
    Ce truc du répertoire temporaire c'est vraiment trop lourd à mon gout.

    Voici une autre méthode beaucoup plus simple :
    Imaginons que j'ai un projet 'ProjectOfTheYear' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c:\wamp\www\ProjectOfTheYear\
    Il suffit de faire bouton droit sur ce dossier, de faire un import. L'url de dépot est file:///d:/subversion/ProjectOfTheYear

    C'est tout, je vous avait dit que c'était plus simple

Discussions similaires

  1. Connexion SYSDBA sur une base ou une autre
    Par jack554 dans le forum Administration
    Réponses: 11
    Dernier message: 20/04/2004, 17h11
  2. Filtre sur une base Paradox
    Par mika dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/03/2004, 11h51
  3. Alter user sur une base distante
    Par bilo2000 dans le forum Administration
    Réponses: 13
    Dernier message: 09/03/2004, 17h18
  4. calcul d'un point sur la base d'un cone
    Par Admin dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 18/11/2003, 21h18
  5. [Crystal] Performance sur grosses base de données
    Par Nico118 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 14/11/2003, 15h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo