CVS, Comment agir dans ce cas-là ? - Java - Programmation
Marsh Posté le 08-01-2003 à 10:11:23
tu es sous windows? (le client CVS je veux dire)
Marsh Posté le 08-01-2003 à 10:22:29
MachinBidule1974 a écrit : Salut, |
Lorsque tu as supprimé, tu l'as fait sur ton poste client ou sur le serveur ???
J'ai pas mal galéré avec CVS au début, maintenant je m'y prends comme ca (C pas très propre mais ca marche) :
<> Suppression de fichier :
remove du fichier sur le serveur + commit
(j'utilise WinCVS comme client windows)
Là C propre..
<> Renommer un fichier :
(Là C crade )
Sur mon poste client, je fais une copie du fichier f a renommer.
Avec WinCVS je remove + commit sur f.
Je renomme le nouveau fichier sur mon poste local
Je l'ajoute au repository
Si quelqu'un a mieux, je suis intéressé...
Marsh Posté le 08-01-2003 à 10:23:32
je pense que les client CVS font ca en fait ... Enfin il me semble je ne connais pas de méthodes pour renommer un fichier. Le truc c'est qd tu veux changer la case du fichier genre
MaClasse.java à la place de maClasse.java
là c'est le bordayl sous windows parce qu'il ne tient pas compte de la case tu es obligé de faire l'opération sous nux ou équivalent
Marsh Posté le 08-01-2003 à 10:24:41
En fait je travaille sous Windows avec WSAD5 donc l'équivalent d'un client CVS je pense
Je vais tester ta méthode, Dephi
Marsh Posté le 08-01-2003 à 13:18:05
Finalement la méthode "porc" marche très bien
- Suppression du fichier directement sur le CVS (pas gênant vu que je suis le seul dessus pour l'instant)
- Resynchronisation du client par rapport au serveur
Merci Dephi
Marsh Posté le 08-01-2003 à 16:21:00
MachinBidule1974 a écrit : Finalement la méthode "porc" marche très bien |
Ah non, ma méthode de suppression est propre, ca utilise vraiment CVS !!!!
Et même s'il y a plusieurs utilisateurs, ca ne pose pas de pbr si chacun refait un synchro derrière..
De rien
Marsh Posté le 09-01-2003 à 03:06:00
MachinBidule1974 a écrit : Salut, |
Renommer avec CVS revient bel et bien a enregistrer sous un autre nom localement, effacer ancienne version, add nouvelle version, commit.
Pour les repertoire ce n'est pas que CVS n'aime pas la suppression des repertoires. Elle est INTERDITE et NE DOIT PAS AVOIR LIEU. Pourquoi ? Car CVS est un systeme de versioning et l'on doit etre a tout moment capable de faire un rollback vers une version anterieure. Pour comprendre les details il faut voir comment CVS gere la suppression.
Lors de la suppression de fichiers ceux-ci ne sont PAS effaces du serveur, mais supprime de la listedes fichiers actifs pour une version donnee. La gestion des versions et de cette info actif / efface se fait dans les fichiers *,v. Les repertoires eux ne sont que des repertoires normaux et ne peuvent pas etre marques comme inactifs, donc ils restent toujours actifs et ne sont pas effaces par un del ! Apparemment c'etait un choix d'implementation (qui me semble correct) et ceci oblige a bien penser la structure d'un projet et ce ceci des la creation des premiers packages. En cas de refontes nombreuses rien n'empeche de creer une nouvelle branche propre.
A+
Marsh Posté le 09-01-2003 à 03:52:49
phenixl a écrit : |
C'est pourri ce truc, perso, je passe ma vie à renommer/déplacer des répertoires quand je fais du java (je suis jamais jouasse de mes packages). Il existe rien d'un peu plus sérieux ? genre qui repose sur une base de données, qui fasse pas chier sur ce genre de détails ? Souvent, je me dit qu'il faudrait pas foutre les unités de compilation dans des fichiers, car c'est trop la merde, une bonne grosse base de données avec une gestion fine au statement ou au bloc près et zou.
C'est l'influence smalltalk qui parle là.
Marsh Posté le 09-01-2003 à 10:53:07
nraynaud a écrit : Souvent, je me dit qu'il faudrait pas foutre les unités de compilation dans des fichiers, car c'est trop la merde, une bonne grosse base de données avec une gestion fine au statement ou au bloc près et zou. |
Oui mais non... C'est que j'y suis attaché a mes fichiers moi, c'est encore ce qu'il y a de plus simple a manipuler
Marsh Posté le 09-01-2003 à 12:32:16
Lorill, merci pour tes précisions, en effet je comprends mieux pourquoi on ne peut pas toucher aux répertoires (c'est logique).
Citation : |
Je suppose que la bonne manière de procéder en POO c'est de tout coucher sur le papier puis de coder mais j'aime bien explorer, je code, ça marche, je refactorise le nom des classes qui n'était pas assez précis, je renomme les packages, etc... Je suis pas bon en modélisation objet, j'essaie d'apprendre par moi-même mais c'est pas facile
Marsh Posté le 09-01-2003 à 12:49:58
MachinBidule1974 a écrit : Lorill, merci pour tes précisions |
j'ai rien précisé du tout, moi, tu dois confondre
Marsh Posté le 09-01-2003 à 13:33:00
MachinBidule1974 a écrit : Lorill, merci pour tes précisions, en effet je comprends mieux pourquoi on ne peut pas toucher aux répertoires (c'est logique).
|
Non, ça c'est qu'on fait dans le milieu des bases de données en Europe, mais ça rend alcoolique. Le bon cycle de développement objet est plus ou moins unanimement vu comme itératif : RUP, XP etc.
Un petit Martin rigolo sur le waterfall qui rend alcoolique :
http://www.objectmentor.com/resour [...] s/IIDI.pdf
C'est typiquement, le genre de truc qu'on nous enseigne en cours (le waterfall, pas des méthodes modernes).
Marsh Posté le 09-01-2003 à 13:50:12
lorill a écrit : |
Je faisais allusion à ça
Citation : |
Marsh Posté le 09-01-2003 à 13:53:18
MachinBidule1974 a écrit : |
j'ai bien compris, mais ce n'est pas moi qui l'ait ecrit
Marsh Posté le 09-01-2003 à 13:58:16
lorill a écrit : |
Oops, autant pour moi, je dois être fatigué
Merci phenixl
Marsh Posté le 21-02-2003 à 00:37:58
nraynaud a écrit : |
ceci est un vieux up, mais subversion permet le versioning des repertoires au meme titre que les fichiers.
http://subversion.tigris.org/
malheureusement il est pas encore finalisé... mais je compte l'essayer un de ces 4! si qqun est passé par là ou compte le faire, on se tient au courant!
Marsh Posté le 22-02-2003 à 21:41:30
Marsh Posté le 08-01-2003 à 09:51:59
Salut,
Je viens d'installer CVS en tant que serveur de source et je suis bien embêté car j'ai renommé une classe Java et en ai supprimé une autre. Du coup, la synchronisation des fichiers foire avec le message d'erreur "Error fetching file revisions" avec dans le détail mes deux fichiers en cause. J'ai déjà lu que CVS n'aimait pas trop quand on supprimait/renommait des fichiers, déplaçait des répertoires...
Est-ce-que je m'y prends mal ? Avez-vous déjà eu ce problème ?
Merci d'avance