Mercurial > hg
annotate tests/test-update-issue1456.t @ 47072:4c041c71ec01
revlog: introduce an explicit tracking of what the revlog is about
Since the dawn of time, people have been forced to rely to lossy introspection
of the index filename to determine what the purpose and role of the revlog they
encounter is. This is hacky, error prone, inflexible, abstraction-leaky,
<insert-your-own-complaints-here>.
In f63299ee7e4d Raphaël introduced a new attribute to track this information:
`revlog_kind`. However it is initialized in an odd place and various instances
end up not having it set. In addition is only tracking some of the information
we end up having to introspect in various pieces of code.
So we add a new attribute that holds more data and is more strictly enforced.
This work is done in collaboration with Raphaël.
The `revlog_kind` one will be removed/adapted in the next changeset. We expect
to be able to clean up various existing piece of code and to simplify coming
work around the newer revlog format.
Differential Revision: https://phab.mercurial-scm.org/D10352
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 06 Apr 2021 05:20:24 +0200 |
parents | 527ce85c2e60 |
children |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
19801
diff
changeset
|
1 #require execbit |
15442
db0340f4b507
tests: use 'hghave execbit' for tests that manipulate x bit in file system
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
2 |
12279 | 3 $ rm -rf a |
4 $ hg init a | |
5 $ cd a | |
7569
89207edf3973
correctly update dirstate after update+mode change (issue1456)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
6 |
12279 | 7 $ echo foo > foo |
8 $ hg ci -qAm0 | |
18895
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
9 $ echo toremove > toremove |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
10 $ echo todelete > todelete |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
11 $ chmod +x foo toremove todelete |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
12 $ hg ci -qAm1 |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
13 |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
14 Test that local removed/deleted, remote removed works with flags |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
15 $ hg rm toremove |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
16 $ rm todelete |
12279 | 17 $ hg co -q 0 |
18895
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
18 |
12279 | 19 $ echo dirty > foo |
20 $ hg up -c | |
19801
41abe2e3e3b7
update: standardize error message for dirty update --check
Siddharth Agarwal <sid0@fb.com>
parents:
18895
diff
changeset
|
21 abort: uncommitted changes |
45840
527ce85c2e60
errors: introduce StateError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents:
22046
diff
changeset
|
22 [20] |
12279 | 23 $ hg up -q |
24 $ cat foo | |
25 dirty | |
26 $ hg st -A | |
27 M foo | |
18895
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
28 C todelete |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
29 C toremove |
7569
89207edf3973
correctly update dirstate after update+mode change (issue1456)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
30 |
12279 | 31 Validate update of standalone execute bit change: |
32 | |
33 $ hg up -C 0 | |
18895
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
34 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
12279 | 35 $ chmod -x foo |
36 $ hg ci -m removeexec | |
37 nothing changed | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
38 [1] |
12279 | 39 $ hg up -C 0 |
40 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
41 $ hg up | |
18895
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
42 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
12279 | 43 $ hg st |
44 | |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15442
diff
changeset
|
45 $ cd .. |