Mercurial > hg
annotate tests/test-walkrepo.py @ 28573:6a42564081cb
shelve: adds restoring newly created branch (issue5048) (BC)
Before this patch shelve never preserved branch information,
so after applying unshelve branch was the same as it was
on working copy no matter in which branch shelve took place.
This patch makes bare shelving(with no files specified, without
interactive,include and exclude option) remembers information if
the working directory was on newly created branch ,in other words
working directory was on different branch than its first parent.
In this situation unshelving restores branch information to the working
directory.
author | liscju <piotr.listkiewicz@gmail.com> |
---|---|
date | Wed, 10 Feb 2016 02:23:27 +0100 |
parents | a8b2bf520a2a |
children | a4803f35efba |
rev | line source |
---|---|
27300
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
1 from __future__ import absolute_import |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
2 |
6341
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
3 import os |
27300
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
4 |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
5 from mercurial import ( |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
6 hg, |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
7 scmutil, |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
8 ui, |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
9 util, |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
10 ) |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
11 |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
12 chdir = os.chdir |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
13 mkdir = os.mkdir |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
14 pjoin = os.path.join |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
15 |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
16 walkrepos = scmutil.walkrepos |
a8b2bf520a2a
tests: use absolute_import in test-walkrepo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23532
diff
changeset
|
17 checklink = util.checklink |
6341
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
18 |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
19 u = ui.ui() |
16321
e1615a24b73a
tests: make test-walkrepo use hg's symlink test
Matt Mackall <mpm@selenic.com>
parents:
14971
diff
changeset
|
20 sym = checklink('.') |
6341
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
21 |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
22 hg.repository(u, 'top1', create=1) |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
23 mkdir('subdir') |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
24 chdir('subdir') |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
25 hg.repository(u, 'sub1', create=1) |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
26 mkdir('subsubdir') |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
27 chdir('subsubdir') |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
28 hg.repository(u, 'subsub1', create=1) |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
29 chdir(os.path.pardir) |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
30 if sym: |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
31 os.symlink(os.path.pardir, 'circle') |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
32 os.symlink(pjoin('subsubdir', 'subsub1'), 'subsub1') |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
33 |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
34 def runtest(): |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
35 reposet = frozenset(walkrepos('.', followsym=True)) |
7494
85dc88630beb
util: disable walkrepo() recursive behaviour
Patrick Mezard <pmezard@gmail.com>
parents:
7201
diff
changeset
|
36 if sym and (len(reposet) != 3): |
6341
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
37 print "reposet = %r" % (reposet,) |
16683 | 38 print ("Found %d repositories when I should have found 3" |
39 % (len(reposet),)) | |
7494
85dc88630beb
util: disable walkrepo() recursive behaviour
Patrick Mezard <pmezard@gmail.com>
parents:
7201
diff
changeset
|
40 if (not sym) and (len(reposet) != 2): |
6341
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
41 print "reposet = %r" % (reposet,) |
16683 | 42 print ("Found %d repositories when I should have found 2" |
43 % (len(reposet),)) | |
6341
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
44 sub1set = frozenset((pjoin('.', 'sub1'), |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
45 pjoin('.', 'circle', 'subdir', 'sub1'))) |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
46 if len(sub1set & reposet) != 1: |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
47 print "sub1set = %r" % (sub1set,) |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
48 print "reposet = %r" % (reposet,) |
7492
8649b2a3de75
tests: test-walkrepo shouldn't throw SystemExit
Benoit Allard <benoit@aeteurope.nl>
parents:
7201
diff
changeset
|
49 print "sub1set and reposet should have exactly one path in common." |
6341
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
50 sub2set = frozenset((pjoin('.', 'subsub1'), |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
51 pjoin('.', 'subsubdir', 'subsub1'))) |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
52 if len(sub2set & reposet) != 1: |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
53 print "sub2set = %r" % (sub2set,) |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
54 print "reposet = %r" % (reposet,) |
23532
fad896292e7d
tests: fix a typo in test-walkrepos.py
Enrique A. Tobis <enrique@tobis.com.ar>
parents:
16686
diff
changeset
|
55 print "sub2set and reposet should have exactly one path in common." |
6341
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
56 sub3 = pjoin('.', 'circle', 'top1') |
16686
67964cda8701
cleanup: "not x in y" -> "x not in y"
Brodie Rao <brodie@sf.io>
parents:
16683
diff
changeset
|
57 if sym and sub3 not in reposet: |
6341
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
58 print "reposet = %r" % (reposet,) |
7492
8649b2a3de75
tests: test-walkrepo shouldn't throw SystemExit
Benoit Allard <benoit@aeteurope.nl>
parents:
7201
diff
changeset
|
59 print "Symbolic links are supported and %s is not in reposet" % (sub3,) |
6341
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
60 |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
61 runtest() |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
62 if sym: |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
63 # Simulate not having symlinks. |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
64 del os.path.samestat |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
65 sym = False |
63bdfcc3eaaf
test: Add tests for webdir symlinks and walkrepos.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
66 runtest() |