Quel choix pour un logiciel de suivi de version

Bonjour,
J’ai actuellement 3 machines (debian évidemment), incluant un serveur de fichier ssh sous lenny, une machine de bureau sid kde et un portable squeeze kde,
Je travaille sur de nombreux fichier textes, notes, web, script, PAO scribus et quelques binaire (principalement de la “retouche” sur des photos). Donc la journée je travaille sur mon portable puis le soir sur la machine de bureau et je fais une copie (manuelle) des évolutions de mes fichiers d’une machine vers l’autre ainsi que vers le serveur (une solution de backup automatique est en cours).

Le nombre de fichiers augmentant sans cesse ça devient difficile à gérer, je crains d’effectuer de mauvais transferts, et il arrive que des fichiers aient été modifiés sur les deux machines… en plus je vais devoir travailler sur des fichiers (web et script) avec au moins un autre collaborateur.

J’avais tenter pour résoudre ces problème d’utiliser unisson pour synchroniser les deux machines (bureau et portable) mais les disques durs actuels sont tellement gros qu’il faut 2 heures de synchro tous les soir pour qu’il scanne tous les fichiers et fasse la synchronisation de mes deux /home (environ 300Go) donc exit cette solution. :116

J’ai vu qu’il existait des logiciels de suivi de version centralisés, décentralisés, permettant un accès web etc. (je me suis surtout documenter sur subversion et darcs)

J’aurais voulu savoir lequel selon vous est le plus adapté à mes besoins (multitude de fichiers avec seulement 3 ou 4 clients tous sous debian, ou au pire une autre distrib), quelque chose qui ne demande pas des heures de configuration et qui soit simple à l’usage…

J’attends un retour sur vos expériences ainsi que des conseils :smiley:
Merci à vous !

Regarde du côté de Mercurial et de Git mais sans être vraiment persuadé que c’est ce qu’il te faut :confused:

Que pensez vous de websvn (que l’on m’a conseillé) quelqu’un a t il une expérience de ce programme ?
Mercurial et git sont “décentralisés” et je me demande si une version centralisée n’est pas mieux dans mon cas (au niveau de la simplicité de gestion)…
Je me renseigne davantage :smiley:

Avec “rsync” tu les synchroniseras en moins de 5 min chacun… (sauf si tes fichiers sont très gros et que ta ligne n’a pas un bon débit) En effet il a été conçu dans ce but en ne transférant que les bouts de fichiers modifiés grâce à un algorithme élaboré (en gros, il liste les fichiers sur le serveur et le client et compare les 2 listes, puis il transfert les fichiers qui n’existent pas sur le serveur ; puis pour les fichiers existants, il segmente chaque fichier et calcule le hash de chaque segment sur le serveur et le client, et il compare les listes de hashes et il transfert seulement les bouts donc les hashes sont différents).

Pour ce qui est des versions, “rsync” est capable de se baser sur la date pour mettre ou non les fichiers à jour. Donc si tes machines sont bien à l’heure, tu devrais pouvoir tout gérer avec “rsync”. Il suffit d’indiquer dans les paramètres que tu souhaites une mise à jour uniquement des fichiers plus récents.

Pour plus d’infos :

après l’avoir installé bien sûr.

EDIT : après, si tu automatises tout ça avec “cron”, tu n’as plus rien à faire, c’est le bonheur total :wink: Tu peux même faire mieux : rajouter la ligne qui appelle “rsync” dans le script d’extinction de ta machine. Ainsi, lorsque tu éteins ton ordi, il effectue une synchronisation automatiquement. Le pied…

J’ai déjà un système de sauvegarde basé sur rsync, mais unisson ou un logiciel de suivi de version sont il me semble spécifiquement adaptés à la synchronisation de fichier ds un répertoire donné pour le premier, et au suivi de l’évolution de l’ensemble des fichiers d’un projet (avec plusieurs utilisateurs, différentes branches etc) pour le second…
Je pense que je vais me pencher sur la mise en place d’un serveur subversion avec websvn…

Ah oui là en effet il te faut un logiciel spécifique de suivi de versions.

Au boulot tout le monde utilise tortoise sous windows, et les rares sous Linux, utilisent le SVN d’Eclipse …

Oui au boulot, heureusement parmi les personnes (on est deux :smiley: ) devant utiliser mon serveur il n’y a que des debianeux, au pire peut être une machine ubuntu…
Je me met au boulot :smiley:

Il existe actuellement 3 “gros” soft de versionnement :
SVN
GIT
Mercurial

SVN (centralisé) est le successeur de l’antique CVS, il est installé en entreprise depuis pas mal de temps. Malheureusement sa conception n’est pas sans reproche, le plus flagrant étant la perte de l’historique lors d’un renommage. TortoiseSVn est un très bon client Windows, sous linux je ne l’ai utiliser que par Eclipse qui à un client pas aussi bon mais fait son office. Il existe surement des équivalent à Tortoise mais je ne connais pas.

GIT et Mercurial (décentralisé) sont les deux solution qui tente de s’imposer en tant que remplacent de SVN actuellement.

GIT à été fait Linus Torval, écrit en C et des fonctionnalités pointue, par exemple la possibilité de commiter seulement une partie des modification d’un fichier. Son point faible étant les clients Windows de bien moins bonne qualité que ceux de Linux, mais de gros effort sont fait sur ce point.

Mercurial est fait en Python, les clients existe pour toute les plateformes (python étant portable). Il se veut plus simple que GIT mais du coup sacrifie quelques possibilités avancés.

Si une solution comme SVN te convient, les ressources disponibles et sa facilitée d’utilisation est un véritable atout.
Si les fichiers à versionner sont binaire/non text ou que la finesse de commit importe peut Mercurial est plus facile d’accès et a l’avantage d’avoir de bon client Windows.
Si le suivit des commit doit être le plus fin possible GIT est tout indiqué.

Pas vraiment c’est juste que mercurial est modulaire et la plupart des fonctionnalités phares de git sont en module non activé par défaut.

Possible ce ce que j’ai vu/tester GIT venait avec plus de chose par defaut, Mais je ne suis pas expert dans le domaine :blush: