Mercurial > hg
annotate tests/test-revset-outgoing.t @ 24213:e0c1328df872
workingctx: use normal dirs() instead of dirstate.dirs()
The workingctx class was using dirstate.dirs() as it's implementation. The
sparse extension maintains a pruned down version of the dirstate, so this
resulted in the workingctx reporting an incorrect listing of directories
during merge calculations (it was detecting directory renames when it
shouldn't have).
The fix is to use the default implementation, which uses workingctx._manifest,
which unions the manifest with the dirstate to produce the correct overall
picture. This also produces more accurate output since it will no longer
return directories that have been entirely deleted in the dirstate.
Tests will be added to the sparse extension to detect regressions for this.
author | Durham Goode <durham@fb.com> |
---|---|
date | Thu, 05 Mar 2015 22:16:28 -0800 |
parents | f41dd17ae6b7 |
children | 3d2ea1403c62 |
rev | line source |
---|---|
12614
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
1 $ cat >> $HGRCPATH <<EOF |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
2 > [alias] |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
3 > tlog = log --template "{rev}:{node|short}: '{desc}' {branches}\n" |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
4 > tglog = tlog -G |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
5 > tout = out --template "{rev}:{node|short}: '{desc}' {branches}\n" |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
6 > EOF |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
7 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
8 $ hg init a |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
9 $ cd a |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
10 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
11 $ echo a > a |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
12 $ hg ci -Aqm0 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
13 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
14 $ echo foo >> a |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
15 $ hg ci -Aqm1 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
16 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
17 $ hg up -q 0 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
18 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
19 $ hg branch stable |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
20 marked working directory as branch stable |
15615 | 21 (branches are permanent and global, did you want a bookmark?) |
12614
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
22 $ echo bar >> a |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
23 $ hg ci -qm2 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
24 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
25 $ hg tglog |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
26 @ 2:7bee6c3bea3a: '2' stable |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
27 | |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
28 | o 1:3560197d8331: '1' |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
29 |/ |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
30 o 0:f7b1eb17ad24: '0' |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
31 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
32 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
33 $ cd .. |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
34 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
35 $ hg clone -q a#stable b |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
36 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
37 $ cd b |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
38 $ cat .hg/hgrc |
22837
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
39 # example repository config (see "hg help config" for more info) |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
40 [paths] |
23057
f41dd17ae6b7
tests: add "(glob)" to paths in test-revset-outgoing.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22837
diff
changeset
|
41 default = $TESTTMP/a#stable (glob) |
22837
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
42 |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
43 # path aliases to other clones of this repo in URLs or filesystem paths |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
44 # (see "hg help config.paths" for more info) |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
45 # |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
46 # default-push = ssh://jdoe@example.net/hg/jdoes-fork |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
47 # my-fork = ssh://jdoe@example.net/hg/jdoes-fork |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
48 # my-clone = /home/jdoe/jdoes-clone |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
49 |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
50 [ui] |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
51 # name and email (local to this repository, optional), e.g. |
22380
82b2ba904e3e
clone: provide sample username = config entry in .hg/hgrc (issue4359)
Augie Fackler <raf@durin42.com>
parents:
20117
diff
changeset
|
52 # username = Jane Doe <jdoe@example.com> |
12614
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
53 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
54 $ echo red >> a |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
55 $ hg ci -qm3 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
56 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
57 $ hg up -q default |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
58 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
59 $ echo blue >> a |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
60 $ hg ci -qm4 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
61 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
62 $ hg tglog |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
63 @ 3:f0461977a3db: '4' |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
64 | |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
65 | o 2:1d4099801a4e: '3' stable |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
66 | | |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
67 | o 1:7bee6c3bea3a: '2' stable |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
68 |/ |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
69 o 0:f7b1eb17ad24: '0' |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
70 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
71 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
72 $ hg tout |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13572
diff
changeset
|
73 comparing with $TESTTMP/a (glob) |
12614
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
74 searching for changes |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
75 2:1d4099801a4e: '3' stable |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
76 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
77 $ hg tlog -r 'outgoing()' |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
78 2:1d4099801a4e: '3' stable |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
79 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
80 $ hg tout ../a#default |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
81 comparing with ../a |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
82 searching for changes |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
83 3:f0461977a3db: '4' |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
84 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
85 $ hg tlog -r 'outgoing("../a#default")' |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
86 3:f0461977a3db: '4' |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
87 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
88 $ echo "green = ../a#default" >> .hg/hgrc |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
89 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
90 $ cat .hg/hgrc |
22837
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
91 # example repository config (see "hg help config" for more info) |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
92 [paths] |
23057
f41dd17ae6b7
tests: add "(glob)" to paths in test-revset-outgoing.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22837
diff
changeset
|
93 default = $TESTTMP/a#stable (glob) |
22837
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
94 |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
95 # path aliases to other clones of this repo in URLs or filesystem paths |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
96 # (see "hg help config.paths" for more info) |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
97 # |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
98 # default-push = ssh://jdoe@example.net/hg/jdoes-fork |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
99 # my-fork = ssh://jdoe@example.net/hg/jdoes-fork |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
100 # my-clone = /home/jdoe/jdoes-clone |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
101 |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
102 [ui] |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
103 # name and email (local to this repository, optional), e.g. |
22380
82b2ba904e3e
clone: provide sample username = config entry in .hg/hgrc (issue4359)
Augie Fackler <raf@durin42.com>
parents:
20117
diff
changeset
|
104 # username = Jane Doe <jdoe@example.com> |
12614
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
105 green = ../a#default |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
106 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
107 $ hg tout green |
22837
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
108 comparing with green |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
109 abort: repository green not found! |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
110 [255] |
12614
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
111 |
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
112 $ hg tlog -r 'outgoing("green")' |
22837
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
113 abort: repository green not found! |
2be7d5ebd4d0
config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22380
diff
changeset
|
114 [255] |
12614
f314723f36f5
revset: fix #branch in urls for outgoing()
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
115 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15623
diff
changeset
|
116 $ cd .. |