tests/test-inotify-issue1208.t
author smuralid
Thu, 13 Sep 2012 23:50:45 -0700
changeset 17746 6d218e47cf9b
parent 16913 f2719b387380
child 18096 cd53e40ab0e2
permissions -rw-r--r--
log: speed up hg log for untracked files (issue1340) 'hg log' on untracked files tends to be fairly slow. The root cause is that we end up using the 'slowpath' when we can't find a revlog for the files listed. This could happen if the file in question is an untracked file, or it is a directory. This diff tries to speed up 'hg log' (by avoiding the slowpath) for files if we can determine if that file is not (and was never) a directory. We use the previously added store.__contains__ methods to test if the directory exists (or existed) in the store. To avoid changing any existing semantics, this 'optimization' kicks in only when none of the files listed as arguments to the hg log command exist in the store.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6996
fecf060f32a1 inotify: deactivate inotify status on failure
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
     1
12453
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
     2
  $ "$TESTDIR/hghave" inotify || exit 80
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
     3
  $ echo "[extensions]" >> $HGRCPATH
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
     4
  $ echo "inotify=" >> $HGRCPATH
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
     5
  $ p="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
     6
  $ hg init $p
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
     7
  $ cd $p
6996
fecf060f32a1 inotify: deactivate inotify status on failure
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
     8
12453
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
     9
fail
6996
fecf060f32a1 inotify: deactivate inotify status on failure
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
    10
12453
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    11
  $ ln -sf doesnotexist .hg/inotify.sock
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    12
  $ hg st
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    13
  abort: inotify-server: cannot start: .hg/inotify.sock is a broken symlink
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    14
  inotify-client: could not start inotify server: child process failed to start
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    15
  $ hg inserve
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    16
  abort: inotify-server: cannot start: .hg/inotify.sock is a broken symlink
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    17
  [255]
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    18
  $ rm .hg/inotify.sock
6997
9c4e488f105e inotify: workaround ENAMETOOLONG by using symlinks
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 6996
diff changeset
    19
12453
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    20
inserve
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    21
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    22
  $ hg inserve -d --pid-file=hg.pid
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    23
  $ cat hg.pid >> "$DAEMON_PIDS"
6997
9c4e488f105e inotify: workaround ENAMETOOLONG by using symlinks
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 6996
diff changeset
    24
12453
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    25
status
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    26
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    27
  $ hg status
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    28
  ? hg.pid
12650
fed4bb2c8def inotify: raise correct error if server is already started in a deep repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12453
diff changeset
    29
fed4bb2c8def inotify: raise correct error if server is already started in a deep repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12453
diff changeset
    30
if we try to start twice the server, make sure we get a correct error
fed4bb2c8def inotify: raise correct error if server is already started in a deep repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12453
diff changeset
    31
fed4bb2c8def inotify: raise correct error if server is already started in a deep repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12453
diff changeset
    32
  $ hg inserve -d --pid-file=hg2.pid
fed4bb2c8def inotify: raise correct error if server is already started in a deep repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12453
diff changeset
    33
  abort: inotify-server: cannot start: socket is already bound
fed4bb2c8def inotify: raise correct error if server is already started in a deep repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12453
diff changeset
    34
  abort: child process failed to start
fed4bb2c8def inotify: raise correct error if server is already started in a deep repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12453
diff changeset
    35
  [255]
12453
b98d931482e6 tests: unify test-inotify-issue1208
Matt Mackall <mpm@selenic.com>
parents: 6997
diff changeset
    36
  $ kill `cat hg.pid`
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12650
diff changeset
    37
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12650
diff changeset
    38
  $ cd ..