Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/06/2010, à 10:58

ffw137

[RESOLU] Gestionnaire de version - lequel choisir

Bonjour à tous,

Je commence dans la programmation sous linux et de ce fait dans son principe communautaire, je me dois (enfin je le pense) d'utiliser un gestionnaire de version, ce que je n'ai jamais fait sous win (petit projet au environ de 50000 lignes pour le plus gros sous delphi).

En parcourant un peu la documentation et d'anciens (<2002) livres de programmation en C/C++ sous linux, on me parle de RCS (qui semble abandonné), CVS et Git, Bazaar via la documentation du site et je m'y perds un peu!

Donc j'aimerais que l'on me conseille un peu sur le choix à faire sachant que pour le moment je vais surement développer dans mon coin pour apprendre mais le but final sera de publier et de partager quand je serai (je l'espère) assez mature pour créer quelque chose d'utile à la communauté.

Merci d'avance.

wink

Dernière modification par ffw137 (Le 25/06/2010, à 14:04)


Acer 5610-Epson DX3850-Samsung ML-1640-Lucid
Samsung NC-10-Lucid-Ecran 17"
"Un philosophe c'est quelqu'un qui est prêt à faire mourir les autres pour ses idées avant d'en changer quand vient son tour" (perso enfin je pense)

Hors ligne

#2 Le 23/06/2010, à 11:21

binouche22

Re : [RESOLU] Gestionnaire de version - lequel choisir

L'outil actuellement le plus populaire est certainement SVN:
http://doc.ubuntu-fr.org/subversion


binouche22

Hors ligne

#3 Le 23/06/2010, à 11:26

ffw137

Re : [RESOLU] Gestionnaire de version - lequel choisir

Je viens de lire ceci: http://forum.ubuntu-fr.org/viewtopic.php?id=401291

Merci pour cette réponse, je vais lire cela avec attention.

wink


Acer 5610-Epson DX3850-Samsung ML-1640-Lucid
Samsung NC-10-Lucid-Ecran 17"
"Un philosophe c'est quelqu'un qui est prêt à faire mourir les autres pour ses idées avant d'en changer quand vient son tour" (perso enfin je pense)

Hors ligne

#4 Le 23/06/2010, à 15:59

ffw137

Re : [RESOLU] Gestionnaire de version - lequel choisir

Merci, c'est très bien! Je viens de faire le tuto, tout est OK sauf quand je met une authentification alors il me dit que je n'ai pas les droits mais bon, je dois surement chipoter dans les fichiers de configuration.

Mais si j'enlève l'authentification alors tout va bien.

Je suis encore paumé avec les droits sous linux, si sur le principe c'est impeccable, il faut le temps de s'y faire et d'acquérir les bons réflexes.

Bien sur je vais continuer à essayer les différentes choses que l'on me propose.

Le script sous nautilus est impeccable également!

wink


Acer 5610-Epson DX3850-Samsung ML-1640-Lucid
Samsung NC-10-Lucid-Ecran 17"
"Un philosophe c'est quelqu'un qui est prêt à faire mourir les autres pour ses idées avant d'en changer quand vient son tour" (perso enfin je pense)

Hors ligne

#5 Le 23/06/2010, à 23:23

T_i_t_i

Re : [RESOLU] Gestionnaire de version - lequel choisir

Il me semble que Git est pas mal, difficile mais puissant, à vérifier...
(PS : jamais testé...)

Dernière modification par T_i_t_i (Le 23/06/2010, à 23:24)


Ubuntu 10.04 / GNOME
(wmii),c'est bien, (uzbl),aussi (merci helly ^^)

Hors ligne

#6 Le 23/06/2010, à 23:30

Kanor

Re : [RESOLU] Gestionnaire de version - lequel choisir

CVS est obsolète
SVN est pas vraiment mieux lotis
Maintenant tu peux faire ton choix entre git, bazaar et mercurial en plus connue
et la c'est un peu la guerre de chapelle de style vi vs emac
donc la je te conseil de tester et c'est suivant les projets que tu suis

Pour ma part j'aime bien git commande assez explicite et rapide

Hors ligne

#7 Le 23/06/2010, à 23:30

Kanor

Re : [RESOLU] Gestionnaire de version - lequel choisir

CVS est obsolète
SVN est pas vraiment mieux lotis
Maintenant tu peux faire ton choix entre git, bazaar et mercurial en plus connue
et la c'est un peu la guerre de chapelle de style vi vs emac
donc la je te conseil de tester et c'est suivant les projets que tu suis

Pour ma part j'aime bien git commande assez explicite et rapide

Hors ligne

#8 Le 24/06/2010, à 12:16

binouche22

Re : [RESOLU] Gestionnaire de version - lequel choisir

CVS est obsolète

on est d'accord. smile

SVN est pas vraiment mieux lotis

Ca c'est ton opinion

Maintenant tu peux faire ton choix entre git, bazaar et mercurial ...

Je ne connais pas bazaar mais dans le cas de ffw137 je ne vois vraiment pas l'interet d'un Mercurial ou d'un outil SCM distribué comme git.
Tout dépend de l'utilité que tu vas en avoir.
Cela n'empeche pas que ce soit de tres bon outils, mais c'est un peu comme dire a quelqu'un qui veut faire un petit site perso: ''pour ta base de données utilise Oracle DB car mySQL est bien moins bon.'' L'outil n'est pas forcément le plus adapté

Dernière modification par binouche22 (Le 24/06/2010, à 12:18)


binouche22

Hors ligne

#9 Le 24/06/2010, à 13:38

Airballman

Re : [RESOLU] Gestionnaire de version - lequel choisir

Salou,

Tu te poses la meme question que moi il y a peu.
JE te conseille git si tu n'as jamais travaillé avec un gestionnaire de version.

C'est vraiment ultra simple, plutot userfriendly et très rapide à mettre en place.

J'en suis vraiment très content.

J'ai fait un wiki local avec la liste des commandes principales si ca tinteresse. Tu nas qu ' à telecharger la page et la lire via ton naviguateur smile

Si tu as des pbs, n hesite pas a demander!

EDIT : Je rajouterai que c'est super simple en apparence, mais que tu peux complexifier autant que tu veux à mesure que tu prends labitude (gestion de tags, travail collaboratif, versionnage decentralisé, ....)

Dernière modification par Airballman (Le 24/06/2010, à 13:39)

Hors ligne

#10 Le 24/06/2010, à 14:58

ffw137

Re : [RESOLU] Gestionnaire de version - lequel choisir

Merci pour cette aide!
Avec svn, je rame un peu car il ne veut pas faire les commit car comme j'ai donnée les droits à apache, il rouspète car seul le proprio (lui) peut écrire donc cela ne sert à rien de s'ajouter au groupe www-data. De plus je ne vois pas ce que cela apporte de passer par apache sauf pour downloader les sources parce que je ne vois pas de upload possible sauf par la ligne de commande.

Je vais voir git également mais je lirais également svn (le livre en français de 385 pages) et là je viens de télécharger la doc de git.

@Airballman: où est ton wiki, car j'ai été dans la doc mais je ne vois que le doc git.

Merci à tous! big_smile


Acer 5610-Epson DX3850-Samsung ML-1640-Lucid
Samsung NC-10-Lucid-Ecran 17"
"Un philosophe c'est quelqu'un qui est prêt à faire mourir les autres pour ses idées avant d'en changer quand vient son tour" (perso enfin je pense)

Hors ligne

#11 Le 24/06/2010, à 15:35

Airballman

Re : [RESOLU] Gestionnaire de version - lequel choisir

Heu smile
Comme je lai di le wiki est en local sur mon pc big_smile je t'envoie si ca tinteresse. C 'est rien de tres exhausitf. Comme ta doc de 400 pages big_smile

Ya juste les 30 lignes de code a connaitre pour pouvoir gerer du git tout seul et commencer ss aucun pb.

Hors ligne

#12 Le 24/06/2010, à 15:39

Airballman

Re : [RESOLU] Gestionnaire de version - lequel choisir

Bon je viens dessayer via dropbox mais ca marche pas :s
Je suis au taf a, je te fais une archive ce soir et je te mets le lien wink

Hors ligne

#13 Le 24/06/2010, à 15:55

bejazzy

Re : [RESOLU] Gestionnaire de version - lequel choisir

Pour ma part, j'ai utilisé SVN. Je suis maintenant passé sous Git. Plusieurs différences majeures:
- SVN est centralisé alors que Git est décentralisé
- Git est plus rapide
- Git peut faire des publications (commits) en local

Je viens de m'intéresser un peu à Mercurial. Les commandes de bases ressemblent beaucoup à Git. Par contre, je ne saurai comparé leur fonctionnement.

Quelques liens:
- récapitulatif des commandes de bases: http://git.or.cz/gitwiki/GitCheatSheet
- livre communautaire en anglais (http://book.git-scm.com/index.html) et en français (http://alx.github.com/gitbook/index.html)
- des vidéos courtes commentées (en anglais) très biens faites sur telle ou telle commande Git: http://gitcasts.com/
- Plusieurs hébergeurs de projets sous Git: GitHub et Gitorious.

Pour finir, je liste plusieurs projets qui sont actuellement suivis avec Git:
le noyau de Linux, Gnome, Qt, Debian, Fedora, VLC, Wine, ... Des projets biens connus !! big_smile

Pour a part, je m'en sers pour développer, écrire des rapports, faire un site internet. En espérant que ces liens te seront utiles.


Dell Inspiron 1525 - #!CrunchBang Linux 10 Statler Xfce --- #! FR

Hors ligne

#14 Le 24/06/2010, à 16:08

Le Farfadet Spatial

Re : [RESOLU] Gestionnaire de version - lequel choisir

Salut à tous !

binouche22 a écrit :

Je ne connais pas bazaar mais dans le cas de ffw137 je ne vois vraiment pas l'interet d'un Mercurial ou d'un outil SCM distribué comme git.

Il y a plusieurs choses que je ne comprends pas bien dans cette remarque. Tout d'abord, tant Mercurial que Git -- et Bazaar également, en passant --, sont des systèmes de gestions de versions décentralisés.

   Ensuite, ni Mercurial, ni Git, ni Bazaar ne sont véritablement plus difficiles d'utilisation que SVN, j'aurais même tendance à dire « au contraire ».

   Enfin, utiliser un gestionnaire de version est un outil pour ainsi dire indispensable lorsque l'on participe à un projet et il est toujours plus facile d'apprendre sur un projet simple, donc pourquoi ne pas commencer l'apprentissage ? À ce niveau, je trouve que l'analogie entre MySQL et OpenDB manque de pertinence -- surtout que PostGreSQL est bien meilleur (saurez-vous trouver le troll qui s'est caché ici ?).

Kanor a écrit :

SVN est pas vraiment mieux lotis

C'est tout de même un peu fort, SVN est encore en développement.

   Cela dit, je fais partie de ceux qui pensent que les systèmes de gestion de version centralisés sont dépassés. Raison pour laquelle je conseille plutôt d'utiliser Git, Mercurial ou Bazaar. Pour ma part, je préfère Mercurial, mais comme l'a fait remarquer Kanor, c'est un peu le même problème que de choisir entre Vim et Emacs. Du coup, j'aurais tendance à conseiller de voir un peu comment fonctionne les trois pour faire son choix.

   À bientôt.

   Le Farfadet Spatial

Hors ligne

#15 Le 24/06/2010, à 16:22

ffw137

Re : [RESOLU] Gestionnaire de version - lequel choisir

Je viens de tester git, c'est vrai que c'est moins lourd que svn à configurer.

Demain ou ce week-end, j'installerais bazaar et mercurial pour me faire également une idée.

"Tous les goûts sont dans la nature malheureusement la nature va à l'égout"

wink


Acer 5610-Epson DX3850-Samsung ML-1640-Lucid
Samsung NC-10-Lucid-Ecran 17"
"Un philosophe c'est quelqu'un qui est prêt à faire mourir les autres pour ses idées avant d'en changer quand vient son tour" (perso enfin je pense)

Hors ligne

#16 Le 24/06/2010, à 17:06

bejazzy

Re : [RESOLU] Gestionnaire de version - lequel choisir

N'hésite surtout pas de faire un retour de ton expérience. Ça peut toujours intéresser des personnes qui se sont posés la même question que toi.

Des points qui me semblent importants quand on débute sur un nouvel outil:
- la documentation, les tutoriaux, la capacité de ces différentes ressources à donner rapidement des choses simples à faire sans te plonger 3 heures dans la documentation officielle
- simplicité d'installation
- simplicité d'utilisation
- n'existe-t-il pas un outil plus simple pour faire ce que je souhaite faire?

En plus, je suis curieux de connaître quelles différences notables tu as trouvé, lequel as-tu choisi et pourquoi.

Dernière modification par bejazzy (Le 24/06/2010, à 17:08)


Dell Inspiron 1525 - #!CrunchBang Linux 10 Statler Xfce --- #! FR

Hors ligne

#17 Le 24/06/2010, à 22:28

ffw137

Re : [RESOLU] Gestionnaire de version - lequel choisir

Ok, j'essaierai de faire cela! wink


Acer 5610-Epson DX3850-Samsung ML-1640-Lucid
Samsung NC-10-Lucid-Ecran 17"
"Un philosophe c'est quelqu'un qui est prêt à faire mourir les autres pour ses idées avant d'en changer quand vient son tour" (perso enfin je pense)

Hors ligne

#18 Le 24/06/2010, à 23:38

Airballman

Re : [RESOLU] Gestionnaire de version - lequel choisir

Youhou,

chose promise chose due

Voila le condensé que j'utilise

Installation :
# sudo aptitude install git-core git-svn

Configuration :
# git config --global user.name "Nicolas Hennion"
# git config --global user.email "contact_at_nicolargo_._com"

Creation d'un depot :
(a faire directement dans le dossier que l'on veut sauvegarder)
# cd ~/workspace/projet
# ls -alF
pour voir ce qu'il y a dans le dossier que l'on va sauvegarder

# git init
Initialized empty Git repository in .git/

# git add *

Verification des ajouts :
# git status

Validation du projet:
# git commit -m "Premier commit"


Pour un ajout de fichier :
# git add README
# git commit -a -m "Ajout du fichier README"

Voir les differences entre sauvegarde et fichier actuel :
# git diff

Info pour permettre de revenir à une ancienne version :
# git log
# git revert blabla , blabla la version que l'on choisit de recuperer

Suppression d'un fichier source :
# git rm client.sh
# git rm server.sh
# git commit -a -m "Supression des fichers de test"

Hors ligne

#19 Le 24/06/2010, à 23:39

Airballman

Re : [RESOLU] Gestionnaire de version - lequel choisir

Avec ca, tu nas pas besoin de lire de doc smile

Si tu veux faire plus, alors plonge dans les bouquins !

Hors ligne

#20 Le 25/06/2010, à 10:43

ffw137

Re : [RESOLU] Gestionnaire de version - lequel choisir

Merci pour ces infos!

Quand on veut récupérer une version bien précise, dans la doc on me dit qu'il faut donner le commit. Est-ce la série de chiffre monstrueuse ou y-a-t-il un raccourci avec le message que l'on a joint car j'ai essayé avec celui-ci entre guillemets mais sans résultats.

wink


Acer 5610-Epson DX3850-Samsung ML-1640-Lucid
Samsung NC-10-Lucid-Ecran 17"
"Un philosophe c'est quelqu'un qui est prêt à faire mourir les autres pour ses idées avant d'en changer quand vient son tour" (perso enfin je pense)

Hors ligne

#21 Le 25/06/2010, à 10:58

ffw137

Re : [RESOLU] Gestionnaire de version - lequel choisir

En parcourant la page doc de mercurial, j'ai vu également Darcs qui semble reposer sur une autre approche.

Ainsi que monotone qui m'a l'air assez complexe au premier abord et travaillant en peer-to-peer.

Je vais voir tout cela, en partant du principe que je suis un programmeur amateur venant de windows et découvrant linux donc les comparaisons seront surtout axées sur la simplicité de prise en main, la compréhension facile de la documentation et les acquis nécessaires pour réellement utiliser cet outil.


Acer 5610-Epson DX3850-Samsung ML-1640-Lucid
Samsung NC-10-Lucid-Ecran 17"
"Un philosophe c'est quelqu'un qui est prêt à faire mourir les autres pour ses idées avant d'en changer quand vient son tour" (perso enfin je pense)

Hors ligne

#22 Le 25/06/2010, à 12:20

ffw137

Re : [RESOLU] Gestionnaire de version - lequel choisir

Donc voici déja mes premières impressions:

SVN : lourd à mettre en place, j'ai suivi le tuto jusqu'à la fin mais au final je n'ai pas le droit de faire un commit car je n'ai pas les droits. Et j'ai du chercher un bon moment pourquoi pour au final créer un groupe ayant les bonnes permissions!

GIT : prise en main rapide, pas de problème de droits, pas de serveur à configurer ni de script à créer, comme dit précédemment: User Friendly.

BZR: clone de GIT pour moi, je ne vois pas grande différence à mon niveau, même les pages docs sont quasi identiques.

Pour les autres, je vais tester.

Par contre, j'ai trouvé ceci interessant: http://linuxfr.org/~penso/25229.html et http://wiki.freebsd.org/VersionControl qui semble courronné Git mais je suppose que Mercurial a déjà comblé les lacunes citées.

wink

Dernière modification par ffw137 (Le 25/06/2010, à 12:22)


Acer 5610-Epson DX3850-Samsung ML-1640-Lucid
Samsung NC-10-Lucid-Ecran 17"
"Un philosophe c'est quelqu'un qui est prêt à faire mourir les autres pour ses idées avant d'en changer quand vient son tour" (perso enfin je pense)

Hors ligne

#23 Le 25/06/2010, à 13:11

Airballman

Re : [RESOLU] Gestionnaire de version - lequel choisir

C'est marrant tu as la meme demarche que moi lannée derniere tongue

Sauf que je me suis arrete quand jai trouvé mon bonheur : Git. tongue

Fais nous des feedbacks sur les autres trucs que tu testes wink

Hors ligne

#24 Le 25/06/2010, à 13:24

ffw137

Re : [RESOLU] Gestionnaire de version - lequel choisir

Malheureusement pour mercurial, je viens de télécharger manuellement les deux packages mercurial-common 1.4.3-1 et mercurial 1.4.3-1 mais ce dernier ne veut pas s'installer car 'mercurial-common est en conflit avec mercurial (<1.4.3-1).

Donc, je devrais l'installer sur mon netbook et faire un aptcd pour l'installer correctement à mon avis. hmm

Je viens de commencer avec monotone mais déjà la configuration de base n'est pas simple: création d'une base de donnée au milieu de son répertoire home, création de clés publique et privées, fonctionnement en SSH, pour un débutant ça commence fort donc je pense le laisser à de plus experts que moi.

wink


Acer 5610-Epson DX3850-Samsung ML-1640-Lucid
Samsung NC-10-Lucid-Ecran 17"
"Un philosophe c'est quelqu'un qui est prêt à faire mourir les autres pour ses idées avant d'en changer quand vient son tour" (perso enfin je pense)

Hors ligne

#25 Le 25/06/2010, à 13:30

jde3

Re : [RESOLU] Gestionnaire de version - lequel choisir

ffw137 a écrit :

Merci pour ces infos!

Quand on veut récupérer une version bien précise, dans la doc on me dit qu'il faut donner le commit. Est-ce la série de chiffre monstrueuse ou y-a-t-il un raccourci avec le message que l'on a joint car j'ai essayé avec celui-ci entre guillemets mais sans résultats.

wink

D'après la doc (je débute aussi dans git), on peut utiliser les tags pour ça :

You can also give commits names of your own; after running
$ git tag v2.5 1b2e1d63ff
you can refer to 1b2e1d63ff by the name "v2.5". If you intend to share this name with other people (for example, to identify a release version), you should create a "tag" object, and perhaps sign it; see git-tag(1) for details.
Any git command that needs to know a commit can take any of these names. For example:
$ git diff v2.5 HEAD     # compare the current HEAD to v2.5

Hors ligne