tests/test-glog
changeset 12003 a092b91a27c4
parent 12002 ce066f8aa0b2
child 12004 1fe4702fe2df
equal deleted inserted replaced
12002:ce066f8aa0b2 12003:a092b91a27c4
     1 #!/bin/sh
       
     2 
       
     3 # @  (34) head
       
     4 # |
       
     5 # | o  (33) head
       
     6 # | |
       
     7 # o |    (32) expand
       
     8 # |\ \
       
     9 # | o \    (31) expand
       
    10 # | |\ \
       
    11 # | | o \    (30) expand
       
    12 # | | |\ \
       
    13 # | | | o |  (29) regular commit
       
    14 # | | | | |
       
    15 # | | o | |    (28) merge zero known
       
    16 # | | |\ \ \
       
    17 # o | | | | |  (27) collapse
       
    18 # |/ / / / /
       
    19 # | | o---+  (26) merge one known; far right
       
    20 # | | | | |
       
    21 # +---o | |  (25) merge one known; far left
       
    22 # | | | | |
       
    23 # | | o | |  (24) merge one known; immediate right
       
    24 # | | |\| |
       
    25 # | | o | |  (23) merge one known; immediate left
       
    26 # | |/| | |
       
    27 # +---o---+  (22) merge two known; one far left, one far right
       
    28 # | |  / /
       
    29 # o | | |    (21) expand
       
    30 # |\ \ \ \
       
    31 # | o---+-+  (20) merge two known; two far right
       
    32 # |  / / /
       
    33 # o | | |    (19) expand
       
    34 # |\ \ \ \
       
    35 # +---+---o  (18) merge two known; two far left
       
    36 # | | | |
       
    37 # | o | |    (17) expand
       
    38 # | |\ \ \
       
    39 # | | o---+  (16) merge two known; one immediate right, one near right
       
    40 # | | |/ /
       
    41 # o | | |    (15) expand
       
    42 # |\ \ \ \
       
    43 # | o-----+  (14) merge two known; one immediate right, one far right
       
    44 # | |/ / /
       
    45 # o | | |    (13) expand
       
    46 # |\ \ \ \
       
    47 # +---o | |  (12) merge two known; one immediate right, one far left
       
    48 # | | |/ /
       
    49 # | o | |    (11) expand
       
    50 # | |\ \ \
       
    51 # | | o---+  (10) merge two known; one immediate left, one near right
       
    52 # | |/ / /
       
    53 # o | | |    (9) expand
       
    54 # |\ \ \ \
       
    55 # | o-----+  (8) merge two known; one immediate left, one far right
       
    56 # |/ / / /
       
    57 # o | | |    (7) expand
       
    58 # |\ \ \ \
       
    59 # +---o | |  (6) merge two known; one immediate left, one far left
       
    60 # | |/ / /
       
    61 # | o | |    (5) expand
       
    62 # | |\ \ \
       
    63 # | | o | |  (4) merge two known; one immediate left, one immediate right
       
    64 # | |/|/ /
       
    65 # | o / /  (3) collapse
       
    66 # |/ / /
       
    67 # o / /  (2) collapse
       
    68 # |/ /
       
    69 # o /  (1) collapse
       
    70 # |/
       
    71 # o  (0) root
       
    72 
       
    73 "$TESTDIR/hghave" no-outer-repo || exit 80
       
    74 
       
    75 set -e
       
    76 
       
    77 commit()
       
    78 {
       
    79     rev=$1
       
    80     msg=$2
       
    81     shift 2
       
    82     if [ "$#" -gt 0 ]; then
       
    83         hg debugsetparents "$@"
       
    84     fi
       
    85     echo $rev > a
       
    86     hg commit -Aqd "$rev 0" -m "($rev) $msg"
       
    87 }
       
    88 
       
    89 echo "[extensions]" >> $HGRCPATH
       
    90 echo "graphlog=" >> $HGRCPATH
       
    91 
       
    92 echo % init
       
    93 hg init repo
       
    94 
       
    95 cd repo
       
    96 
       
    97 echo % empty repo
       
    98 hg glog
       
    99 
       
   100 echo % building tree
       
   101 commit 0 "root"
       
   102 commit 1 "collapse" 0
       
   103 commit 2 "collapse" 1
       
   104 commit 3 "collapse" 2
       
   105 commit 4 "merge two known; one immediate left, one immediate right" 1 3
       
   106 commit 5 "expand" 3 4
       
   107 commit 6 "merge two known; one immediate left, one far left" 2 5
       
   108 commit 7 "expand" 2 5
       
   109 commit 8 "merge two known; one immediate left, one far right" 0 7
       
   110 commit 9 "expand" 7 8
       
   111 commit 10 "merge two known; one immediate left, one near right" 0 6
       
   112 commit 11 "expand" 6 10
       
   113 commit 12 "merge two known; one immediate right, one far left" 1 9
       
   114 commit 13 "expand" 9 11
       
   115 commit 14 "merge two known; one immediate right, one far right" 0 12
       
   116 commit 15 "expand" 13 14
       
   117 commit 16 "merge two known; one immediate right, one near right" 0 1
       
   118 commit 17 "expand" 12 16
       
   119 commit 18 "merge two known; two far left" 1 15
       
   120 commit 19 "expand" 15 17
       
   121 commit 20 "merge two known; two far right" 0 18
       
   122 commit 21 "expand" 19 20
       
   123 commit 22 "merge two known; one far left, one far right" 18 21
       
   124 commit 23 "merge one known; immediate left" 1 22
       
   125 commit 24 "merge one known; immediate right" 0 23
       
   126 commit 25 "merge one known; far left" 21 24
       
   127 commit 26 "merge one known; far right" 18 25
       
   128 commit 27 "collapse" 21
       
   129 commit 28 "merge zero known" 1 26
       
   130 commit 29 "regular commit" 0
       
   131 commit 30 "expand" 28 29
       
   132 commit 31 "expand" 21 30
       
   133 commit 32 "expand" 27 31
       
   134 commit 33 "head" 18
       
   135 commit 34 "head" 32
       
   136 
       
   137 echo % glog -q
       
   138 hg glog -q
       
   139 
       
   140 echo % glog
       
   141 hg glog
       
   142 
       
   143 echo % file glog
       
   144 hg glog a
       
   145 
       
   146 echo % unused arguments
       
   147 hg glog -q foo bar || echo failed
       
   148 
       
   149 echo % empty revision range - display nothing
       
   150 hg glog -r 1..0
       
   151 
       
   152 echo % from outer space
       
   153 cd ..
       
   154 hg glog -l1 repo
       
   155 hg glog -l1 repo/a
       
   156 hg glog -l1 repo/missing
       
   157 
       
   158 echo % file log with revs != cset revs
       
   159 hg init flog
       
   160 cd flog
       
   161 echo one >one
       
   162 hg add one
       
   163 hg commit -mone
       
   164 echo two >two
       
   165 hg add two
       
   166 hg commit -mtwo
       
   167 echo more >two
       
   168 hg commit -mmore
       
   169 hg glog two
       
   170 
       
   171 echo "% file log with explicit style (issue 1896)"
       
   172 hg glog --style=default one
       
   173 
       
   174 echo % incoming and outgoing
       
   175 cd ..
       
   176 hg clone -U -r31 repo repo2
       
   177 cd repo2
       
   178 hg incoming --graph ../repo
       
   179 cd ..
       
   180 hg -R repo outgoing --graph repo2
       
   181 
       
   182 cd repo
       
   183 echo % file + limit with revs != cset revs
       
   184 touch b
       
   185 hg ci -Aqm0
       
   186 # this used to show only one cset
       
   187 hg glog -l2 a
       
   188 
       
   189 echo "% file + limit + -ra:b, (b - a) < limit"
       
   190 hg glog -l3000 -r32:tip a
       
   191 
       
   192 echo "% file + limit + -ra:b, b < tip"
       
   193 hg glog -l1 -r32:34 a
       
   194 
       
   195 echo "% file + limit + -ra:b, b < tip, (b - a) < limit"
       
   196 hg glog -l10 -r33:34 a