23 votes

Est Git recommandé pour les grands (>250 GO) les référentiels de contenu

L'application web est une coutume construit CMS qui a plusieurs sous-requêtes et chacun d'eux a le code et le contenu résidant dans la même structure de répertoire. En raison de l'application du cadre de l'architecture du code et du contenu sont intimement liés (contenu dépend du code de l'affichage et d'autres fonctionnalités) et sont donc inséparables. Le contenu ne sont pas stockés en tant que BLOB plutôt qu'ils sont stockés en tant que fichiers et les sous-jacents DB est utilisé pour relier entre eux. La taille des sous-applications varie de 20 GO - 250 GO et plus (ce qui est le tueur).

La web-application va aller pour quelques améliorations dans le code (nouveau sous-requêtes, les corrections de bogues, etc.) et dans le même temps les utilisateurs pourront ajouter/mettre à jour le contenu par l'intermédiaire du système live. Par conséquent, un déploiement/processus de libération est nécessaire et, surtout, un système de contrôle de version doit être proposé à la fois le code et le contenu.

Git vient de l'image à cause de raisons - il est open-source et gratuit, facilité de ramification et la fusion, ce n'est pas centralisée et donc pas de point unique de défaillance.

MAIS après quelques recherches sur le web, j'ai trouvé quelques décevant faits qui sont applicables à notre application - utilisation de Git pour les grands systèmes comme la nôtre est douloureux (checkout, clone, de fusion, pousser, tirer) et les commandes sont compliquées ("geek" serait plus approprié) pour un développeur de base qui est DVCS ignorants et pour la plupart des utilisateurs de Windows.

Il n'est pas fixé état d'esprit pour Git, mais si je dois aller pour une approche centralisée (dans vraiment PIRE des cas) alors ce qui doit être le chemin (CVS & SVN à part). J'ai lu sur Perforce être stable et est également utilisé dans Google (je m'attends à quelques brashes ici!!).

Merci de partager, de les guider et de les commenter votre point de vue. J'ai vraiment besoin d'eux.

22voto

pgs Points 3453

Je vient de se passer à la lecture de ce blog, pas une minute auparavant. C'est un peu un coup de gueule à propos de l'évolutivité de git.

15voto

Matthew Flaschen Points 131723

Tout d'abord, je ne suis pas d'accord que Git est inapproprié pour les utilisateurs non-techniques. Oui, il ya certaines caractéristiques que les débutants de ne pas utiliser (par exemple, git-send-email). Mais il y a aussi des Interfaces graphiques comme TortoiseGit de rendre simple les choses simples.

Cependant, je pense que vous êtes approcher les choses de la mauvaise façon. Fondamentalement, vous avez du contenu qui va changer fréquemment et doit être modifiable très facilement par Joe Bloggs, et le code qui va être modifiés moins fréquemment par les codeurs. La solution traditionnelle consiste à utiliser un vrai CMS (par exemple, Alfresco, SugarCRM, Drupal, etc. ou un Wiki (MediaWiki, MoinMon, etc.), avec l'option plugins. Gardez à l'esprit, les wikis (et la plupart des Sgc) permettent de versioning de contenu, dans un "user-friendly" façon.

Même si vous devez garder votre maison-dans le code, je pense que vous devriez toujours vouloir sortir le contenu, de sorte qu'ils peuvent être traités séparément. Une fois que vous avez le code et le contenu distinct, votre dépôt sera d'une taille plus raisonnable. Ensuite, vous pouvez utiliser n'importe quel CV que vous voulez (même si je ne suis pas vraiment sûr que vous avez raison, Git est intrinsèquement mauvais pour les grandes repos).

9voto

Jared Oberhaus Points 8877

git n'a pas d'échelle pour les grands dépôts. Ce n'est pas l'espace, c'est le nombre de fichiers. Veuillez lire mon article de blog que j'ai écrit à un moment de retour à ce sujet.

Dans mon expérience, si vous voulez une solution évolutive, rapide, centralisé, système de contrôle de source, P4 est le chemin à parcourir.

7voto

Si. Points 10543

Est SVN vraiment une mauvaise option?

POUR:

  • Peut gérer de gros dépôts par exemple, beaucoup de distro linux utiliser, aussi Apache, Sourceforge
  • A belle interface front-end avec TortoiseSVN pour garder votre windows utilisateurs heureux
  • Peut être utilisé avec l'authentification windows intégrée pour garder les admins heureux
  • Beaucoup de différentes stratégies de sauvegarde peuvent être adoptées en fonction de vos besoins (svnadmin hotcopy ou de vidage, svnsync, post-commit crochets) pour aider à faciliter votre point de défaillance unique préoccupation.

INCONVÉNIENTS:

  • Centralisée VCS

Avertissement: je n'ai jamais utilisé Perforce et ont été un heureux SVN admin et utilisateur pour ~6 ans (depuis v0.29)

3voto

Mike Caron Points 2426

Il y a un utilitaire de script appelé git-split que les côtelettes d'un repo git pour le rendre plus efficace.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X