tests/test-subrepo
author Augie Fackler <durin42@gmail.com>
Thu, 31 Dec 2009 17:10:03 -0600
changeset 10177 5ca0d220ae21
parent 8816 a7c4eb0cc0ed
child 10252 0bc93fa2cf2b
permissions -rwxr-xr-x
subrepo: add table-based dispatch for subrepo types
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8816
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     1
#!/bin/sh
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     2
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     3
rm -rf sub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     4
mkdir sub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     5
cd sub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     6
hg init t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     7
cd t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     8
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     9
echo % first revision, no sub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    10
echo a > a
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    11
hg ci -Am0
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    12
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    13
echo % add first sub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    14
echo s = s > .hgsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    15
hg add .hgsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    16
hg init s
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    17
echo a > s/a
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    18
hg -R s ci -Ams0
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    19
hg ci -m1
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    20
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    21
echo % add sub sub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    22
echo ss = ss > s/.hgsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    23
hg init s/ss
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    24
echo a > s/ss/a
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    25
hg -R s add s/.hgsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    26
hg -R s/ss add s/ss/a
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    27
hg ci -m2
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    28
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    29
echo % bump sub rev
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    30
echo b > s/a
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    31
hg -R s ci -ms1
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    32
hg ci -m3
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    33
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    34
echo % leave sub dirty
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    35
echo c > s/a
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    36
hg ci -m4
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    37
hg tip -R s
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    38
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    39
echo % check caching
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    40
hg co 0
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    41
hg debugsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    42
echo % restore
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    43
hg co
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    44
hg debugsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    45
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    46
echo % new branch for merge tests
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    47
hg co 1
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    48
echo t = t >> .hgsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    49
hg init t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    50
echo t > t/t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    51
hg -R t add t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    52
echo % 5
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    53
hg ci -m5 # add sub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    54
echo t2 > t/t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    55
echo % 6
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    56
hg st -R s
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    57
hg ci -m6 # change sub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    58
hg debugsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    59
echo t3 > t/t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    60
echo % 7
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    61
hg ci -m7 # change sub again for conflict test
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    62
hg rm .hgsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    63
echo % 8
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    64
hg ci -m8 # remove sub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    65
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    66
echo % merge tests
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    67
hg co -C 3
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    68
hg merge 5 # test adding
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    69
hg debugsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    70
hg ci -m9
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    71
hg merge 6 --debug # test change
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    72
hg debugsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    73
echo conflict > t/t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    74
hg ci -m10
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    75
HGMERGE=internal:merge hg merge --debug 7 # test conflict
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    76
echo % should conflict
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    77
cat t/t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    78
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    79
echo % clone
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    80
cd ..
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    81
hg clone t tc
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    82
cd tc
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    83
hg debugsub
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    84
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    85
echo % push
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    86
echo bah > t/t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    87
hg ci -m11
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    88
hg push | sed 's/ .*sub/ ...sub/g'
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    89
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    90
echo % push -f
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    91
echo bah > s/a
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    92
hg ci -m12
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    93
hg push | sed 's/ .*sub/ ...sub/g'
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    94
hg push -f | sed 's/ .*sub/ ...sub/g'
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    95
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    96
echo % update
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    97
cd ../t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    98
hg up -C # discard our earlier merge
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    99
echo blah > t/t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   100
hg ci -m13
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   101
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   102
echo % pull
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   103
cd ../tc
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   104
hg pull | sed 's/ .*sub/ ...sub/g'
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   105
hg up # should pull t
a7c4eb0cc0ed subrepo: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   106
cat t/t
10177
5ca0d220ae21 subrepo: add table-based dispatch for subrepo types
Augie Fackler <durin42@gmail.com>
parents: 8816
diff changeset
   107
5ca0d220ae21 subrepo: add table-based dispatch for subrepo types
Augie Fackler <durin42@gmail.com>
parents: 8816
diff changeset
   108
echo % bogus subrepo path aborts
5ca0d220ae21 subrepo: add table-based dispatch for subrepo types
Augie Fackler <durin42@gmail.com>
parents: 8816
diff changeset
   109
echo 'bogus=[boguspath' >> .hgsub
5ca0d220ae21 subrepo: add table-based dispatch for subrepo types
Augie Fackler <durin42@gmail.com>
parents: 8816
diff changeset
   110
hg ci -m 'bogus subrepo path'
5ca0d220ae21 subrepo: add table-based dispatch for subrepo types
Augie Fackler <durin42@gmail.com>
parents: 8816
diff changeset
   111
5ca0d220ae21 subrepo: add table-based dispatch for subrepo types
Augie Fackler <durin42@gmail.com>
parents: 8816
diff changeset
   112
exit 0