Outil de versionning style CVS - Divers - Programmation
Marsh Posté le 03-03-2007 à 09:34:59
Subversion
sous Windows tu utilises tortoiseSVN comme client qui s'intègre parfaitement bien l'explorateur de fichiers.
Après je pense pas que tu puisse trouver ce que tu cherches exactement.
Mais dans ce cas, utilise un wiki
Marsh Posté le 03-03-2007 à 11:20:13
Disons que si tu cherches qqch qui tourne pas client/serveur ... je vois pas trop ..
Moi je te conseille aussi subversion .. je l'utilise depuis quelques mois et j'en suis satisfait à 200%. Tu peux installer le serveur et après, si tu trouves pas un client qui te plait / qui fait ce que tu veux, tu peux toujours t'en écrire un ... Si ce que tu fais est assez ciblé ça reste assez basique, et vu que probablement tu veux l'utiliser sur ton ordio, tu pourrais même le faire en php
Marsh Posté le 03-03-2007 à 13:36:08
esox_ch a écrit : Disons que si tu cherches qqch qui tourne pas client/serveur ... je vois pas trop .. |
Mais sinon, +1 pour Subversion, très bien et largement meilleur que CVS, facile à installer et bien documenté en plus
Marsh Posté le 03-03-2007 à 13:55:45
merci pour toutes ces reponses
enfait je me suis peut etre mal exprimé , quand j'ai dit non client/serveur je voulais dire sans quil y ait besoin dinstaller un tas de programmes juste pour pouvoir aller consulter les sources , qqch daccessible de partout, meme chose pour le serveur, pas besoin de passer 2 jours a installer et configurer le prog a coup de .conf avant davoir qqchose qui marche
bon pour le moment je vais regarder dun peu plus pres ce "subversion" pour voir ce que ca donne
Marsh Posté le 03-03-2007 à 13:57:55
Subversion cay bon mangez en.
Pis si tu veux pas un client spécial, subversion ya moyen de mettre ca en Webdav...
Marsh Posté le 07-03-2007 à 12:16:11
Bon j'ai installé le subversion + tortoise... je suis surpris ca marche plutot bien et ca reste assez simple a mon gout
cependant jai encore qq questions:
- a quoi sert le svn:// j'ai cru comprendre que ca permettait dacceder a un projet par le reseau , mais apparament ca n'a rien avoir avec le browser ?? ou le browser peut il lui aussi en tirer qqchose?
- quel est la difference entre un update et un commit ??? apparament le concept ici cest : tout le monde travaille sur ca copie locale ,puis "valide" cest fichier une fois terminé, cest bien ca? le "vrai" projet etant sauvé dans c:\sub_depot\trunk et les version intermerdiaires +difs dans des fichiers binaires geres par subversion?
EDIT : bon apparament update permet de recuperer la derniere version et commit de lenvoyer
- si par exemple je modifie une dizaine de fichiers c pour mon projet , faut til que je fasse un update /commit pour chaque apres ? ou je peut submitter direct tout le rep et subversion detectera tout seul ce qui a changé?
EDIT :apparament il trouve les changement tout seul comme un grand
- cest quoi cette histoire de branch / trunk , rien compris
j'ai utilisé le tuto ici http://ericreboisson.developpez.co [...] ubversion/
si qqn a un bon tuto sur subversion (pas linstall,les bases, lutilisation) ca minteresse fortemement
Marsh Posté le 07-03-2007 à 12:54:05
red faction a écrit : - a quoi sert le svn:// j'ai cru comprendre que ca permettait dacceder a un projet par le reseau , mais apparament ca n'a rien avoir avec le browser ?? ou le browser peut il lui aussi en tirer qqchose? |
Ca permet au client svn d'accéder au repository via le protocole SVN, aucun rapport avec ton navigateur. Par contre tu peux aussi installer apache + mod_dav_svn (et les configurer) pour que ton client puisse utiliser HTTP, et dans ce cas tu pourras te ballader dans ton repository avec ton navigateur.
Après il y a des logiciels qui permettent de faire des trucs plus avancés depuis son navigateur genre ViewVC.
red faction a écrit : quel est la difference entre un update et un commit ??? |
Ce sont très précisément les opérations opposées: un commit permet d'envoyer tes modifications locales au repository (afin de les sauvegarder et de permettre aux gens bossant avec toi de pouvoir les voir), un update permet de télécharger dans ta working copy les modications stockées dans le repository (de synchroniser ta working copy avec le repository).
À noter que tu peux avoir des modifications dans ta working copy quand tu fais un update, elles seront sauvegardées.
red faction a écrit : apparament le concept ici cest : tout le monde travaille sur ca copie locale ,puis "valide" cest fichier une fois terminé, cest bien ca? |
Pas exactement. Tout le monde travaille sur sa working copy (sa copie locale, d'un autre côté on ne peut pas bosser sur autre chose), et quand une "unité de travail" (qui différe d'une boite à l'autre et d'un individu à l'autre) est terminée on commit afin d'envoyer les modifications au repository central (et, comme je l'ai déjà dit, de sauvegarder ces modifications et les rendre disponibles pour les autres développeurs)
red faction a écrit : le "vrai" projet etant sauvé dans c:\sub_depot\trunk et les version intermerdiaires +difs dans des fichiers binaires geres par subversion? |
Oui et non, le repository stocke ce qu'on peut appeler la version "officielle" (la seule qui soit visible en dehors de la machine du ou des développeurs), ainsi naturellement que les informations de versionings, et il effectue la synchro entre les devs
red faction a écrit : si par exemple je modifie une dizaine de fichiers c pour mon projet , faut til que je fasse un update /commit pour chaque apres ? ou je peut submitter direct tout le rep et subversion detectera tout seul ce qui a changé? |
Tu peux commiter tout ce que tu veux, svn est un grand garçon.
Par contre la question est de savoir si tu veux vraiment tout commiter. Habituellement j'essaie de suivre ces règles quand je commit:
red faction a écrit : cest quoi cette histoire de branch / trunk , rien compris |
Tu verras ça plus tard
red faction a écrit : j'ai utilisé le tuto ici http://ericreboisson.developpez.co [...] ubversion/ |
Intro to Subversion Screencast sur ClickableBliss pour la base, puis Version Control with Subversion pour des trucs plus avancés (le bouquin est un peu long, mais toute personne voulant utiliser SVN correctement devrait le lire au moins une fois, au moins du chapitre 1 au chapitre 3 (le 4 est sur les branches et tags, et les chapitres 5 et + sont sur l'admin du repository et le scripting)
Marsh Posté le 07-03-2007 à 13:54:35
merci pour tes reponses rapides, cest bcp plus clair maintenant
ya encore deux ou 3 choses qui me chiffonnent :
EDIT : jai vu la video c bon maitenant pour la partie "conflit"
jai 4 projets a gerer (2 en delphi, 1 php et 1 en C)
je fait comment ? je cree un depository dans lequel je met 4 branches ????
ou faut que je fasse 4 depository ?(arg)
les fichiers autre que les fichiers sources (ressources, ico & co ) et exe compilés doivent aussi rentrer dans subversion?
(pour les branch /trunk jai trouve un peu dinfo la dessus, ca c bon maintenant mais faudrait encore tester)
Marsh Posté le 07-03-2007 à 14:51:26
red faction a écrit : jai 4 projets a gerer (2 en delphi, 1 php et 1 en C) |
Les "branches" svn ne sont que des conventions, mais ça a un sens bien précis.
Donc non.
Tu crées simplement les répertoires correspondants à la racine de ton repository, avec dans chacun un répertoire trunk (pour le trunk), un répertoire branches et un répertoire tags (tous les deux vides jusqu'à ce que tu comprennes bien à quoi ça sert et comment ça fonctionne)
e.g.
/ # racine du repository |
et quand tu bosses sur un projet tu ne checkout qu'une partie du repository (e.g. svn co svn://repository/projet_c_1)
red faction a écrit : les fichiers autre que les fichiers sources (ressources, ico & co ) et exe compilés doivent aussi rentrer dans subversion? |
les fichiers compilés ne doivent JAMAIS aller dans subversion!
Dans SVN on ne met aucun fichier généré, on met uniquement ce qui permet la génération e.g. sources, scripts de builds (makefiles), resources (images, ...).
On ne met ni les fichiers générés automatiquement (à moins de ne pas pouvoir les régénérer du tout) ni les fichiers compilés (qui sont générés de toute façon).
Ja.
Mais.
red faction a écrit : (pour les branch /trunk jai trouve un peu dinfo la dessus, ca c bon maintenant mais faudrait encore tester) |
Laisse tomber pour le moment, apprends déjà à correctement utiliser SVN, les branches ne sont absolument pas nécessaires dans un premier temps (les tags sont plus intéressants btw)
Marsh Posté le 20-03-2007 à 12:49:08
salut,
ca va bcp mieux avec SVN, cest vraiment un super outil !
j'ai encore une petite question:
sur le serveur ou est installé SVN, j'ai egalement 3 site webs php... mon idée serait de pouvoir les modifiers a distance puis de faire un commit et que ca mette automatiquement les site a jour (qui pour le moment sont dans apache / htdocs htdocs2 ,...) mais je n'ai aucune idée de comment faire ca
Marsh Posté le 20-03-2007 à 12:52:33
red faction a écrit : salut, sur le serveur ou est installé SVN, j'ai egalement 3 site webs php... mon idée serait de pouvoir les modifiers a distance puis de faire un commit et que ca mette automatiquement les site a jour (qui pour le moment sont dans apache / htdocs htdocs2 ,...) mais je n'ai aucune idée de comment faire ca |
Les déploiements auto au commit c'est un peu tricky, il faut passer par les triggers SVN (oncommit toussa, cf le SVN Redbook sur le sujet), et si tu déploies direct en prod tu peux balancer des bugs en prod sans avoir pris le temps de les tester.
Le plus simple reste probablement du déploiement timé via cron.
Marsh Posté le 20-03-2007 à 13:05:09
enfait on risque pas trop de probleme pour les bugs en prod, je texplique
on a 2 serveurs :
studio developpement domaine situé tres loin
--------------------- ----------------------
-serveurB <--------------------------> serveurA (principal ) (apache ,SQL Server, svn, ftp,....)
(replication du serveurA, (fichier php+db) ligne internet
sert principalement pour le dev)
^
|
v
-machine de developement( dont mon pc en loccurence)
donc tout est teste en interne avant de balancer le code
Marsh Posté le 27-03-2007 à 13:34:30
bon petite question
j'ai creer un repertoire a laide de svn mkdir
si je n'ai plus besoin de ce projet est til possible de le supprimer (sans retirer tout le depository?)
Marsh Posté le 27-03-2007 à 14:45:29
oui, il suffit de svn rm sur le répertoire que tu veux supprimer.
Le truc sympa, c'est que l'historique de ton répertoire reste, donc si t'as besoin de le récupérer un jour tu peux
Marsh Posté le 27-03-2007 à 15:44:58
mais ca prend pas de la place????? genre si je veux vraiment le supprimer (historique compris) (bon je c le but de svn est de tout logger)
Marsh Posté le 27-03-2007 à 16:02:58
red faction a écrit : mais ca prend pas de la place????? |
OSEF de ça
red faction a écrit : genre si je veux vraiment le supprimer (historique compris) (bon je c le but de svn est de tout logger) |
Faut faire ça manuellement avec un export puis un reload de tout le repository, et t'as 9 chances sur 10 de flinguer le truc.
Aucun intérêt
Marsh Posté le 03-03-2007 à 01:45:55
Bonjour ,je cherche un outil qui me permetterai d'uploader des sources de divers programmes (C, delphi et php) et de pouvoir comparer les versions facilement, de savoir qui a changer quoi et de pouvoir revenir en arriere pour certains fichiers
l'ideal serait une espece de framework php deja tout fait qui permette de faire ca, cad une solution 100% web, je n'ai pas trop envie davoir un programme externe (client + serveur) pour pouvoir faire ca. De plus ca me permetterai de modifier le soft au besoin....
je n'ai pas besoin d'un mastodonte, plus c simple mieux ca ira...
je suppose que bcp dentre vous utilisent ce genre d'outils au taf ou autre, donc au lieu de chercher comme un fou pendant des heures je me suis dit que cetait mieux de demander avant (ps : ici c pour le taf aussi)
Message édité par red faction le 03-03-2007 à 01:46:15