J'ai une configuration comme suit.Mercurial. Contrôle de version et déploiement Différents fichiers de configuration. Comment?
Un référentiel privé sur bitbucket où je conserve le référentiel «maître». Référentiel sur mon serveur qui sert de site Web «en direct». Un référentiel sur mon ordinateur portable qui sert de copie de travail.
Mon processus est le suivant. Je fais une modification à un fichier dans mon référentiel local. Je les commets localement. Je pousse ces changements à bitbucket. Je tire ensuite ces changements de mon bitbucket vers le serveur web. Le problème que j'ai cependant est que ma copie locale utilise différents paramètres de configuration pour les bases de données, les chemins etc, ergo ce que je veux, c'est mon fichier 'config.php' à bitbucket pour contenir les paramètres du serveur, et le config.php sur mon hôte local pour contenir les paramètres locaux. Je crois que cela peut être réalisé avec .hgignore mais je n'ai eu aucun succès de recherche. Le problème que je rencontre est que je fais mon fichier de paramètres de serveur, le pousse sur bitbucket, 'oublie' le fichier dans mon référentiel local, crée un .hgignore, puis recréer le fichier. Cependant quand j'oublie le fichier TortoiseHG remarque et me demande de commettre le changement à bitbucket ....
Toutes les idées seraient grandement appréciées. Remerciements
Points supplémentaires.
En suivant les conseils ci-dessous j'ai développé une configuration comme suit:
J'ai mon dépôt local sur mon ordinateur portable où je fais mes modifications. J'ai bitbucket qui est essentiellement le référentiel 'principal' - si d'autres développeurs rejoignent l'équipe, ils le clonent. J'ai mon référentiel en direct sur mon hébergeur.
Sur mon référentiel en direct, j'ai un fichier .hgignore qui ignore les fichiers de configuration respectifs. En tant que tel quand je fais hg pull
de mon hôte, il tire le référentiel comme c'est avec les fichiers de configuration localhost, mais quand je tape hg update
(à la copie de travail en direct), ces fichiers sont ignorés/non mis à jour.
Est-ce que quelqu'un pourrait clarifier si j'ai bien compris cela, et si c'est une façon appropriée de réaliser ce que je veux?
Merci
Ce que j'ai fait était d'utiliser hg remove pour se débarrasser des fichiers de configuration dans le dépôt cloné qui est ma copie 'live'. J'ai ensuite créé le fichier .hgignore avant de recréer le fichier de configuration. Ma compréhension étant que lorsque je mets à jour, maintenant, à cause du hgignore, il ne mettra pas à jour ces fichiers? Donc, si je comprends bien, je réalise essentiellement la même chose, mais je n'ai pas les avantages des configurations versionnées ... Est-ce exact? Remerciements –
Re. le fichier ignorer, sonne à peu près juste, le phrasé de votre question donnait l'impression que vous attendiez .hgignore de travailler sur un fichier qui a été tiré (et donc versionné), mais si vous le supprimez d'abord, il sera ignoré. Notez cependant que le fichier sera probablement supprimé par la traction, donc vous devez le restaurer après avoir tiré, et à partir de ce moment, cela fonctionnera. –
Re. les options, je pense que vous avez essentiellement fait ce que décrit l'option 1, sauf que je recommanderais de vérifier dans un exemple de configuration pour le rendre plus facile pour les gens à configurer. L'option 1 a une configuration non versionnée (mais un exemple), les options 2 et 3 ont des configurations partiellement versionnées et l'option 4 a des configurations entièrement versionnées. Tout va bien vraiment, tous ont leurs hauts et leurs bas, donc cela dépend de ce que vous voulez faire. –