Mercurial > hg
view tests/test-inotify-issue1542.t @ 18626:b114e41c4df3
addremove: don't audit the path for paths already in the dirstate
Now that dirstate.walk returns None for paths under symlink directories,
addremove doesn't need to validate each path it sees to look for files
under symlinks.
On a large repository this brings addremove from 6.3 seconds down to 3.65 (42%)
since addremove no longer has to stat every directory of every file to determine
if the file is inside a symlink directory. I put it through our benchmark and
see no perf hit to any other commands.
author | Durham Goode <durham@fb.com> |
---|---|
date | Tue, 05 Feb 2013 14:36:19 -0800 |
parents | f7c4eb60b0c3 |
children |
line wrap: on
line source
$ "$TESTDIR/hghave" inotify || exit 80 $ hg init $ touch a $ mkdir dir $ touch dir/b $ touch dir/c $ echo "[extensions]" >> $HGRCPATH $ echo "inotify=" >> $HGRCPATH $ hg add dir/c inserve $ hg inserve -d --pid-file=hg.pid 2>&1 $ cat hg.pid >> "$DAEMON_PIDS" $ hg st A dir/c ? a ? dir/b ? hg.pid moving dir out $ mv dir ../tmp-test-inotify-issue1542 status $ hg st ! dir/c ? a ? hg.pid $ sleep 1 Are we able to kill the service? if not, the service died on some error $ "$TESTDIR/killdaemons.py" hg.pid