tests/test-subrepo
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Wed, 18 Nov 2009 12:47:58 +0100
changeset 9881 54b518fc6671
parent 8816 a7c4eb0cc0ed
child 10177 5ca0d220ae21
child 10251 a19d2993385d
permissions -rwxr-xr-x
httprepo: suppress the `real URL is...' message in safe, common cases. When the actual and requested URL only differ by trailing slashes, there is no need to warn. As an example, this easily happens when accessing repositories on Bitbucket over HTTP(S). As far as I could tell, there were no existing tests for this behaviour.
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