2013-05-22 8 views
1

Je ne sais pas si ma question est trop évidente, trop complexe ou même si elle est logique. J'ai essayé de trouver l'information mais n'ai pu obtenir aucune réponse ...Comment gérer différents référentiels pour la compilation pour différents utilisateurs?

Je veux maintenir un repo SVN de LLVM/Clang pour mon utilisateur A qui reflète le rapport principal ... ou équivalent: je veux compiler mon programme avec l'utilisateur A appelant clang/llvm et obtient la dernière version de la chaîne d'outils pour compiler mon code source. MAIS, je veux mettre à jour mon repo local dans un sens qu'il reflète la dernière version du principal repo LLVM ...

MAIS, je veux maintenir un deuxième repo local de SVN, pour l'utilisateur B, ainsi quand je veux pour modifier le code LLVM je vais le faire dans l'utilisateur B repo. Et plus ... si j'appelle clang/llvm en tant qu'utilisateur B, il compilera mes codes sources en utilisant la version modifiée de LLVM. En bref: comment puis-je maintenir 2 repos pour 2 utilisateurs, que je peux compiler chacun et, en fonction de l'utilisateur qui appelle clang/llvm, il appellera la bonne version des binaires?

Merci de votre attention; si ma question n'est pas bien formulée, je m'excuse et espère que quelqu'un pourrait me montrer comment l'améliorer!

... Vive

+1

Je suggère de passer à 'git'; c'est beaucoup plus facile avec 'git' –

+0

Eh bien, je peux le faire! Mais le repo principal original pour LLVM est SVN ... donc je vais préférer SVN s'il y a un moyen de l'utiliser de manière à résoudre mon problème! – guipy

+1

@guipy 'git' peut aussi faire svn [page de manuel git-svn] (https://www.kernel.org/pub/software/scm/git/docs/git-svn.html) – demure

Répondre

1

En bref ...

1) Si les utilisateurs utilisent des machines:

Conserver deux dépôts SVN différents contenant la chaîne d'outils. Chaque utilisateur va vérifier son propre référentiel et utiliser le "bon" compilateur pour compiler son code. Les deux chaînes d'outils se trouvent dans les mêmes répertoires et chaque utilisateur n'a qu'une seule chaîne d'outils disponible.

2) Si les utilisateurs partagent la même machine:

Conserver deux dépôts SVN différents contenant la chaîne d'outils. Les deux toolchains sont situés dans des répertoires différents et disponibles en même temps. Définissez les variables d'environnement pour les suers afin de spécifier l'emplacement de la chaîne d'outils. Sous Linux, cela peut être fait en définissant des variables dans .bashrc, puis en utilisant de telles variables dans le Makefile. Dans les deux cas, si vous le pouvez, passez à git et utilisez deux branches au lieu de deux. Page 2

+0

Semble une belle façon. Mais ... je vais devoir changer les makefiles de LLVM, n'est-ce pas? Les deux utilisateurs utilisent la même machine ... – guipy

Questions connexes