tests/test-status-committed-and-ignored.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 07 Mar 2024 04:15:23 +0100
changeset 51536 718f28ea3af4
parent 50329 edcc35a4f1dc
permissions -rw-r--r--
branchcache: add a "pure topological head" fast path In a narrow but actually quick common case, all topological heads are all on the same branch and all open. In this case, computing the branch map is very simple. We can quickly detect situation where this situation will not change. So we update the V3 format to be able to express this situation and upgrade the update code to detect we remains in that mode. The branch cache is populated with the actual value when the branch map is accessed, but the update_disk method can do the update without needing to populate it.
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