tests/test-inotify-issue1556.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Sat, 31 Mar 2012 00:04:08 +0900
branchstable
changeset 16313 e785456f9631
parent 12456 1f74b0d0f485
child 18593 895d65364570
permissions -rw-r--r--
dirstate: avoid normalizing letter case on icasefs for exact match (issue3340) on icasefs, "hg qnew" fails to import changing letter case of filename already occurred in working directory, for example: $ hg rename a tmp $ hg rename tmp A $ hg qnew casechange $ hg status R a $ "hg qnew" invokes 'dirstate.walk()' via 'localrepository.commit()' with 'exact match' matching object having exact filenames of targets in ones 'files()'. current implementation of 'dirstate.walk()' always normalizes letter case of filenames from 'match.files()' on icasefs, even though exact matching is required. then, files only different in letter case are treated as one file. this patch prevents 'dirstate.walk()' from normalizing, if exact matching is required, even on icasefs. filenames for 'exact matching' are given not from user command line, but from dirstate walk result, manifest of changecontext, patch files or fixed list for specific system files (e.g.: '.hgtags'). in such case, case normalization should not be done, so this patch works well.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8601
021de2d12355 inotify: adding test for issue1556
Dmitriy Kostunin <dmitriy.kostunin@gmail.com>
parents:
diff changeset
     1
12456
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
     2
  $ "$TESTDIR/hghave" inotify || exit 80
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
     3
  $ hg init
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
     4
  $ touch a b
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
     5
  $ hg add a b
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
     6
  $ rm b
8601
021de2d12355 inotify: adding test for issue1556
Dmitriy Kostunin <dmitriy.kostunin@gmail.com>
parents:
diff changeset
     7
12456
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
     8
status without inotify
8601
021de2d12355 inotify: adding test for issue1556
Dmitriy Kostunin <dmitriy.kostunin@gmail.com>
parents:
diff changeset
     9
12456
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    10
  $ hg st
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    11
  A a
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    12
  ! b
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    13
  $ echo "[extensions]" >> $HGRCPATH
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    14
  $ echo "inotify=" >> $HGRCPATH
8601
021de2d12355 inotify: adding test for issue1556
Dmitriy Kostunin <dmitriy.kostunin@gmail.com>
parents:
diff changeset
    15
12456
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    16
inserve
8601
021de2d12355 inotify: adding test for issue1556
Dmitriy Kostunin <dmitriy.kostunin@gmail.com>
parents:
diff changeset
    17
12456
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    18
  $ hg inserve -d --pid-file=hg.pid 2>&1
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    19
  $ cat hg.pid >> "$DAEMON_PIDS"
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    20
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    21
status
8601
021de2d12355 inotify: adding test for issue1556
Dmitriy Kostunin <dmitriy.kostunin@gmail.com>
parents:
diff changeset
    22
12456
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    23
  $ hg st
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    24
  A a
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    25
  ! b
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    26
  ? hg.pid
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    27
  $ sleep 1
8601
021de2d12355 inotify: adding test for issue1556
Dmitriy Kostunin <dmitriy.kostunin@gmail.com>
parents:
diff changeset
    28
12456
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    29
Are we able to kill the service? if not, the service died on some error
8601
021de2d12355 inotify: adding test for issue1556
Dmitriy Kostunin <dmitriy.kostunin@gmail.com>
parents:
diff changeset
    30
12456
1f74b0d0f485 tests: unify test-inotify-issue1556
Matt Mackall <mpm@selenic.com>
parents: 8601
diff changeset
    31
  $ kill `cat hg.pid`