2009-10-21 9 views
1

Nous utilisons Perforce. Dans le dépôt, il y a des projets qui ont leurs propres sous-dossiers main/branches/releases. Il existe également des fichiers de ressources (png, mp3, etc.) nécessaires (partagés) pour certains des différents projets. Ceux-ci n'ont pas le principal/branches/structure. Actuellement, ils sont stockés dans un dossier séparé du dépôt indépendant des projets.Comment partager des fichiers dans un dépôt

Maintenant, je ne sais pas comment partager les fichiers de ressources pour les projets. Je suis un peu confus. Au moins, je peux dire que les liens symboliques seraient erronés, car si un fichier de ressources est mis à jour, les projets ne devraient pas recevoir automatiquement la nouvelle version. Cela devrait nécessiter une démarche explicite car il se pourrait que le projet doive être adapté à la nouvelle version.

Ce que je pourrais imaginer est d'intégrer les fichiers de ressources aux emplacements dédiés, peut-être en utilisant des vues de branches préparées. Est-ce que ça irait? Mais alors je ne peux qu'imaginer intégrer dans la ligne principale. Quel est le moment où je voudrais éditer ou ajouter un fichier de ressources dans une branche? Une branche qui sera intégrée en arrière? Puis-je ajouter une image et l'intégrer dans le dossier du fichier de ressources, puis aux autres projets? Et si je modifiais un fichier de ressources dans la branche, ces modifications devraient-elles être intégrées dans le dossier du fichier de ressources? Cela semble désordonné. AFIAK on ne devrait pas intégrer aléatoirement. N'est-ce pas vrai? Ai-je besoin de règles spéciales pour cette façon? Ou n'est-ce pas une bonne idée du tout?

Est-ce que cela aiderait également à avoir des dossiers main/branches/releases pour les fichiers de ressources? Peut-être spécifique au projet? Comment cela apparaîtrait-il?

Merci pour toute aide! Je pourrais aussi imaginer ne pas utiliser l'intégration, plutôt que d'élaborer des vues d'espace de travail qui mappent à la fois les fichiers de ressources et les fichiers de projet dans un seul environnement local. Mais je suppose que cela va certainement causer d'autres problèmes.

Répondre

2

Malheureusement, Perforce ne vous permet pas de spécifier une révision particulière pour un fichier dans la spécification de la vue client.

Puisque vous voulez que les projets en utilisant une ressource à utiliser uniquement une version particulière, vous devrez soit:

  • créer des branches pour les ressources que les différents projets peuvent incorporer dans la spécification de fichier client afin qu'ils peut tirer la bonne version de la branche qui a la version qu'ils veulent
  • Il suffit que chaque projet mette la version voulue dans sa propre partie du dépôt et que le projet mette à jour périodiquement sa propre version de la ressource lorsqu'elle a besoin d'être mise à jour

Aucune de ces options ne me semble excellente, mais l'option 2 semble plus simple si nous ne parlons que de quelques fichiers. Dans les deux cas, les projets auraient besoin de mettre à jour manuellement les choses quand ils voulaient passer à une version plus récente de la ressource - c'est juste que l'option # 1 nécessiterait plus de travail pour installer et maintenir des branches pour les choses. À moins que vous ayez un certain nombre de fichiers à extraire du dépôt/branche 'fichier de ressources', je ne vois pas qu'il vous achète quoi que ce soit au-dessus de l'option # 2.

Mais peut-être que quelqu'un d'autre aura une meilleure option.

+0

Aucune meilleure option - mais le branchement dans Perforce est bien géré, de sorte que le fait que le projet branche la révision correcte du code commun dans sa propre zone fonctionne bien. –

Questions connexes