view tests/test-subrepo @ 10301:56b50194617f

templates: rename `Last change' column in hgwebdir repository list. This patch changes column headers in the templates that previously said `Last change' to `Last modified'. Neither code nor functionality are changed other than that. For some time now, I have been annoyed by the fact the `Last change' column didn't list the age of the youngest changeset in the repository, or at least tip. It just occurred to me that this is because the wording is slightly misleading; what the column in fact lists is when the repository was last *modified*, that is, when changesets was last added or removed from it. The word `change' can be understood as referring to the changeset itself. Using `changed' would be ever so slightly less amigous. However, the standard nomenclature in this case is `modification date' and `Last modified', which is incidentally entirely unambigous. Hence, `Last modified' is the wording used.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Sun, 24 Jan 2010 20:51:53 +0100
parents 0bc93fa2cf2b
children e1401c74572f
line wrap: on
line source

#!/bin/sh

rm -rf sub
mkdir sub
cd sub
hg init t
cd t

echo % first revision, no sub
echo a > a
hg ci -Am0

echo % add first sub
echo s = s > .hgsub
hg add .hgsub
hg init s
echo a > s/a
hg -R s ci -Ams0
hg ci -m1

echo % add sub sub
echo ss = ss > s/.hgsub
hg init s/ss
echo a > s/ss/a
hg -R s add s/.hgsub
hg -R s/ss add s/ss/a
hg ci -m2

echo % bump sub rev
echo b > s/a
hg -R s ci -ms1
hg ci -m3

echo % leave sub dirty
echo c > s/a
hg ci -m4
hg tip -R s

echo % check caching
hg co 0
hg debugsub
echo % restore
hg co
hg debugsub

echo % new branch for merge tests
hg co 1
echo t = t >> .hgsub
hg init t
echo t > t/t
hg -R t add t
echo % 5
hg ci -m5 # add sub
echo t2 > t/t
echo % 6
hg st -R s
hg ci -m6 # change sub
hg debugsub
echo t3 > t/t
echo % 7
hg ci -m7 # change sub again for conflict test
hg rm .hgsub
echo % 8
hg ci -m8 # remove sub

echo % merge tests
hg co -C 3
hg merge 5 # test adding
hg debugsub
hg ci -m9
hg merge 6 --debug # test change
hg debugsub
echo conflict > t/t
hg ci -m10
HGMERGE=internal:merge hg merge --debug 7 # test conflict
echo % should conflict
cat t/t

echo % clone
cd ..
hg clone t tc
cd tc
hg debugsub

echo % push
echo bah > t/t
hg ci -m11
hg push | sed 's/ .*sub/ ...sub/g'

echo % push -f
echo bah > s/a
hg ci -m12
hg push | sed 's/ .*sub/ ...sub/g'
hg push -f | sed 's/ .*sub/ ...sub/g'

echo % update
cd ../t
hg up -C # discard our earlier merge
echo blah > t/t
hg ci -m13

echo % pull
cd ../tc
hg pull | sed 's/ .*sub/ ...sub/g'
hg up # should pull t
cat t/t

echo % bogus subrepo path aborts
echo 'bogus=[boguspath' >> .hgsub
hg ci -m 'bogus subrepo path'

echo % issue 1986
cd ..
rm -rf sub
hg init main
cd main

hg init s           # subrepo layout
cd s                #
echo a > a          #   o   5 br
hg ci -Am1          #  /|
hg branch br        # o |   4 default
echo a >> a         # | |
hg ci -m1           # | o   3 br
hg up default       # |/|
echo b > b          # o |   2 default
hg ci -Am1          # | |
hg up br            # | o   1 br
hg merge tip        # |/
hg ci -m1           # o     0 default
hg up 2
echo c > c
hg ci -Am1
hg up 3
hg merge 4
hg ci -m1

cd ..                         # main repo layout:
echo 's = s' > .hgsub         #
hg -R s up 2                  #   * <-- try to merge default into br again
hg ci -Am1                    # .`|
hg branch br                  # . o   5 br      --> substate = 5
echo b > b                    # . |
hg -R s up 3                  # o |   4 default --> substate = 4
hg ci -Am1                    # | |
hg up default                 # | o   3 br      --> substate = 2
echo c > c                    # |/|
hg ci -Am1                    # o |   2 default --> substate = 2
hg up 1                       # | |     
hg merge 2                    # | o   1 br      --> substate = 3
hg ci -m1                     # |/    
hg up 2                       # o     0 default --> substate = 2
hg -R s up 4
echo d > d
hg ci -Am1
hg up 3
hg -R s up 5
echo e > e
hg ci -Am1

hg up 5
hg merge 4    # try to merge default into br again

exit 0