tests/test-inotify-dirty-dirstate.t
author Siddharth Agarwal <sid0@fb.com>
Thu, 13 Feb 2014 14:04:47 -0800
changeset 20499 2efd608473fb
parent 16913 f2719b387380
permissions -rw-r--r--
revset: optimize missing ancestor expressions A missing ancestor expression is any expression of the form (::x - ::y) or equivalent. Such expressions are remarkably common, and so far have involved multiple walks down the DAG, followed by a set difference operation. With this patch, such expressions will be transformed into uses of the fast algorithm at ancestor.missingancestor. For a repository with over 600,000 revisions, perfrevset for '::tip - ::-10000' returns: Before: ! wall 3.999575 comb 4.000000 user 3.910000 sys 0.090000 (best of 3) After: ! wall 0.132423 comb 0.130000 user 0.130000 sys 0.000000 (best of 75)

issues when status queries are issued when dirstate is dirty

  $ "$TESTDIR/hghave" inotify || exit 80
  $ echo "[extensions]" >> $HGRCPATH
  $ echo "inotify=" >> $HGRCPATH
  $ echo "fetch=" >> $HGRCPATH

issue1810: inotify and fetch

  $ hg init test; cd test
  $ hg inserve -d --pid-file=../hg.pid
  $ cat ../hg.pid >> "$DAEMON_PIDS"
  $ echo foo > foo
  $ hg add
  adding foo
  $ hg ci -m foo
  $ cd ..
  $ hg --config "inotify.pidfile=../hg2.pid" clone test test2
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cat ../hg2.pid >> "$DAEMON_PIDS"
  $ cd test2
  $ echo bar > bar
  $ hg add
  adding bar
  $ hg ci -m bar
  $ cd ../test
  $ echo spam > spam
  $ hg add
  adding spam
  $ hg ci -m spam
  $ cd ../test2
  $ hg st

abort, outstanding changes

  $ hg fetch -q
  $ hg st
  $ cd ..

issue1719: inotify and mq

  $ echo "mq=" >> $HGRCPATH
  $ hg init test-1719
  $ cd test-1719

inserve

  $ hg inserve -d --pid-file=../hg-test-1719.pid
  $ cat ../hg-test-1719.pid >> "$DAEMON_PIDS"
  $ echo content > file
  $ hg add file
  $ hg qnew -f test.patch
  $ hg status
  $ hg qpop
  popping test.patch
  patch queue now empty

st should not output anything

  $ hg status
  $ hg qpush
  applying test.patch
  now at: test.patch

st should not output anything

  $ hg status
  $ hg qrefresh
  $ hg status

  $ cd ..