tests/test-stabletailgraph.t
changeset 50529 027481f19944
parent 50528 8fb3e942473a
equal deleted inserted replaced
50528:8fb3e942473a 50529:027481f19944
   785 
   785 
   786   $ hg test-leaps --specific k
   786   $ hg test-leaps --specific k
   787   cf
   787   cf
   788 
   788 
   789   $ cd ..
   789   $ cd ..
       
   790 
       
   791 
       
   792 Example 10: adjusting other leaps
       
   793 =================================
       
   794 
       
   795 This test checks the adjustment of leaps attached to other open merges in the
       
   796 stack.
       
   797 
       
   798 #            o
       
   799 #            |
       
   800 #      ------>------
       
   801 #      |           |
       
   802 #      n           l
       
   803 #      |           |
       
   804 #      |       ----<----
       
   805 #      |       |       |
       
   806 #      |       i       k
       
   807 #      m       |       |
       
   808 #      |    ---<---    |
       
   809 #      |    |     |    |
       
   810 #      |    d     h    |
       
   811 #      |    |     |    j
       
   812 #      |    |     g    |
       
   813 #      |    c     |    |
       
   814 #      |    |     +-----
       
   815 #      -----+     |
       
   816 #           |     f
       
   817 #           b     |
       
   818 #           |     e         <- Done with excl(o) by element count, without
       
   819 #           |     |            having emitted "b". Implicitly unstack open
       
   820 #           ---+---            merges to leap e->n.
       
   821 #              |
       
   822 #              a
       
   823 
       
   824   $ hg init example-10
       
   825   $ cd example-10
       
   826   $ hg debugbuilddag '
       
   827   >   .:a
       
   828   >    *a:b.:c.:d
       
   829   >    *a:e.:f.:g.:h
       
   830   >             *d/h:i
       
   831   >         *f:j+6:k
       
   832   >                 *i/k:l
       
   833   >      *b:m+15:n
       
   834   >                   *n/l:o.
       
   835   > '
       
   836   $ hg test-log
       
   837   o    o rank=34
       
   838   |\
       
   839   | o  n rank=18
       
   840   | :
       
   841   | o  m rank=3
       
   842   | |
       
   843   o |    l rank=17
       
   844   |\ \
       
   845   | o |  k rank=10
       
   846   | : |
       
   847   | o |  j rank=4
       
   848   | | |
       
   849   o | |    i rank=9
       
   850   |\ \ \
       
   851   | o | |  h rank=5
       
   852   | | | |
       
   853   | o | |  g rank=4
       
   854   | |/ /
       
   855   | o |  f rank=3
       
   856   | | |
       
   857   | o |  e rank=2
       
   858   | | |
       
   859   o | |  d rank=4
       
   860   | | |
       
   861   o---+  c rank=3
       
   862    / /
       
   863   | o  b rank=2
       
   864   |/
       
   865   o  a rank=1
       
   866   
       
   867 
       
   868 Check the stable-tail sort of "o":
       
   869 
       
   870   $ hg test-sts o
       
   871   o,l,i,d,c,h,g,k,*,j,f,e,n,*,m,b,a, (no-eol) (glob)
       
   872 
       
   873 Stale-tail sort of "l" for reference:
       
   874 
       
   875   $ hg test-sts l
       
   876   l,i,d,c,b,h,g,k,*,j,f,e,a, (no-eol) (glob)
       
   877 
       
   878 Check the corresponding leaps:
       
   879 
       
   880   $ hg test-leaps o
       
   881   ch
       
   882   gk
       
   883   en
       
   884 
       
   885   $ hg test-leaps --specific o
       
   886   ch
       
   887 
       
   888   $ hg test-leaps l
       
   889   bh
       
   890   gk
       
   891 
       
   892   $ hg test-leaps --specific l
       
   893 
       
   894   $ cd ..
       
   895 
       
   896 
       
   897 Example 11: adjusting other leaps with the same destination
       
   898 ===========================================================
       
   899 
       
   900 This is a variant of the previous test, checking the adjustment of leaps having
       
   901 the same destination in particular.
       
   902 
       
   903 #            r
       
   904 #            |
       
   905 #      ------>------
       
   906 #      |           |
       
   907 #      |           o
       
   908 #      q           |
       
   909 #      |     ------>------
       
   910 #      |     |           |
       
   911 #      |     n           l
       
   912 #      |     |           |
       
   913 #      |     |       ----<----
       
   914 #      p     |       |       |
       
   915 #      |     |       i       k
       
   916 #      |     m       |       |
       
   917 #      |     |    ---<---    |
       
   918 #      |     |    |     |    |
       
   919 #      |     |    d     h    |
       
   920 #      |     |    |     |    j
       
   921 #      -----]|[---+     |    |   <- in sts(r): leap d->h
       
   922 #            |    |     g    |
       
   923 #            |    c     |    |
       
   924 #            |    |     +-----
       
   925 #            -----+     |        <- the leap c->h of sts(o)
       
   926 #                 |     f           is shadowed in sts(r)
       
   927 #                 b     |
       
   928 #                 |     e
       
   929 #                 |     |
       
   930 #                 ---+---
       
   931 #                    |
       
   932 #                    a
       
   933 
       
   934   $ hg init example-11
       
   935   $ cd example-11
       
   936   $ hg debugbuilddag '
       
   937   >   .:a
       
   938   >    *a:b.:c.:d
       
   939   >    *a:e.:f.:g.:h
       
   940   >             *d/h:i
       
   941   >         *f:j+6:k
       
   942   >                 *i/k:l
       
   943   >      *b:m+15:n
       
   944   >                   *n/l:o
       
   945   >          *c:p+31:q
       
   946   >                       *o/q:r.
       
   947   > '
       
   948   $ hg test-log
       
   949   o    r rank=67
       
   950   |\
       
   951   | o  q rank=35
       
   952   | :
       
   953   | o  p rank=4
       
   954   | |
       
   955   o |    o rank=34
       
   956   |\ \
       
   957   | o |  n rank=18
       
   958   | : |
       
   959   | o |  m rank=3
       
   960   | | |
       
   961   o | |    l rank=17
       
   962   |\ \ \
       
   963   | o | |  k rank=10
       
   964   | : | |
       
   965   | o | |  j rank=4
       
   966   | | | |
       
   967   o | | |    i rank=9
       
   968   |\ \ \ \
       
   969   | o | | |  h rank=5
       
   970   | | | | |
       
   971   | o | | |  g rank=4
       
   972   | |/ / /
       
   973   | o | |  f rank=3
       
   974   | | | |
       
   975   | o | |  e rank=2
       
   976   | | | |
       
   977   o-----+  d rank=4
       
   978    / / /
       
   979   | | o  c rank=3
       
   980   | |/
       
   981   | o  b rank=2
       
   982   |/
       
   983   o  a rank=1
       
   984   
       
   985 
       
   986 Check the stable-tail sort of "r":
       
   987 
       
   988   $ hg test-sts r
       
   989   r,o,l,i,d,h,g,k,*,j,f,e,n,*,m,q,*,p,c,b,a, (no-eol) (glob)
       
   990 
       
   991 Stable-tail sort of "o" for reference:
       
   992 
       
   993   $ hg test-sts o
       
   994   o,l,i,d,c,h,g,k,*,j,f,e,n,*,m,b,a, (no-eol) (glob)
       
   995 
       
   996 Check the associated leaps:
       
   997 
       
   998   $ hg test-leaps r
       
   999   dh
       
  1000   gk
       
  1001   en
       
  1002   mq
       
  1003 
       
  1004   $ hg test-leaps --specific r
       
  1005   dh
       
  1006 
       
  1007   $ hg test-leaps o
       
  1008   ch
       
  1009   gk
       
  1010   en
       
  1011 
       
  1012   $ hg test-leaps --specific o
       
  1013   ch
       
  1014 
       
  1015   $ cd ..
       
  1016 
       
  1017 
       
  1018 Example 12
       
  1019 ==========
       
  1020 
       
  1021 This is a variant of the previous test, checking the adjustments of leaps
       
  1022 in the open merge stack having a lower destination (which should appear only
       
  1023 later in the stable-tail sort of the head).
       
  1024 
       
  1025 #            t
       
  1026 #            |
       
  1027 #      ------>------
       
  1028 #      |           |
       
  1029 #      |           o
       
  1030 #      s           |
       
  1031 #      |     ------>------
       
  1032 #      |     |           |
       
  1033 #      |     n           l
       
  1034 #      r     |           |
       
  1035 #      |     |       ----<----
       
  1036 #      |     |       |       |
       
  1037 #    --<--   |       i       k
       
  1038 #    |   |   m       |       |
       
  1039 #    p   q   |    ---<---    |
       
  1040 #    |   |   |    |     |    |
       
  1041 #    |   ---]|[--]|[----+    |
       
  1042 #    |       |    |     |    |
       
  1043 #    |       |    d     h    |
       
  1044 #    |       |    |     |    j
       
  1045 #    -------]|[---+     |    |   <- d->k is sts(t)
       
  1046 #            |    |     g    |
       
  1047 #            |    c     |    |
       
  1048 #            |    |     +-----
       
  1049 #            -----+     |        <- c->h in sts(o), not applying in sts(t)
       
  1050 #                 |     f
       
  1051 #                 b     |
       
  1052 #                 |     e
       
  1053 #                 |     |
       
  1054 #                 ---+---
       
  1055 #                    |
       
  1056 #                    a
       
  1057 
       
  1058   $ hg init example-12
       
  1059   $ cd example-12
       
  1060   $ hg debugbuilddag '
       
  1061   >   .:a
       
  1062   >    *a:b.:c.:d
       
  1063   >    *a:e.:f.:g.:h
       
  1064   >             *d/h:i
       
  1065   >         *f:j+6:k
       
  1066   >                 *i/k:l
       
  1067   >      *b:m+15:n
       
  1068   >                   *n/l:o
       
  1069   >          *c:p
       
  1070   >               *h:q
       
  1071   >               *p/q:r+25:s
       
  1072   >                       *o/s:t.
       
  1073   > '
       
  1074   $ hg test-log
       
  1075   o    t rank=63
       
  1076   |\
       
  1077   | o  s rank=35
       
  1078   | :
       
  1079   | o    r rank=10
       
  1080   | |\
       
  1081   | | o  q rank=6
       
  1082   | | |
       
  1083   | o |  p rank=4
       
  1084   | | |
       
  1085   o | |    o rank=34
       
  1086   |\ \ \
       
  1087   | o | |  n rank=18
       
  1088   | : | |
       
  1089   | o | |  m rank=3
       
  1090   | | | |
       
  1091   o | | |    l rank=17
       
  1092   |\ \ \ \
       
  1093   | o | | |  k rank=10
       
  1094   | : | | |
       
  1095   | o | | |  j rank=4
       
  1096   | | | | |
       
  1097   o-------+  i rank=9
       
  1098   | | | | |
       
  1099   | | | | o  h rank=5
       
  1100   | | | | |
       
  1101   | +-----o  g rank=4
       
  1102   | | | |
       
  1103   | o | |  f rank=3
       
  1104   | | | |
       
  1105   | o | |  e rank=2
       
  1106   | | | |
       
  1107   o-----+  d rank=4
       
  1108    / / /
       
  1109   | | o  c rank=3
       
  1110   | |/
       
  1111   | o  b rank=2
       
  1112   |/
       
  1113   o  a rank=1
       
  1114   
       
  1115 
       
  1116 Check the stable-tail sort of "t":
       
  1117 
       
  1118   $ hg test-sts t
       
  1119   t,o,l,i,d,k,*,j,n,*,m,s,*,r,p,c,b,q,h,g,f,e,a, (no-eol) (glob)
       
  1120 
       
  1121 Stable-tail sort of "o" for reference:
       
  1122 
       
  1123   $ hg test-sts o
       
  1124   o,l,i,d,c,h,g,k,*,j,f,e,n,*,m,b,a, (no-eol) (glob)
       
  1125 
       
  1126 Check the associated leaps:
       
  1127 
       
  1128   $ hg test-leaps t
       
  1129   dk
       
  1130   jn
       
  1131   ms
       
  1132   bq
       
  1133 
       
  1134   $ hg test-leaps --specific t
       
  1135   dk
       
  1136   jn
       
  1137 
       
  1138   $ hg test-leaps o
       
  1139   ch
       
  1140   gk
       
  1141   en
       
  1142 
       
  1143   $ hg test-leaps --specific o
       
  1144   ch
       
  1145 
       
  1146   $ cd ..