tests/test-pager.t
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Tue, 02 May 2017 20:19:09 +0200
branchstable
changeset 32103 9a98023ac8db
parent 32102 9a85ea1daf49
child 32104 f06d23af6cdf
permissions -rw-r--r--
color: special case 'always' in 'ui.color' This lift the confusing case, where 'ui.color=always' would actually not always use color.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
     1
  $ cat >> fakepager.py <<EOF
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
     2
  > import sys
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
     3
  > for line in sys.stdin:
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
     4
  >     sys.stdout.write('paged! %r\n' % line)
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
     5
  > EOF
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
     6
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
     7
Enable ui.formatted because pager won't fire without it, and set up
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
     8
pager and tell it to use our fake pager that lets us see when the
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
     9
pager was running.
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    10
  $ cat >> $HGRCPATH <<EOF
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    11
  > [ui]
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    12
  > formatted = yes
32026
57042e91521a color: turn on by default (but for windows)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32025
diff changeset
    13
  > color = no
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    14
  > [pager]
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    15
  > pager = python $TESTTMP/fakepager.py
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    16
  > EOF
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    17
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    18
  $ hg init repo
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    19
  $ cd repo
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    20
  $ echo a >> a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    21
  $ hg add a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    22
  $ hg ci -m 'add a'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    23
  $ for x in `python $TESTDIR/seq.py 1 10`; do
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    24
  >   echo a $x >> a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    25
  >   hg ci -m "modify a $x"
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    26
  > done
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    27
30964
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30962
diff changeset
    28
By default diff and log are paged, but id is not:
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    29
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    30
  $ hg diff -c 2 --pager=yes
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    31
  paged! 'diff -r f4be7687d414 -r bce265549556 a\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    32
  paged! '--- a/a\tThu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    33
  paged! '+++ b/a\tThu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    34
  paged! '@@ -1,2 +1,3 @@\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    35
  paged! ' a\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    36
  paged! ' a 1\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    37
  paged! '+a 2\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    38
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    39
  $ hg log --limit 2
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    40
  paged! 'changeset:   10:46106edeeb38\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    41
  paged! 'tag:         tip\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    42
  paged! 'user:        test\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    43
  paged! 'date:        Thu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    44
  paged! 'summary:     modify a 10\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    45
  paged! '\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    46
  paged! 'changeset:   9:6dd8ea7dd621\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    47
  paged! 'user:        test\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    48
  paged! 'date:        Thu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    49
  paged! 'summary:     modify a 9\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    50
  paged! '\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    51
30964
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30962
diff changeset
    52
  $ hg id
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30962
diff changeset
    53
  46106edeeb38 tip
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    54
32098
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    55
We can control the pager from the config
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    56
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    57
  $ hg log --limit 1 --config 'pager.enable=False'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    58
  changeset:   10:46106edeeb38
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    59
  tag:         tip
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    60
  user:        test
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    61
  date:        Thu Jan 01 00:00:00 1970 +0000
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    62
  summary:     modify a 10
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    63
  
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    64
  $ hg log --limit 1 --config 'pager.enable=0'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    65
  changeset:   10:46106edeeb38
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    66
  tag:         tip
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    67
  user:        test
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    68
  date:        Thu Jan 01 00:00:00 1970 +0000
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    69
  summary:     modify a 10
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    70
  
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    71
  $ hg log --limit 1 --config 'pager.enable=1'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    72
  paged! 'changeset:   10:46106edeeb38\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    73
  paged! 'tag:         tip\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    74
  paged! 'user:        test\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    75
  paged! 'date:        Thu Jan 01 00:00:00 1970 +0000\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    76
  paged! 'summary:     modify a 10\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    77
  paged! '\n'
149440d7e1a7 pager: test the 'enable' config option
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32074
diff changeset
    78
30964
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30962
diff changeset
    79
We can enable the pager on id:
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    80
31414
d5eb20934c36 tests: duplicate test for pager for old extension and for in-core pager
Martin von Zweigbergk <martinvonz@google.com>
parents: 31096
diff changeset
    81
BROKEN: should be paged
30964
b7e073ae44c4 tests: switch "this command isn't paged" example to id
Augie Fackler <augie@google.com>
parents: 30962
diff changeset
    82
  $ hg --config pager.attend-id=yes id
31414
d5eb20934c36 tests: duplicate test for pager for old extension and for in-core pager
Martin von Zweigbergk <martinvonz@google.com>
parents: 31096
diff changeset
    83
  46106edeeb38 tip
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    84
31016
cc3c9b6f1e09 tests: clean up a bunch of pager testing that is about to be invalidated
Augie Fackler <augie@google.com>
parents: 30964
diff changeset
    85
Setting attend-$COMMAND to a false value works, even with pager in
cc3c9b6f1e09 tests: clean up a bunch of pager testing that is about to be invalidated
Augie Fackler <augie@google.com>
parents: 30964
diff changeset
    86
core:
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    87
  $ hg --config pager.attend-diff=no diff -c 2
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    88
  diff -r f4be7687d414 -r bce265549556 a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    89
  --- a/a	Thu Jan 01 00:00:00 1970 +0000
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    90
  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    91
  @@ -1,2 +1,3 @@
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    92
   a
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    93
   a 1
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    94
  +a 2
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    95
32072
05cdd5678c6b tests: drop unnecessary pager attend in test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32026
diff changeset
    96
Command aliases should have same behavior as main command
05cdd5678c6b tests: drop unnecessary pager attend in test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32026
diff changeset
    97
05cdd5678c6b tests: drop unnecessary pager attend in test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32026
diff changeset
    98
  $ hg history --limit 2
28319
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
    99
  paged! 'changeset:   10:46106edeeb38\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   100
  paged! 'tag:         tip\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   101
  paged! 'user:        test\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   102
  paged! 'date:        Thu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   103
  paged! 'summary:     modify a 10\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   104
  paged! '\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   105
  paged! 'changeset:   9:6dd8ea7dd621\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   106
  paged! 'user:        test\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   107
  paged! 'date:        Thu Jan 01 00:00:00 1970 +0000\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   108
  paged! 'summary:     modify a 9\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   109
  paged! '\n'
09222d39fa34 pager: add tests
Augie Fackler <augie@google.com>
parents:
diff changeset
   110
32073
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
   111
Abbreviated command alias should also be paged
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
   112
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
   113
  $ hg hist -l 1
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
   114
  paged! 'changeset:   10:46106edeeb38\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
   115
  paged! 'tag:         tip\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
   116
  paged! 'user:        test\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
   117
  paged! 'date:        Thu Jan 01 00:00:00 1970 +0000\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
   118
  paged! 'summary:     modify a 10\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
   119
  paged! '\n'
04629b2da72c tests: test that abbreviated command alias is also paged
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32072
diff changeset
   120
32074
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
   121
Attend for an abbreviated command does not work
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
   122
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
   123
  $ hg --config pager.attend-ident=true ident
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
   124
  46106edeeb38 tip
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
   125
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
   126
  $ hg --config extensions.pager= --config pager.attend-ident=true ident
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
   127
  46106edeeb38 tip
769c831708c7 tests: demonstrate that pager.attend-<abbreviated> doesn't work
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32073
diff changeset
   128
30847
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
   129
Pager should not start if stdout is not a tty.
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
   130
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
   131
  $ hg log -l1 -q --config ui.formatted=False
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
   132
  10:46106edeeb38
e12553cfd0a4 pager: wrap _runcommand() no matter if stdout is redirected
Yuya Nishihara <yuya@tcha.org>
parents: 29344
diff changeset
   133
31096
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31020
diff changeset
   134
Pager should be disabled if pager.pager is empty (otherwise the output would
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31020
diff changeset
   135
be silently lost.)
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31020
diff changeset
   136
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31020
diff changeset
   137
  $ hg log -l1 -q --config pager.pager=
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31020
diff changeset
   138
  10:46106edeeb38
873ebdd6e84d pager: do not try to run an empty pager command
Yuya Nishihara <yuya@tcha.org>
parents: 31020
diff changeset
   139
28531
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   140
Pager with color enabled allows colors to come through by default,
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   141
even though stdout is no longer a tty.
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   142
  $ cat >> $HGRCPATH <<EOF
32025
d323d9e0d7b4 pager: stop using the color extension in tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31954
diff changeset
   143
  > [ui]
32103
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
   144
  > color = always
28531
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   145
  > [color]
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   146
  > mode = ansi
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   147
  > EOF
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   148
  $ hg log --limit 3
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   149
  paged! '\x1b[0;33mchangeset:   10:46106edeeb38\x1b[0m\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   150
  paged! 'tag:         tip\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   151
  paged! 'user:        test\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   152
  paged! 'date:        Thu Jan 01 00:00:00 1970 +0000\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   153
  paged! 'summary:     modify a 10\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   154
  paged! '\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   155
  paged! '\x1b[0;33mchangeset:   9:6dd8ea7dd621\x1b[0m\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   156
  paged! 'user:        test\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   157
  paged! 'date:        Thu Jan 01 00:00:00 1970 +0000\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   158
  paged! 'summary:     modify a 9\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   159
  paged! '\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   160
  paged! '\x1b[0;33mchangeset:   8:cff05a6312fe\x1b[0m\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   161
  paged! 'user:        test\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   162
  paged! 'date:        Thu Jan 01 00:00:00 1970 +0000\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   163
  paged! 'summary:     modify a 8\n'
fe79a5821e5a test-pager: add a test for pager with color enabled
Augie Fackler <augie@google.com>
parents: 28319
diff changeset
   164
  paged! '\n'
29132
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   165
31485
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   166
An invalid pager command name is reported sensibly if we don't have to
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   167
use shell=True in the subprocess call:
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   168
  $ hg log --limit 3 --config pager.pager=this-command-better-never-exist
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   169
  missing pager command 'this-command-better-never-exist', skipping pager
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   170
  \x1b[0;33mchangeset:   10:46106edeeb38\x1b[0m (esc)
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   171
  tag:         tip
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   172
  user:        test
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   173
  date:        Thu Jan 01 00:00:00 1970 +0000
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   174
  summary:     modify a 10
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   175
  
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   176
  \x1b[0;33mchangeset:   9:6dd8ea7dd621\x1b[0m (esc)
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   177
  user:        test
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   178
  date:        Thu Jan 01 00:00:00 1970 +0000
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   179
  summary:     modify a 9
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   180
  
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   181
  \x1b[0;33mchangeset:   8:cff05a6312fe\x1b[0m (esc)
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   182
  user:        test
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   183
  date:        Thu Jan 01 00:00:00 1970 +0000
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   184
  summary:     modify a 8
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   185
  
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   186
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   187
A complicated pager command gets worse behavior. Bonus points if you can
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   188
improve this.
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   189
  $ hg log --limit 3 \
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   190
  >   --config pager.pager='this-command-better-never-exist --seriously' \
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   191
  >  2>/dev/null || true
9335dc6b2a9c pager: avoid shell=True on subprocess.Popen for better errors (issue5491)
Augie Fackler <augie@google.com>
parents: 31414
diff changeset
   192
29132
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   193
Pager works with shell aliases.
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   194
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   195
  $ cat >> $HGRCPATH <<EOF
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   196
  > [alias]
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   197
  > echoa = !echo a
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   198
  > EOF
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   199
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   200
  $ hg echoa
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   201
  a
31414
d5eb20934c36 tests: duplicate test for pager for old extension and for in-core pager
Martin von Zweigbergk <martinvonz@google.com>
parents: 31096
diff changeset
   202
BROKEN: should be paged
29132
12769703d4ba dispatch: always load extensions before running shell aliases (issue5230)
Jun Wu <quark@fb.com>
parents: 28531
diff changeset
   203
  $ hg --config pager.attend-echoa=yes echoa
31414
d5eb20934c36 tests: duplicate test for pager for old extension and for in-core pager
Martin von Zweigbergk <martinvonz@google.com>
parents: 31096
diff changeset
   204
  a
29343
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   205
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   206
Pager works with hg aliases including environment variables.
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   207
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   208
  $ cat >> $HGRCPATH <<'EOF'
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   209
  > [alias]
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   210
  > printa = log -T "$A\n" -r 0
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   211
  > EOF
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   212
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   213
  $ A=1 hg --config pager.attend-printa=yes printa
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   214
  paged! '1\n'
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   215
  $ A=2 hg --config pager.attend-printa=yes printa
e095b9e753f7 tests: move chg pager test to test-pager.t
Jun Wu <quark@fb.com>
parents: 29132
diff changeset
   216
  paged! '2\n'
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   217
30962
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
   218
Something that's explicitly attended is still not paginated if the
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
   219
pager is globally set to off using a flag:
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
   220
  $ A=2 hg --config pager.attend-printa=yes printa --pager=no
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
   221
  2
65a3b4d67a65 pager: add a test of --pager=no functionality
Augie Fackler <augie@google.com>
parents: 30847
diff changeset
   222
29344
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   223
Pager should not override the exit code of other commands
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   224
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   225
  $ cat >> $TESTTMP/fortytwo.py <<'EOF'
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   226
  > from mercurial import cmdutil, commands
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   227
  > cmdtable = {}
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   228
  > command = cmdutil.command(cmdtable)
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   229
  > @command('fortytwo', [], 'fortytwo', norepo=True)
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   230
  > def fortytwo(ui, *opts):
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   231
  >     ui.write('42\n')
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   232
  >     return 42
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   233
  > EOF
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   234
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   235
  $ cat >> $HGRCPATH <<'EOF'
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   236
  > [extensions]
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   237
  > fortytwo = $TESTTMP/fortytwo.py
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   238
  > EOF
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   239
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   240
  $ hg fortytwo --pager=on
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   241
  paged! '42\n'
bb3d5c20eaf6 chg: exec pager in child process
Jun Wu <quark@fb.com>
parents: 29343
diff changeset
   242
  [42]
31019
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   243
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   244
A command that asks for paging using ui.pager() directly works:
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   245
  $ hg blame a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   246
  paged! ' 0: a\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   247
  paged! ' 1: a 1\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   248
  paged! ' 2: a 2\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   249
  paged! ' 3: a 3\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   250
  paged! ' 4: a 4\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   251
  paged! ' 5: a 5\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   252
  paged! ' 6: a 6\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   253
  paged! ' 7: a 7\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   254
  paged! ' 8: a 8\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   255
  paged! ' 9: a 9\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   256
  paged! '10: a 10\n'
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   257
but not with HGPLAIN
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   258
  $ HGPLAIN=1 hg blame a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   259
   0: a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   260
   1: a 1
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   261
   2: a 2
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   262
   3: a 3
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   263
   4: a 4
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   264
   5: a 5
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   265
   6: a 6
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   266
   7: a 7
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   267
   8: a 8
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   268
   9: a 9
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   269
  10: a 10
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   270
explicit flags work too:
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   271
  $ hg blame --pager=no a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   272
   0: a
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   273
   1: a 1
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   274
   2: a 2
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   275
   3: a 3
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   276
   4: a 4
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   277
   5: a 5
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   278
   6: a 6
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   279
   7: a 7
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   280
   8: a 8
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   281
   9: a 9
334cf948c758 annotate: migrate to modern pager API
Augie Fackler <augie@google.com>
parents: 31016
diff changeset
   282
  10: a 10
31020
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   283
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   284
Put annotate in the ignore list for pager:
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   285
  $ cat >> $HGRCPATH <<EOF
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   286
  > [pager]
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   287
  > ignore = annotate
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   288
  > EOF
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   289
  $ hg blame a
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   290
   0: a
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   291
   1: a 1
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   292
   2: a 2
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   293
   3: a 3
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   294
   4: a 4
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   295
   5: a 5
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   296
   6: a 6
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   297
   7: a 7
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   298
   8: a 8
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   299
   9: a 9
84ec2d6a2831 tests: prove that ignore works
Augie Fackler <augie@google.com>
parents: 31019
diff changeset
   300
  10: a 10
31954
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   301
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   302
Environment variables like LESS and LV are set automatically:
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   303
  $ cat > $TESTTMP/printlesslv.py <<EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   304
  > import os, sys
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   305
  > sys.stdin.read()
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   306
  > for name in ['LESS', 'LV']:
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   307
  >     sys.stdout.write(('%s=%s\n') % (name, os.environ.get(name, '-')))
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   308
  > sys.stdout.flush()
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   309
  > EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   310
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   311
  $ cat >> $HGRCPATH <<EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   312
  > [alias]
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   313
  > noop = log -r 0 -T ''
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   314
  > [ui]
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   315
  > formatted=1
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   316
  > [pager]
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   317
  > pager = $PYTHON $TESTTMP/printlesslv.py
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   318
  > EOF
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   319
  $ unset LESS
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   320
  $ unset LV
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   321
  $ hg noop --pager=on
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   322
  LESS=FRX
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   323
  LV=-c
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   324
  $ LESS=EFGH hg noop --pager=on
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   325
  LESS=EFGH
e518192d6bac pager: set some environment variables if they're not set
Jun Wu <quark@fb.com>
parents: 31485
diff changeset
   326
  LV=-c