tests/test-glog
changeset 4344 345ed833854d
child 4735 8d4fac0a9df7
equal deleted inserted replaced
4343:077aafddd35f 4344:345ed833854d
       
     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 set -e
       
    74 
       
    75 commit()
       
    76 {
       
    77     rev=$1
       
    78     msg=$2
       
    79     shift 2
       
    80     if [ "$#" -gt 0 ]; then
       
    81         hg debugsetparents "$@"
       
    82     fi
       
    83     echo $rev > $rev
       
    84     hg add $rev
       
    85     hg ci -d "$rev 0" -m "($rev) $msg"
       
    86 }
       
    87 
       
    88 echo "[extensions]" >> $HGRCPATH
       
    89 echo "graphlog=" >> $HGRCPATH
       
    90 
       
    91 echo % init
       
    92 hg init repo
       
    93 
       
    94 cd repo
       
    95 
       
    96 echo % empty repo
       
    97 hg glog
       
    98 
       
    99 echo % building tree
       
   100 commit 0 "root"
       
   101 commit 1 "collapse" 0
       
   102 commit 2 "collapse" 1
       
   103 commit 3 "collapse" 2
       
   104 commit 4 "merge two known; one immediate left, one immediate right" 1 3
       
   105 commit 5 "expand" 3 4
       
   106 commit 6 "merge two known; one immediate left, one far left" 2 5
       
   107 commit 7 "expand" 2 5
       
   108 commit 8 "merge two known; one immediate left, one far right" 0 7
       
   109 commit 9 "expand" 7 8
       
   110 commit 10 "merge two known; one immediate left, one near right" 0 6
       
   111 commit 11 "expand" 6 10
       
   112 commit 12 "merge two known; one immediate right, one far left" 1 9
       
   113 commit 13 "expand" 9 11
       
   114 commit 14 "merge two known; one immediate right, one far right" 0 12
       
   115 commit 15 "expand" 13 14
       
   116 commit 16 "merge two known; one immediate right, one near right" 0 1
       
   117 commit 17 "expand" 12 16
       
   118 commit 18 "merge two known; two far left" 1 15
       
   119 commit 19 "expand" 15 17
       
   120 commit 20 "merge two known; two far right" 0 18
       
   121 commit 21 "expand" 19 20
       
   122 commit 22 "merge two known; one far left, one far right" 18 21
       
   123 commit 23 "merge one known; immediate left" 1 22
       
   124 commit 24 "merge one known; immediate right" 0 23
       
   125 commit 25 "merge one known; far left" 21 24
       
   126 commit 26 "merge one known; far right" 18 25
       
   127 commit 27 "collapse" 21
       
   128 commit 28 "merge zero known" 1 26
       
   129 commit 29 "regular commit" 0
       
   130 commit 30 "expand" 28 29
       
   131 commit 31 "expand" 21 30
       
   132 commit 32 "expand" 27 31
       
   133 commit 33 "head" 18
       
   134 commit 34 "head" 32
       
   135 
       
   136 echo % glog -q
       
   137 hg glog -q
       
   138 
       
   139 echo % glog
       
   140 hg glog