Path: ...!news.mixmin.net!weretis.net!feeder8.news.weretis.net!news.imp.ch!news.alphanet.ch!alphanet.ch!.POSTED.localhost!not-for-mail From: Marc SCHAEFER Newsgroups: fr.comp.developpement Subject: Extraction de sous-projet GIT Date: Fri, 22 Apr 2022 18:21:03 -0000 (UTC) Organization: Posted through ALPHANET Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Injection-Date: Fri, 22 Apr 2022 18:21:03 -0000 (UTC) Injection-Info: shakotay.alphanet.ch; posting-account=""; posting-host="localhost:127.0.0.1"; logging-data="3123"; mail-complaints-to="usenet@alphanet.ch" User-Agent: tin/2.4.3-20181224 ("Glen Mhor") (UNIX) (Linux/4.19.0-18-amd64 (x86_64)) Cancel-Lock: sha256:gmy1sVnnl1v9jfjgo8z1jQYV2mJDA7IkAr5YGLlTs5o= Bytes: 2732 Lines: 43 Bonjour, je ne sais pas si c'est le bon forum, si jamais n'hésitez pas à rediriger la discussion au bon endroit. J'ai un GIT, mojo-devel, qui contient tout le développement que j'ai fait avec le framework Perl Mojolicious depuis pas mal d'années, et je tiens aux changelogs. Il y a aussi une logique de partage de code avec des bibliothèques génériques (dans lib) utilisées par pas mal de code (exemple: les fonctions de login, de validation de token, etc; sont utilisées par une dizaine d'applications web différentes). J'aimerais sortir une partie du code pour pouvoir le publier largement, tout en conservant l'historique de chaque partie. En résumé, j'aboutirais à 3 GIT: 1) pour lib 2) pour mojo-devel 3) pour cette application spécifique J'ai déjà mis en place des structures de répertoire avec des GIT différents, avec des liens symboliques pointant dans les bons dépôts. J'ai même utilisé le rewriting de l'history pour conserver l'historique tout en fusionnant des dépôts, ou supprimant des bouts de dépôt. Ca fonctionne très bien dans le sens fusion, mais je n'ai jamais expérimenté la suppression (ou alors des cas très rares portant sur un seul commit). J'ai aussi lu que GIT supporte le concept de modules. Quelle serait votre avis sur la stratégie la plus simple a) conservant l'historique avec `git log' sans options particulières de tous les répertoires, une fois déplacés dans les 3 nouveaux GIT séparés b) permettant de supprimer un répertoire, de manière à ce que dans le GIT 3 plus aucune trace des autres répertoires ne subsistent Seules les plateformes POSIX doivent être supportées (on peut faire des liens symboliques sous Microsoft, mais c'est complexe).