Caricare più file .hgrc - vale a dire, un po 'con le impostazioni specifiche della macchina?

StackOverflow https://stackoverflow.com/questions/1867237

  •  18-09-2019
  •  | 
  •  

Domanda

Mi piacerebbe mantenere due file ~ / .hgrc: ~ / .hgrc e ~ / .hgrc.local - uno con le impostazioni "standard" (ad esempio, username), l'altro con le impostazioni specifiche della macchina (ad esempio, l'impostazione di uno strumento di unione grafica).

Come posso fare questo con hg?

Ad esempio, questo è come lo faccio con Vim:

# ~/.vimrc
syntax enable
source ~/.vimrc.local

Quindi:

# ~/.vimrc.local
let work_code = 'code/work/.*'
if expand('%:p:h') =~ work_code ... fi
È stato utile?

Soluzione

C'è una direttiva %include non-spesso usato in mercuriale 1.3 e versioni successive:

Da man hgrc:

   A  line  of  the  form %include file will include file into the current
   configuration file.  The  inclusion  is  recursive,  which  means  that
   included  files  can include other files. Filenames are relative to the
   configuration file in which the %include directive is found.

in modo da andare con:

   %include ~/.hgrc.local

e si dovrebbe essere pronti per partire.

Altri suggerimenti

I risolvere questo problema per tutti i miei "dot file" in un modo simile. Su login miei assegni di shell un elenco di file (hgrc, vimrc, ....) e controlla se qualcuno di loro è più vecchio di ${that_name}.global o ${that_name}.local. Se si tratta - cat ${that_name}.{global,local} > ${that_name}. Semplice e grandi opere finora. Mentre c'è un modo "migliore" (usando %include) talvolta elaborazione dei file di configurazione manuale ha i suoi vantaggi -. Per esempio che possa funzionare con Mercurial pre-1.3

controlli Mercurial per un certo numero di file di configurazione, con una priorità specifica. In questo modo si può avere globale,-utente specifico e impostazioni specifiche del repository. Mercurial versione> = 1.4 ha un comando hg help config che descrive questo in una bella panoramica:

$ hg help config
Configuration Files

    Mercurial reads configuration data from several files, if they exist. Below we list the most specific file first.

    On Windows, these configuration files are read:

    - "<repo>\.hg\hgrc"
    - "%USERPROFILE%\.hgrc"
    - "%USERPROFILE%\Mercurial.ini"
    - "%HOME%\.hgrc"
    - "%HOME%\Mercurial.ini"
    - "C:\Mercurial\Mercurial.ini"
    - "HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial"
    - "<install-dir>\Mercurial.ini"

    On Unix, these files are read:

    - "<repo>/.hg/hgrc"
    - "$HOME/.hgrc"
    - "/etc/mercurial/hgrc"
    - "/etc/mercurial/hgrc.d/*.rc"
    - "<install-root>/etc/mercurial/hgrc"
    - "<install-root>/etc/mercurial/hgrc.d/*.rc"

    The configuration files for Mercurial use a simple ini-file format. A configuration file consists of sections, led by a "[section]" header and followed by
    "name = value" entries:

      [ui]
      username = Firstname Lastname <firstname.lastname@example.net>
      verbose = True

    This above entries will be referred to as "ui.username" and "ui.verbose", respectively. Please see the hgrc man page for a full description of the possible
    configuration values:

    - on Unix-like systems: "man hgrc"
    - online: http://www.selenic.com/mercurial/hgrc.5.html

Si possono elencare le impostazioni correnti con hg showconfig.

Mercurial cercherà in molti luoghi diversi per i file hgrc e li caricherà se presente. Per il sistema a livello di configurazione standard (su UNIX) sarebbe quella di utilizzare /etc/mercurial/hgrc.

Vedere la file della pagina man hgrc per più informazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top