tests/test-status-committed-and-ignored.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Mon, 25 Mar 2024 02:09:15 +0100
branchstable
changeset 51517 4ee50d98d35c
parent 50329 edcc35a4f1dc
permissions -rw-r--r--
phases: update the phase set as we go during retract boundary Apparently iterating over the `changed_revs` dictionary is very expensive. On mozilla-try-2019-02-18, a perf::unbundle call with a 10 000 changesets bundle gives give use the following timing. e57d4b868a3e: 4.6 seconds ac1c75188440: 102.5 seconds prev-changeset: 30.0 seconds this-changeset: 4.6 seconds So, the performance regression is gone. Once again: thanks to marvelous Python!
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50328
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     1
#testcases dirstate-v1 dirstate-v2
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     2
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     3
#if dirstate-v2
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     4
  $ cat >> $HGRCPATH << EOF
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     5
  > [format]
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     6
  > use-dirstate-v2=1
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     7
  > [storage]
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     8
  > dirstate-v2.slow-path=allow
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     9
  > EOF
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    10
#endif
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    11
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    12
  $ rm -rf r
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    13
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    14
  $ hg init r
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    15
  $ cd r
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    16
  $ mkdir d1
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    17
  $ mkdir d2
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    18
  $ touch d1/f d2/f
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    19
  $ hg commit -Am '.'
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    20
  adding d1/f
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    21
  adding d2/f
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    22
  $ echo 'syntax:re' >> .hgignore
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    23
  $ echo '^d1$' >> .hgignore
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    24
  $ hg commit -Am "ignore d1"
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    25
  adding .hgignore
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    26
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    27
Now d1 is a directory that's both committed and ignored.
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    28
Untracked files in d2 are still shown, but ones in d1 are ignored:
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    29
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    30
  $ touch d1/g
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    31
  $ touch d2/g
97a6d6bdbc08 tests: demonstrate a bug with committed&ignored dirs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    32
  $ RAYON_NUM_THREADS=1 hg status
50329
edcc35a4f1dc dirstate: fix the bug in [status] dealing with committed&ignored directories
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50328
diff changeset
    33
  ? d2/g