Question

Je suis un novice fossile (et la configuration CVS) en essayant de créer et de gérer un ensemble de référentiels distribués fossiles pour un projet Delphi.

Je l'arborescence suivante sur ma machine de développement:

 Projects
     Some Project
     Delphi Components
        LookupListView
     Some Client
        Some Project For Client
        Some Other Project For Client
           Source Code
               Project Resources
               Project Database

Je vais mettre en place le contrôle de version fossile pour les projets de version et partager \ Some client \ un autre projet pour le client \ code source, qui contient la source Delphi 2010 pour un projet de base de données.

Ce projet utilise des projets de composants Delphi \ LookupListView qui est un composant Delphi. Je besoin de ce code à inclure dans le système versioning pour mon projet. Je, en théorie, le besoin d'inclure dans d'autres dépôts fossiles à l'avenir, aussi bien.

Si je crée mon dépôt fossile au code source ou un autre projet Pour le niveau client, je ne peux pas ajouter de code ci-dessus de ce niveau à mon référentiel. Quelle est la bonne façon de régler ce problème? Les deux solutions qui me viennent sont

1) Création d'un dépôt séparé pour LookupListView et assurez-vous que tous ceux qui utilisent un référentiel pour un projet que les références qu'il « sait » qu'ils doivent également obtenir la version actuelle de ce projet ainsi. Cela semble vaincre le but d'être en mesure d'obtenir une version complète, actuelle du projet avec une seule caisse. Le problème est amplifié parce qu'il ya d'autres dépendances composantes communes dans ce projet.

2) Mise en place mon dépôt fossile dans le répertoire Projets, donc je peux vérifier dans les fichiers de différents sous-dossiers. Cela me semble impliquer énormément de chemin frappe supplémentaire lorsque vous faites ajoute, et aussi d'imposer ma structure de répertoire (Certains client \ un autre projet pour le client \ Source) sur les autres utilisateurs du référentiel - dans ce cas, le client réel.

Toutes les suggestions apprécié.

Était-ce utile?

La solution

J'utilise Git, mais mon approche peut être appliquée dans votre situation.

J'ai un référentiel pour tous mes composants dossier. Cela me donne une possibilité d'obtenir tous avec seulement quelques commandes de la console (dans le cas où je réinstalle mon système d'exploitation ou aller à un autre ordinateur, etc.).

J'ai aussi un dépôt par chacun de mes projets. Si un projet utilise des contrôles 3ème partie que je crée « composants » sous-dossier et faire des liens symboliques ( jonctions ) de tous les composants fixés.

Cette approche a quelques inconvénients (lorsque vous « revenir » dans commits histoire de certains projets, les composants peuvent être modifiés aussi. Et si de nombreux projets utilisent mêmes composants cela pourrait causer des problèmes). Mais je n'avais pas encore de questions:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top