Je vais décrire la tambouille que j'utilise pour le versionnage des fichiers locaux. Certains points ont déjà été traités par d'autres commentateurs, désolé pour les doublons.
Dans le dépôt central, les fichiers de configuration sont nommés différemment, par exemple tralala.conf.dist ou config-dist.php. Dans certains cas, il vaut mieux garder l'extension du fichier au cas où il contiendrait des infos sensibles.
Dans les dépôts de travail, ces fichiers sont copiés en tralalaconf ou config.php. Ils sont alors versionnés dans une branche locale :
hg branch modifslocales
# ... crée les fichiers de conf
hg addremove
hg ci -m "config locale"
Ensuite, si des modifs sont effectuées sur le dépôt central, je rebase ma branche locale sur le "tip":
hg pull -u
hg rebase -d tip # d'autres syntaxes sont possibles
Le cas le plus complexe est quand j'ai modifié une de ces instances locales, mais que je veux l'enregistrer dans le dépôt central. Autrement dit, j'ai fait une modif dans une branche, mais je veux la commiter dans la branche "default". Dans ce cas, j'utilise l'extension "shelve" :
hg shelve -a # met en réserve le diff et rétablit les fichiers d'origine
hg up default # passe dans la branche centrale
hg unshelve # applique le diff mis de côté
hg ci -m "modif globale" # commite
hg push # propage
hg up modifslocales # retourne dans la branche locale
hg rebase -d tip # synchronise la branche locale avec le dernier changement
Si quelqu'un a une solution plus simple, avec git ou hg, cela m'intéresse.
[^] # Re: Versionnage de fichier de conf privé possible ?
Posté par rogo . En réponse à la dépêche Mercurial 2.1 : Les phases. Évalué à 1.
Je vais décrire la tambouille que j'utilise pour le versionnage des fichiers locaux. Certains points ont déjà été traités par d'autres commentateurs, désolé pour les doublons.
Dans le dépôt central, les fichiers de configuration sont nommés différemment, par exemple
tralala.conf.distouconfig-dist.php. Dans certains cas, il vaut mieux garder l'extension du fichier au cas où il contiendrait des infos sensibles.Dans les dépôts de travail, ces fichiers sont copiés en
tralalaconfouconfig.php. Ils sont alors versionnés dans une branche locale :Ensuite, si des modifs sont effectuées sur le dépôt central, je rebase ma branche locale sur le "tip":
Le cas le plus complexe est quand j'ai modifié une de ces instances locales, mais que je veux l'enregistrer dans le dépôt central. Autrement dit, j'ai fait une modif dans une branche, mais je veux la commiter dans la branche "default". Dans ce cas, j'utilise l'extension "shelve" :
Si quelqu'un a une solution plus simple, avec git ou hg, cela m'intéresse.