tests/test-inotify-dirty-dirstate.t
author Matt Mackall <mpm@selenic.com>
Tue, 22 Nov 2011 17:26:32 -0600
branchstable
changeset 15551 1fa41d1f1351
parent 13956 ffb5c09ba822
child 16913 f2719b387380
permissions -rw-r--r--
posix: add extended support for OS X path folding OS X does the following transformation on paths for comparisons: a) 8-bit strings are decoded as UTF-8 to UTF-16 b) undecodable bytes are percent-escaped c) accented characters are converted to NFD decomposed form, approximately d) characters are converted to _lowercase_ using internal tables Both (c) and (d) are done using internal tables that vary from release to release and match Unicode specs to greater or lesser extent. We approximate these functions using Python's internal Unicode data. With this change, Mercurial will (in almost all cases) match OS X folding and not report unknown file aliases for files in UTF-8 or other encodings.

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