Nous avons actuellement un système de construction complexe et inefficace composé de nombreux dépôts SVN et Git (environ 50% chacun), dont un qui est un dépôt de sous-modules git. Nous avons également des scripts maison qui gèrent plus ou moins bien le tout.
Un point majeur de notre base de code (source fermée) est qu'elle est étroitement couplée et que chaque projet est publié en même temps sous la même version.
Nous voulons migrer cela vers un système plus simple et un seul VCS, et envisage plusieurs options, notamment: les sous-modules git, google Repo et monorepos. Le VCS final n'est pas encore défini (sauf pour les options qui le rendent obligatoire), et pourrait être svn, git ou même autre chose si cela correspondait mieux à notre situation.
Nous essayons de répertorier les avantages et les inconvénients de chaque solution et l'un des principaux problèmes que nous rencontrons actuellement avec les monorepos est qu'il ne semble pas facile, ni même possible de partager uniquement certains modules avec une entité externe. Nous voulons que ces personnes puissent passer à la caisse et travailler normalement sur ces modules, mais pas pouvoir accéder au code ou à l'historique du reste du dépôt. Ce n'est pas quelque chose que nous faisons souvent ou largement pour le moment, mais nous pourrions le faire à l'avenir, et nous ne voulons pas que cela devienne un cauchemar parce que nous avons pris une mauvaise décision ici.
Un tel système de gestion des privilèges existe-t-il dans un système VCS?
Ou existe-t-il un moyen d'atténuer ce problème?
la source
Réponses:
D'après votre description, je pense que vous avez quelques options ici:
Malheureusement, aucune de ces options n'est parfaite, mais elles sont toutes valides selon l'état de votre base de code. Votre description semble que l'option 3 pourrait mieux fonctionner ici.
la source