Travaillant sur des ré-écritures complètes de projets et restructurant ces projet à partir de web-services, je me pose la question de comment structurer ces codes.

J'ai généralement créé un projet git/gitlab pour mémoriser le vieux code… donc branche master.

Pour l'un, j'ai créé une nouvelle branche (orphan)… je trouve que cette solution a l'avantage de rester dans le même projet,

notamment par rapport à la gestion du projet dans gitlab (issues, milestones…)… et d'éventuels répertoires conservés (j'ai en général un répertoire doc avec le schéma de la base…) ce qui peut être aussi un inconvénient (mélange des issues pour l'ancien et le nouveau projet même s'il est facile de les tagguer)

Pour l'autre, j'ai créé un nouveau projet distinct, ce qui a l'avantage de bien séparer le code mais multiplie les projets dans gitlab et répertoires dans mon "workspace"

Y a-t-il une (des) bonne(s) pratique(s) à ce sujet?

Je viens de trouver ce fil sur !SO : https://stackoverflow.com/questions/14679614/whats-the-best-practice-for-putting-multiple-projects-in-a-git-repository, la solution 3, mais comment faire après coups?

qui propose une solution (3) à partir d'un dépôt vide et une branche v2 (ancien code), une branche v3 (nouveau code)

Un con-frère propose

Gislain D
Par ailleurs, je recommanderai une autre solution qui est donnée dans
une autre réponse après la solution 3, l'utilisation de sous-modules git
(voir la commande git submodule), ça vous permet d'avoir un dépôt propre
par projet (ce qui limite l'entropie de chaque dépôt), mais vous pouvez
référencer un dépôt complet comme un sous-module d'un autre projet pour
éviter de perdre le lien.

Merci pour cette réponse qui me convient bien, d'autant que pour les web-services qui vont être communs à plusieurs appli… les sous-modules, que j'avais vu mais que je n'avais jamais testé, répondent parfaitement.

Si ça intéresse certains, je viens de faire un test succinct :

https://gitlab.com/bcag2/test-sub-modules vide (juste le README) auquel j'ai ajouté avec un

git submodule add Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.:bcag2/ods-php.git

le sous-module https://gitlab.com/bcag2/ods-php

qui apparait alors comme un répertoire un peu particulier, puisque c'est un lien vers l'autre dépôt

Reste à ce familiariser avec les https://git-scm.com/book/fr/v2/Utilitaires-Git-Sous-modules