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.
#!/bin/sh
hg init a
cd a
echo a > a
hg ci -Ama -d '1 0'
hg cp a b
hg ci -mb -d '2 0'
mkdir dir
hg mv b dir
hg ci -mc -d '3 0'
hg mv a b
echo a > d
hg add d
hg ci -md -d '4 0'
hg mv dir/b e
hg ci -me -d '5 0'
hg log a
echo % -f, directory
hg log -f dir
echo % -f, but no args
hg log -f
echo % one rename
hg log -vf a
echo % many renames
hg log -vf e
echo % log copies
hg log -vC --template '{rev} {file_copies%filecopy}\n'
echo % log copies, non-linear manifest
hg up -C 3
hg mv dir/b e
echo foo > foo
hg ci -Ame2 -d '6 0'
hg log -vC --template '{rev} {file_copies%filecopy}\n' -r 5
echo % log copies, execute bit set
chmod +x e
hg ci -me3 -d '7 0'
hg log -vC --template '{rev} {file_copies%filecopy}\n' -r 6
echo '% log -p d'
hg log -pv d
# log --follow tests
hg init ../follow
cd ../follow
echo base > base
hg ci -Ambase -d '1 0'
echo r1 >> base
hg ci -Amr1 -d '1 0'
echo r2 >> base
hg ci -Amr2 -d '1 0'
hg up -C 1
echo b1 > b1
hg ci -Amb1 -d '1 0'
echo % log -f
hg log -f
hg up -C 0
echo b2 > b2
hg ci -Amb2 -d '1 0'
echo % log -f -r 1:tip
hg log -f -r 1:tip
hg up -C 3
hg merge tip
echo % log -r . with two parents
hg log -r .
hg ci -mm12 -d '1 0'
echo % log -r . with one parent
hg log -r .
echo postm >> b1
hg ci -Amb1.1 -d'1 0'
echo % log --follow-first
hg log --follow-first
echo % log -P 2
hg log -P 2
echo '% log -r tip -p --git'
hg log -r tip -p --git
echo '% log -r ""'
hg log -r ''
echo '% log -r <some unknown node id>'
hg log -r 1000000000000000000000000000000000000000
echo '% log -k r1'
hg log -k r1
echo '% log -d -1'
hg log -d -1
cd ..
hg init usertest
cd usertest
echo a > a
hg ci -A -m "a" -u "User One <user1@example.org>"
echo b > b
hg ci -A -m "b" -u "User Two <user2@example.org>"
hg log -u "User One <user1@example.org>"
hg log -u "user1" -u "user2"
hg log -u "user3"
exit 0