tests/test-evolve-order.t
changeset 1369 4ed67cce8c23
child 1370 0799c5831a3d
equal deleted inserted replaced
1368:c02cdb97ebfa 1369:4ed67cce8c23
       
     1 evolve --rev reordering
       
     2 -----------------------
       
     3 
       
     4   $ cat >> $HGRCPATH <<EOF
       
     5   > [defaults]
       
     6   > amend=-d "0 0"
       
     7   > fold=-d "0 0"
       
     8   > [web]
       
     9   > push_ssl = false
       
    10   > allow_push = *
       
    11   > [phases]
       
    12   > publish = False
       
    13   > [diff]
       
    14   > git = 1
       
    15   > unified = 0
       
    16   > [ui]
       
    17   > logtemplate = {rev}:{node|short}@{branch}({phase}) {desc|firstline}\n
       
    18   > [extensions]
       
    19   > hgext.graphlog=
       
    20   > EOF
       
    21   $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
       
    22   $ mkcommit() {
       
    23   >    echo "$1" > "$1"
       
    24   >    hg add "$1"
       
    25   >    hg ci -m "add $1"
       
    26   > }
       
    27 
       
    28   $ mkstack() {
       
    29   >    # Creates a stack of commit based on $1 with messages from $2, $3 ..
       
    30   >    hg update $1 -C
       
    31   >    shift
       
    32   >    mkcommits $*
       
    33   > }
       
    34 
       
    35   $ shaof() {
       
    36   >   hg log -T {node} -r "first(desc($1))"
       
    37   > }
       
    38 
       
    39   $ mkcommits() {
       
    40   >   for i in $@; do mkcommit $i ; done
       
    41   > }
       
    42 
       
    43 Initial setup
       
    44   $ hg init testrevorder
       
    45   $ cd testrevorder
       
    46   $ mkcommits p _a _b _c
       
    47   $ hg phase --public 0
       
    48   $ hg up 'desc(_a)'
       
    49   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
       
    50   $ echo "aaa" > _a
       
    51   $ hg amend
       
    52   2 new unstable changesets
       
    53   $ hg log -G
       
    54   @  5:12d519679175@default(draft) add _a
       
    55   |
       
    56   | o  3:4d156641b718@default(draft) add _c
       
    57   | |
       
    58   | o  2:4d7242ebb004@default(draft) add _b
       
    59   | |
       
    60   | x  1:2d73fcd7f07d@default(draft) add _a
       
    61   |/
       
    62   o  0:f92638be10c7@default(public) add p
       
    63   
       
    64 
       
    65 evolve --rev reorders the rev to solve instability, trivial case 2 revs wrong order
       
    66   $ hg evolve --rev 'desc(_c) + desc(_b)'
       
    67   move:[2] add _b
       
    68   atop:[5] add _a
       
    69   move:[3] add _c
       
    70   atop:[6] add _b
       
    71   working directory is now at 52b8f9b04f83
       
    72 
       
    73 evolve --rev reorders the rev to solve instability. Harder case, obsolescence
       
    74 accross three stacks in growing rev numbers.
       
    75   $ hg up "desc(_c)"
       
    76   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    77   $ mkcommit d
       
    78   $ hg up "desc(_a)"
       
    79   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
       
    80   $ hg amend -m "aprime"
       
    81   3 new unstable changesets
       
    82   $ hg evolve --rev "desc(_b)"
       
    83   move:[6] add _b
       
    84   atop:[9] aprime
       
    85   working directory is now at 476c9c052aae
       
    86   $ hg up "desc(_b) - obsolete()"
       
    87   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    88   $ hg amend -m "bprime"
       
    89   $ hg up "desc(aprime)"
       
    90   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
    91   $ hg amend -m "asecond"
       
    92   1 new unstable changesets
       
    93   $ hg log -G
       
    94   @  12:9a584314f3f3@default(draft) asecond
       
    95   |
       
    96   | o  11:a59c79776f7c@default(draft) bprime
       
    97   | |
       
    98   | x  9:81a687b96d4d@default(draft) aprime
       
    99   |/
       
   100   | o  8:2d86cc7ec3a9@default(draft) add d
       
   101   | |
       
   102   | o  7:52b8f9b04f83@default(draft) add _c
       
   103   | |
       
   104   | x  6:59476c3836ef@default(draft) add _b
       
   105   | |
       
   106   | x  5:12d519679175@default(draft) add _a
       
   107   |/
       
   108   o  0:f92638be10c7@default(public) add p
       
   109   
       
   110   $ hg evolve --rev "unstable()"
       
   111   move:[11] bprime
       
   112   atop:[12] asecond
       
   113   move:[7] add _c
       
   114   atop:[13] bprime
       
   115   move:[8] add d
       
   116   atop:[14] add _c
       
   117   working directory is now at fd447ba1b20b
       
   118   $ hg log -G
       
   119   @  15:fd447ba1b20b@default(draft) add d
       
   120   |
       
   121   o  14:0fc229278e4d@default(draft) add _c
       
   122   |
       
   123   o  13:c3741b9eafae@default(draft) bprime
       
   124   |
       
   125   o  12:9a584314f3f3@default(draft) asecond
       
   126   |
       
   127   o  0:f92638be10c7@default(public) add p
       
   128   
       
   129