Mercurial > hg
annotate tests/test-update-issue1456.t @ 40417:49c7b701fdc2 stable
phase: add an archived phase
This phase allows for hidden changesets in the "user space". It differs from
the "internal" phase which is intended for internal by-product only. There
have been discussions at the 4.8 sprint to use such phase to speedup cleanup
after history rewriting operation.
Shipping it in the same release as the 'internal-phase' groups the associated
`requires` entry. The important bit is to have support for this phase in the
earliest version of mercurial possible. Adding the UI to manipulate this new
phase later seems fine.
The current plan for archived usage and user interface are as follow. On a
repository with internal-phase on and evolution off:
* history rewriting command set rewritten changeset in the archived phase.
(This mean updating the cleanupnodes method).
* keep `hg unbundle .hg/strip-backup/X.hg` as a way to restore changeset for
now
(backup bundle need to contains phase data)
* [maybe] add a `hg strip --soft` advance flag
(a light way to expose the feature without getting in the way of a better
UI)
Mercurial 4.8 freeze is too close to get the above in by then.
We don't introduce a new repository `requirement` as we reuse the one
introduced with the 'archived' phase during the 4.8 cycle.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Wed, 17 Oct 2018 14:47:01 +0200 |
parents | 7a9cbb315d84 |
children | 527ce85c2e60 |
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 |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
22 [255] |
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 .. |