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.
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:
- Un commit doit concerner -- si possible -- une seule et unique "action" au maximum (correction d'un bug, ajout d'une fonctionalité, correction de typos, réindentation, ...)
- Si un commit concerne une sous-action (on ne commite pas une action complète -- parce qu'on a pas encore fini par exemple mais qu'on veut sauvegarder le point où on en est -- mais uniquement une partie de cette action), le commit ne doit pas casser le trunk: le commit ne doit ni empêcher de compiler le projet, ni empêcher les tests de passer, ni empêcher de faire tourner le projet (c'est extrèmement important, sinon on peut empêcher les autres de travailler)
- Cette règle étant également vraie pour le commit d'une action complète: le repository doit toujours contenir du code compilable (le passage des tests étant un problème différent, on peut vouloir du code ne passant pas certains tests, mais autant éviter)
- On doit pouvoir trouver un nom (une description) claire et non-ambigue pour chaque commit. Ca peut être long dans certains cas, mais ça doit toujours être clair et lister une seule et unique action. Les fichiers impactés ne doivent jamais être listés dans la description (il est trivial de les récupérer via un svn log)
- Tout commit doit se voir associé une description et cette description doit naturellement décrire le contenu du commit/de la révision (pas de "pouet", "bleh" ou "je sais pas quoi mettre alors je mets rien" )
Tu verras ça plus tard
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)
Message édité par masklinn le 07-03-2007 à 12:54:39
---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody