tests/test-hgrc.t
branchstable
changeset 15372 695ac6aca77f
parent 14992 188936b334b1
child 15447 9910f60a37ee
equal deleted inserted replaced
15371:f26ed4ea46d8 15372:695ac6aca77f
     1 Use hgrc within $TESTTMP
     1 Use hgrc within $TESTTMP
     2 
     2 
     3   $ HGRCPATH=`pwd`/hgrc
     3   $ HGRCPATH=`pwd`/hgrc
     4   $ export HGRCPATH
     4   $ export HGRCPATH
     5 
     5 
       
     6 Use an alternate var for scribbling on hgrc to keep check-code from
       
     7 complaining about the important settings we may be overwriting:
       
     8 
       
     9   $ HGRC=`pwd`/hgrc
       
    10   $ export HGRC
       
    11 
     6 Basic syntax error
    12 Basic syntax error
     7 
    13 
     8   $ echo "invalid" > $HGRCPATH
    14   $ echo "invalid" > $HGRC
     9   $ hg version
    15   $ hg version
    10   hg: parse error at $TESTTMP/hgrc:1: invalid
    16   hg: parse error at $TESTTMP/hgrc:1: invalid
    11   [255]
    17   [255]
    12   $ echo "" > $HGRCPATH
    18   $ echo "" > $HGRC
    13 
    19 
    14 Issue1199: Can't use '%' in hgrc (eg url encoded username)
    20 Issue1199: Can't use '%' in hgrc (eg url encoded username)
    15 
    21 
    16   $ hg init "foo%bar"
    22   $ hg init "foo%bar"
    17   $ hg clone "foo%bar" foobar
    23   $ hg clone "foo%bar" foobar
    28   paths.default=$TESTTMP/foo%bar
    34   paths.default=$TESTTMP/foo%bar
    29   $ cd ..
    35   $ cd ..
    30 
    36 
    31 issue1829: wrong indentation
    37 issue1829: wrong indentation
    32 
    38 
    33   $ echo '[foo]' > $HGRCPATH
    39   $ echo '[foo]' > $HGRC
    34   $ echo '  x = y' >> $HGRCPATH
    40   $ echo '  x = y' >> $HGRC
    35   $ hg version
    41   $ hg version
    36   hg: parse error at $TESTTMP/hgrc:2:   x = y
    42   hg: parse error at $TESTTMP/hgrc:2:   x = y
    37   [255]
    43   [255]
    38 
    44 
    39   $ python -c "print '[foo]\nbar = a\n b\n c \n  de\n fg \nbaz = bif cb \n'" \
    45   $ python -c "print '[foo]\nbar = a\n b\n c \n  de\n fg \nbaz = bif cb \n'" \
    40   > > $HGRCPATH
    46   > > $HGRC
    41   $ hg showconfig foo
    47   $ hg showconfig foo
    42   foo.bar=a\nb\nc\nde\nfg
    48   foo.bar=a\nb\nc\nde\nfg
    43   foo.baz=bif cb
    49   foo.baz=bif cb
    44 
    50 
    45   $ FAKEPATH=/path/to/nowhere
    51   $ FAKEPATH=/path/to/nowhere
    46   $ export FAKEPATH
    52   $ export FAKEPATH
    47   $ echo '%include $FAKEPATH/no-such-file' > $HGRCPATH
    53   $ echo '%include $FAKEPATH/no-such-file' > $HGRC
    48   $ hg version
    54   $ hg version
    49   Mercurial Distributed SCM (version *) (glob)
    55   Mercurial Distributed SCM (version *) (glob)
    50   (see http://mercurial.selenic.com for more information)
    56   (see http://mercurial.selenic.com for more information)
    51   
    57   
    52   Copyright (C) 2005-2011 Matt Mackall and others
    58   Copyright (C) 2005-2011 Matt Mackall and others
    73   $ olduser=$HGUSER
    79   $ olduser=$HGUSER
    74   $ unset HGUSER
    80   $ unset HGUSER
    75 
    81 
    76   $ FAKEUSER='John Doe'
    82   $ FAKEUSER='John Doe'
    77   $ export FAKEUSER
    83   $ export FAKEUSER
    78   $ echo '[ui]' > $HGRCPATH
    84   $ echo '[ui]' > $HGRC
    79   $ echo 'username = $FAKEUSER' >> $HGRCPATH
    85   $ echo 'username = $FAKEUSER' >> $HGRC
    80 
    86 
    81   $ hg init usertest
    87   $ hg init usertest
    82   $ cd usertest
    88   $ cd usertest
    83   $ touch bar
    89   $ touch bar
    84   $ hg commit --addremove --quiet -m "added bar"
    90   $ hg commit --addremove --quiet -m "added bar"
    93   $ HGUSER=$olduser
    99   $ HGUSER=$olduser
    94   $ export HGUSER
   100   $ export HGUSER
    95 
   101 
    96 showconfig with multiple arguments
   102 showconfig with multiple arguments
    97 
   103 
    98   $ echo "[alias]" > $HGRCPATH
   104   $ echo "[alias]" > $HGRC
    99   $ echo "log = log -g" >> $HGRCPATH
   105   $ echo "log = log -g" >> $HGRC
   100   $ echo "[defaults]" >> $HGRCPATH
   106   $ echo "[defaults]" >> $HGRC
   101   $ echo "identify = -n" >> $HGRCPATH
   107   $ echo "identify = -n" >> $HGRC
   102   $ hg showconfig alias defaults
   108   $ hg showconfig alias defaults
   103   alias.log=log -g
   109   alias.log=log -g
   104   defaults.identify=-n
   110   defaults.identify=-n
   105   $ hg showconfig alias defaults.identify
   111   $ hg showconfig alias defaults.identify
   106   abort: only one config item permitted
   112   abort: only one config item permitted
   111 
   117 
   112 HGPLAIN
   118 HGPLAIN
   113 
   119 
   114   $ cd ..
   120   $ cd ..
   115   $ p=`pwd`
   121   $ p=`pwd`
   116   $ echo "[ui]" > $HGRCPATH
   122   $ echo "[ui]" > $HGRC
   117   $ echo "debug=true" >> $HGRCPATH
   123   $ echo "debug=true" >> $HGRC
   118   $ echo "fallbackencoding=ASCII" >> $HGRCPATH
   124   $ echo "fallbackencoding=ASCII" >> $HGRC
   119   $ echo "quiet=true" >> $HGRCPATH
   125   $ echo "quiet=true" >> $HGRC
   120   $ echo "slash=true" >> $HGRCPATH
   126   $ echo "slash=true" >> $HGRC
   121   $ echo "traceback=true" >> $HGRCPATH
   127   $ echo "traceback=true" >> $HGRC
   122   $ echo "verbose=true" >> $HGRCPATH
   128   $ echo "verbose=true" >> $HGRC
   123   $ echo "style=~/.hgstyle" >> $HGRCPATH
   129   $ echo "style=~/.hgstyle" >> $HGRC
   124   $ echo "logtemplate={node}" >> $HGRCPATH
   130   $ echo "logtemplate={node}" >> $HGRC
   125   $ echo "[defaults]" >> $HGRCPATH
   131   $ echo "[defaults]" >> $HGRC
   126   $ echo "identify=-n" >> $HGRCPATH
   132   $ echo "identify=-n" >> $HGRC
   127   $ echo "[alias]" >> $HGRCPATH
   133   $ echo "[alias]" >> $HGRC
   128   $ echo "log=log -g" >> $HGRCPATH
   134   $ echo "log=log -g" >> $HGRC
   129 
   135 
   130 customized hgrc
   136 customized hgrc
   131 
   137 
   132   $ hg showconfig
   138   $ hg showconfig
   133   read config from: $TESTTMP/hgrc
   139   read config from: $TESTTMP/hgrc
   156 
   162 
   157   $ cat > plain.py <<EOF
   163   $ cat > plain.py <<EOF
   158   > def uisetup(ui):
   164   > def uisetup(ui):
   159   >     ui.write('plain: %r\n' % ui.plain())
   165   >     ui.write('plain: %r\n' % ui.plain())
   160   > EOF
   166   > EOF
   161   $ echo "[extensions]" >> $HGRCPATH
   167   $ echo "[extensions]" >> $HGRC
   162   $ echo "plain=./plain.py" >> $HGRCPATH
   168   $ echo "plain=./plain.py" >> $HGRC
   163   $ HGPLAINEXCEPT=; export HGPLAINEXCEPT
   169   $ HGPLAINEXCEPT=; export HGPLAINEXCEPT
   164   $ hg showconfig --config ui.traceback=True --debug
   170   $ hg showconfig --config ui.traceback=True --debug
   165   plain: True
   171   plain: True
   166   read config from: $TESTTMP/hgrc
   172   read config from: $TESTTMP/hgrc
   167   $TESTTMP/hgrc:15: extensions.plain=./plain.py
   173   $TESTTMP/hgrc:15: extensions.plain=./plain.py