On Sat, 30 Apr 2011 20:59:37 +0200 "Jean-Yves F. Barbier" <12u...@gmail.com> wrote:
> On Sat, 30 Apr 2011 20:00:22 +0200, Aéris <ae...@imirhil.fr> wrote: > > > Un SCM ne stocke que des diff, pas les fichiers complets. > > Honhon, donc je suppose qu'il-y-a aussi des mécanismes de sécurité qui > prennent le relais si, par exemple, je décide de virer les 100 premiers > commits? (de façon à "reconstituer" la base-0 du diff) Ça n'a aucun sens de virer des commits. un versionneur conserve par définition même tout l'historique, puisqu'il permet au minimum de revenir ou de comparer avec n'importe quelle version passée. On ne peut donc pas supprimer des commits. On peut tout au plus modifier certains (ou tous les) fichiers (gérés par le versionneurs) pour qu'ils reviennent dans l'état où ils était il y a (par exemple) un moins. Ensuite, on va par exemple commit-er ce nouvel état là. Mais le versionneur a bien enregistré tous les états commit-és par définition même. J'insiste, on ne vire pas des commits: l'historique géré par un versionneur est toujours "chronologiquement" croissante! Tout au plus on peut commit-er un état de l'arborescence qui se trouve être le même (ou ressembler un peu à) l'état de cette arborescence il y a un mois ou une année. Mais le rôle d'un versionneur c'est évidemment d'être capable de restituer l'état de l'arborescence à n'importe quelle date (ou point de commit) dans le passé (ou dans une aitre branche, etc.). L'historique d'une arborescence versionnée est toujours croissante, même si des fichiers sont revenus à leur état antérieur. C'est un peu comme dans un registre d'état civil: même à ma mort, je n'y serais pas effacé, on ajoutera juste la mention que je suis mort. Et il me semble que la notion de sécurité n'a rien à voir avec le versionnement (sauf évidemment quand il s'agit de versionner les commits de users différents, avec toute la problèmatique des droits d'accès, qui peuvent être indépendants de ceux du noyau Linux). Donc je ne comprends pas cette remarque sur "des mécanismes de sécurité qui prennent le relais si, par exemple, je décide de virer les 100 premiers commits?". Ca n'a pas grand chose à voir avec la sécurité (sauf si on se place du point de vue d'un serveur de versionnement et de l'authentification; celle de git me parait robuste). Et surtout, ça n'a aucun sens de virer des commits: sauf dans les régimes staliniens, on ne ré-écrit pas l'Histoire. Un versionneur enregistre l'histoire d'une arborescence. Un versionneur est au minimum un outil qui accepte des ordres de commit concernant une arborescence source, en conserve l'historique, et qui est capable de restaurer (ou de comparer) cette arborescence à l'état qu'elle avait à n'importe quel commit dans le passé. Mais parler de virer un commit n'a aucun sens. (git est assez compliqué et permet le 'git rebase -i' qui semble s'en rapprocher. Mais je n'en conçois pas l'intérêt, et c'est violemment documenté comme étant absoluement à éviter, au moins pour les débutants dont je suis encore). J'insiste, la terminologie employée à tort par Jean-Yves [comme "virer un commit" qui me fait hurler] me fait penser qu'il y a des concepts des versionneurs qui lui échappent. Cordialement. -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359 8, rue de la Faiencerie, 92340 Bourg La Reine, France *** opinions {are only mine, sont seulement les miennes} *** -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/20110430212340.e5b016a3.bas...@starynkevitch.net