annotate tests/test-bookmarks-strip.t @ 42753:fce6dc93a510

rust-dirstate: rust implementation of dirstatemap The `dirstatemap` is one of the last building blocks needed to get to a `dirstate.walk` Rust implementation. Disclaimer: This change is part of a big (10) series of patches, all of which started as one big changeset that took a long time to write. This `dirstatemap` implementation is a compromise in terms of complexity both for me and for the reviewers. I chose to submit this patch right now because while it is not perfect, it works and is simple enough (IMHO) to be reviewed. The Python implementation uses a lot of lazy propertycaches, breaks encapsulation and is used as an iterator in a lot of places, all of which dictated the somewhat unidiomatic patterns in this change. Like written in the comments, rewriting this struct to use the typestate pattern might be a good idea, but this is a good first step. Differential Revision: https://phab.mercurial-scm.org/D6632
author Raphaël Gomès <rgomes@octobus.net>
date Wed, 10 Jul 2019 09:56:23 +0200
parents e78a80f8f51e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
1 $ echo "[extensions]" >> $HGRCPATH
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
2 $ echo "mq=" >> $HGRCPATH
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
3
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
4 $ hg init
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
5
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
6 $ echo qqq>qqq.txt
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
7
13307
7f2b8aac7bdc bookmarks: respect rollbacks dryrun parameter
David Soria Parra <dsp@php.net>
parents: 12640
diff changeset
8 rollback dry run without rollback information
7f2b8aac7bdc bookmarks: respect rollbacks dryrun parameter
David Soria Parra <dsp@php.net>
parents: 12640
diff changeset
9
7f2b8aac7bdc bookmarks: respect rollbacks dryrun parameter
David Soria Parra <dsp@php.net>
parents: 12640
diff changeset
10 $ hg rollback
7f2b8aac7bdc bookmarks: respect rollbacks dryrun parameter
David Soria Parra <dsp@php.net>
parents: 12640
diff changeset
11 no rollback information available
7f2b8aac7bdc bookmarks: respect rollbacks dryrun parameter
David Soria Parra <dsp@php.net>
parents: 12640
diff changeset
12 [1]
7f2b8aac7bdc bookmarks: respect rollbacks dryrun parameter
David Soria Parra <dsp@php.net>
parents: 12640
diff changeset
13
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
14 add file
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
15
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
16 $ hg add
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
17 adding qqq.txt
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
18
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
19 commit first revision
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
20
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11907
diff changeset
21 $ hg ci -m 1
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
22
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
23 set bookmark
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
24
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
25 $ hg book test
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
26
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
27 $ echo www>>qqq.txt
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
28
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
29 commit second revision
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
30
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11907
diff changeset
31 $ hg ci -m 2
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
32
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
33 set bookmark
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
34
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
35 $ hg book test2
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
36
17497
b682997d6944 spelling: deactivates
timeless@mozdev.org
parents: 17264
diff changeset
37 update to -2 (deactivates the active bookmark)
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
38
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
39 $ hg update -r -2
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
40 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21404
ca275f7ec576 update: when deactivating a bookmark, print a message
Siddharth Agarwal <sid0@fb.com>
parents: 17497
diff changeset
41 (leaving bookmark test2)
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
42
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
43 $ echo eee>>qqq.txt
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
44
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
45 commit new head
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
46
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11907
diff changeset
47 $ hg ci -m 3
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
48 created new head
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
49
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
50 bookmarks updated?
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
51
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
52 $ hg book
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11907
diff changeset
53 test 1:25e1ee7a0081
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11907
diff changeset
54 test2 1:25e1ee7a0081
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
55
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
56 strip to revision 1
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
57
11907
863567a1364f tests: use regular expressions instead of helpers
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11864
diff changeset
58 $ hg strip 1
12640
6cc4b14fb76b tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents: 12394
diff changeset
59 saved backup bundle to $TESTTMP/.hg/strip-backup/*-backup.hg (glob)
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
60
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
61 list bookmarks
7316
9737041646bc bookmarks: Use dirstate to determine the current node in addchangegroup
David Soria Parra <dsp@php.net>
parents:
diff changeset
62
11864
b2a06ef53b7b tests: unify test-bookmarks-strip
Martin Geisler <mg@lazybytes.net>
parents: 11208
diff changeset
63 $ hg book
17264
ec7b9bec19c9 strip: move bookmarks to nearest ancestor rather than '.'
Augie Fackler <raf@durin42.com>
parents: 16191
diff changeset
64 test 0:5c9ad3787638
ec7b9bec19c9 strip: move bookmarks to nearest ancestor rather than '.'
Augie Fackler <raf@durin42.com>
parents: 16191
diff changeset
65 test2 0:5c9ad3787638