2016-08-19 2 views
0

Nous avons une sorte de situation unique où nous avons des milliers (20k +) de petits fichiers html individuels qui ne sont pas liés. Nous faisons des modifications à probablement n'importe où de 10 à 100 chaque jour. Nous avons utilisé Visual Sourcesafe, qui fonctionne bien avec ce modèle, mais qui souhaitait passer à quelque chose de plus moderne depuis un moment déjà. Je ne sais tout simplement pas, en regardant ce qui est disponible, ce qui pourrait fonctionner le mieux, ou si quelque chose le fera. En utilisant quelque chose comme Mercurial, voudrions-nous un repo, avec un projet pour chaque fichier et tous les projets dans un repo? Ou un repo avec un projet et tous les fichiers dans ce projet? Ou cela fonctionnera-t-il? Ou est-ce que je connais si peu de choses sur tout cela que ma question n'a même pas de sens (tout à fait possible)?À quel point VCS moderne traite-t-il des milliers de référentiels individuels ou de projets?

Répondre

0

-je savoir si peu de tout cela que ma question ne fait même pas de sens

Oui, désolé ...

  • « Projet » est une entité inconnue pour VCS (ceci est un objet d'un autre domaine), VCS traite des "dépôts" | "fichiers dans des dépôts"
  • Tous (peut-être plus) VCS moderne n'a pas de limites strictes sur la quantité de fichiers dans les dépôts | quantité de référentiels, que seul un serveur (quand il faut/ni toujours /) peut supporter - sauf bon sens: les dépôts de 20K peuvent être difficiles à gérer, les fichiers de 20K en repo peuvent conduire à la dégradation de la vitesse dans certains cas-bords

Ainsi: vous pouvez | devoir choisir un modèle de stocker vos objets dans le référentiel (dépôts), juste

Rate et peser tous les avantages, les inconvénients et les conséquences de l'utilisation de chaque modèle (compte tenu de la options extrêmes et intermédiaires)

Désinvolte:

  • repo par fichier signifie beaucoup de dépôts sur sérère et les répertoires de travail localement, mais zéro de « dommages collatéraux » dans tous les flux de travail et les erreurs
  • un moyen repo géant toute limitation du « contexte global » pour beaucoup d'action (révision globale par repo, incapacité à ramener | tag seul fichier/sauf SVN /)
  • Hashed (par n'importe quelle règle) arbre de répertoires avec des fichiers dans chaque conteneur à l'intérieur nécessitera d'avoir + maintenir "carte de localisation" et apporter problèmes supplémentaires en cas de renommage de fichiers (imaginez: A/a.html A/a1.html avant, B/b.html C/c.html après - déplacé et correctement enregistré dans VCS-of-choice - pas un gros mal de tête, mais "râteaux dans le front "est tout à fait possible futur)