Mercurial > hg
view tests/test-symlinks @ 11324:cdf6d861b207
ui: add ui.formatted configuration variable and accessor function.
This new configuration variable is similar in nature `ui.interactive',
but applying to output instead of input. This allows as to support
non-interactive sessions where formatted should be enabled, such as
when using the pager extension.
The variable itself is left undocumented; it is not intended for use
outside Mercurial and its extensions.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Mon, 07 Jun 2010 14:59:52 +0200 |
parents | c52057614c72 |
children |
line wrap: on
line source
#!/bin/sh #Test bug regarding symlinks that showed up in hg 0.7 #Author: Matthew Elder <sseses@gmail.com> "$TESTDIR/hghave" symlink || exit 80 #make and initialize repo hg init test; cd test; #make a file and a symlink touch foo; ln -s foo bar; #import with addremove -- symlink walking should _not_ screwup. hg addremove #commit -- the symlink should _not_ appear added to dir state hg commit -m 'initial' #add a new file so hg will let me commit again touch bomb #again, symlink should _not_ show up on dir state hg addremove #Assert screamed here before, should go by without consequence hg commit -m 'is there a bug?' cd .. ; rm -r test hg init test; cd test; mkdir dir touch a.c dir/a.o dir/b.o # test what happens if we want to trick hg hg commit -A -m 0 echo "relglob:*.o" > .hgignore rm a.c rm dir/a.o rm dir/b.o mkdir dir/a.o ln -s nonexist dir/b.o mkfifo a.c # it should show a.c, dir/a.o and dir/b.o deleted hg status hg status a.c echo '# test absolute path through symlink outside repo' cd .. p=`pwd` hg init x ln -s x y cd x touch f hg add f hg status "$p"/y/f echo '# try symlink outside repo to file inside' ln -s x/f ../z # this should fail hg status ../z && { echo hg mistakenly exited with status 0; exit 1; } || : cd .. ; rm -r test hg init test; cd test; echo '# try cloning symlink in a subdir' echo '1. commit a symlink' mkdir -p a/b/c cd a/b/c ln -s /path/to/symlink/source demo cd ../../.. hg stat hg commit -A -m 'add symlink in a/b/c subdir' echo '2. clone it' cd .. hg clone test testclone echo '# git symlink diff' cd testclone hg diff --git -r null:tip hg export --git tip > ../sl.diff echo '# import git symlink diff' hg rm a/b/c/demo hg commit -m'remove link' hg import ../sl.diff hg diff --git -r 1:tip