Posso impostare le opzioni di configurazione Mercurial di programmazione?
Domanda
Sto cercando un modo per gli elementi di configurazione .hgrc
set senza in realtà la modifica del file di testo. Sto cercando di standardizzare la configurazione del hgrc
tra più sviluppatori e vorrei un comando come
hg --config ui.username=foo
, ma che consente di risparmiare anche che il cambiamento di configurazione nel file hgrc
.
Sembra che questo dovrebbe essere qualcosa che dovrebbe essere supportato direttamente nel comando di vaniglia hg, ma non riesco a trovarlo da nessuna parte.
Soluzione
Qualcuno - o voi o Mercurial - dovrà modificare il file di configurazione se si desidera che il cambiamento di configurazione da salvare: -)
E se si può chiamare Mercurial con
hg --config ui.username=foo
, allora si dovrebbe anche essere in grado di fare
echo '[ui]' >> ~/.hgrc
echo 'username = foo' >> ~/.hgrc
che salverà il cambiamento di configurazione, non importa quanto il file ~/.hgrc
accade a guardare come (è bene avere più sezioni [ui]
).
Mercurial 3.0 e versioni successive ha il comando hg config --edit
che apre un Editor con il file di configurazione utente. Ancora non è proprio quello che stai chiedendo, ma almeno questo rende più facile per modificare il file in modo interattivo.
Altri suggerimenti
Questa forma:
hg --config ui.username=foo
Non salva nulla. Si imposta il valore solo per la corsa uno.
Inoltre è possibile utilizzare /etc/mercurial/hgrc
per le impostazioni di larghezza di sistema se questo aiuta nulla.
Non è un'estensione che aiuta con questo, https://bitbucket.org/alu/hgconfig / wiki / Casa
installazione che hgext , si possono fare cose come questa.
% hg showconfig paths
paths.default=ssh://hg@bitbucket.org/alu/hgconfig
% hg config paths.upstream $(hg showconfig paths.default)
% hg config paths.default $(hg showconfig paths.default | sed 's|/alu/|/nassrat/|')
% hg showconfig paths
paths.default=ssh://hg@bitbucket.org/nassrat/hgconfig
paths.upstream=ssh://hg@bitbucket.org/alu/hgconfig
L'unica Gotcha è presente override il comando incorporato di configurazione, è possibile ottimizzare il codice per modificare il nome del comando, o vivere con essa. Per fortuna, probabilmente non sarebbe importa se il vostro caso d'uso è semplicemente quello di ottenere set e configurazioni specifiche.