mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
Add some basic tests of branching.
This commit is contained in:
parent
e199e56609
commit
5bcc1b653d
152
tests/fixtures/simple_branch.svndump
vendored
Normal file
152
tests/fixtures/simple_branch.svndump
vendored
Normal file
@ -0,0 +1,152 @@
|
||||
SVN-fs-dump-format-version: 2
|
||||
|
||||
UUID: df2126f7-00ab-4d49-b42c-7e981dde0bcf
|
||||
|
||||
Revision-number: 0
|
||||
Prop-content-length: 56
|
||||
Content-length: 56
|
||||
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-07T22:49:12.059692Z
|
||||
PROPS-END
|
||||
|
||||
Revision-number: 1
|
||||
Prop-content-length: 111
|
||||
Content-length: 111
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 11
|
||||
Empty dirs.
|
||||
K 10
|
||||
svn:author
|
||||
V 5
|
||||
durin
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-07T22:49:41.118037Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: branches
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Node-path: tags
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Node-path: trunk
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Revision-number: 2
|
||||
Prop-content-length: 108
|
||||
Content-length: 108
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 9
|
||||
Add alpha
|
||||
K 10
|
||||
svn:author
|
||||
V 5
|
||||
durin
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-07T23:23:02.991743Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: trunk/alpha
|
||||
Node-kind: file
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Text-content-length: 12
|
||||
Text-content-md5: 3c72ebf8bbd7fa88b1fdcee5398b5a17
|
||||
Content-length: 22
|
||||
|
||||
PROPS-END
|
||||
file: alpha
|
||||
|
||||
|
||||
Revision-number: 3
|
||||
Prop-content-length: 107
|
||||
Content-length: 107
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 8
|
||||
Add beta
|
||||
K 10
|
||||
svn:author
|
||||
V 5
|
||||
durin
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-07T23:28:22.651398Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: trunk/beta
|
||||
Node-kind: file
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Text-content-length: 13
|
||||
Text-content-md5: 981d1eb5fd0bbe05354c292105944863
|
||||
Content-length: 23
|
||||
|
||||
PROPS-END
|
||||
Data of beta
|
||||
|
||||
|
||||
Revision-number: 4
|
||||
Prop-content-length: 113
|
||||
Content-length: 113
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 13
|
||||
Make a branch
|
||||
K 10
|
||||
svn:author
|
||||
V 5
|
||||
durin
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-08T01:35:39.984789Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: branches/the_branch
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Node-copyfrom-rev: 3
|
||||
Node-copyfrom-path: trunk
|
||||
Prop-content-length: 34
|
||||
Content-length: 34
|
||||
|
||||
K 13
|
||||
svn:mergeinfo
|
||||
V 0
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
212
tests/fixtures/two_heads.svndump
vendored
Normal file
212
tests/fixtures/two_heads.svndump
vendored
Normal file
@ -0,0 +1,212 @@
|
||||
SVN-fs-dump-format-version: 2
|
||||
|
||||
UUID: df2126f7-00ab-4d49-b42c-7e981dde0bcf
|
||||
|
||||
Revision-number: 0
|
||||
Prop-content-length: 56
|
||||
Content-length: 56
|
||||
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-07T22:49:12.059692Z
|
||||
PROPS-END
|
||||
|
||||
Revision-number: 1
|
||||
Prop-content-length: 111
|
||||
Content-length: 111
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 11
|
||||
Empty dirs.
|
||||
K 10
|
||||
svn:author
|
||||
V 5
|
||||
durin
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-07T22:49:41.118037Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: branches
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Node-path: tags
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Node-path: trunk
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Revision-number: 2
|
||||
Prop-content-length: 108
|
||||
Content-length: 108
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 9
|
||||
Add alpha
|
||||
K 10
|
||||
svn:author
|
||||
V 5
|
||||
durin
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-07T23:23:02.991743Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: trunk/alpha
|
||||
Node-kind: file
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Text-content-length: 12
|
||||
Text-content-md5: 3c72ebf8bbd7fa88b1fdcee5398b5a17
|
||||
Content-length: 22
|
||||
|
||||
PROPS-END
|
||||
file: alpha
|
||||
|
||||
|
||||
Revision-number: 3
|
||||
Prop-content-length: 107
|
||||
Content-length: 107
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 8
|
||||
Add beta
|
||||
K 10
|
||||
svn:author
|
||||
V 5
|
||||
durin
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-07T23:28:22.651398Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: trunk/beta
|
||||
Node-kind: file
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Text-content-length: 13
|
||||
Text-content-md5: 981d1eb5fd0bbe05354c292105944863
|
||||
Content-length: 23
|
||||
|
||||
PROPS-END
|
||||
Data of beta
|
||||
|
||||
|
||||
Revision-number: 4
|
||||
Prop-content-length: 113
|
||||
Content-length: 113
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 13
|
||||
Make a branch
|
||||
K 10
|
||||
svn:author
|
||||
V 5
|
||||
durin
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-08T01:35:39.984789Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: branches/the_branch
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Node-copyfrom-rev: 3
|
||||
Node-copyfrom-path: trunk
|
||||
Prop-content-length: 34
|
||||
Content-length: 34
|
||||
|
||||
K 13
|
||||
svn:mergeinfo
|
||||
V 0
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Revision-number: 5
|
||||
Prop-content-length: 123
|
||||
Content-length: 123
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 23
|
||||
add delta on the branch
|
||||
K 10
|
||||
svn:author
|
||||
V 5
|
||||
durin
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-08T01:39:05.520779Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: branches/the_branch/delta
|
||||
Node-kind: file
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Text-content-length: 6
|
||||
Text-content-md5: d2840cc81bc032bd1141b56687d0f93c
|
||||
Content-length: 16
|
||||
|
||||
PROPS-END
|
||||
delta
|
||||
|
||||
|
||||
Revision-number: 6
|
||||
Prop-content-length: 119
|
||||
Content-length: 119
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 19
|
||||
Add gamma on trunk.
|
||||
K 10
|
||||
svn:author
|
||||
V 5
|
||||
durin
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2008-10-08T01:39:29.950892Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: trunk/gamma
|
||||
Node-kind: file
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Text-content-length: 6
|
||||
Text-content-md5: 303febb9068384eca46b5b6516843b35
|
||||
Content-length: 16
|
||||
|
||||
PROPS-END
|
||||
gamma
|
||||
|
||||
|
@ -43,3 +43,37 @@ class TestBasicRepoLayout(unittest.TestCase):
|
||||
self.assertEqual(node.hex(repo['tip'].node()),
|
||||
'bf3767835b3b32ecc775a298c2fa27134dd91c11')
|
||||
self.assertEqual(repo['tip'], repo[1])
|
||||
|
||||
def test_branches(self):
|
||||
util.load_svndump_fixture(self.repo_path, 'simple_branch.svndump')
|
||||
fetch_command.fetch_revisions(ui.ui(),
|
||||
svn_url='file://%s' % self.repo_path,
|
||||
hg_repo_path=self.wc_path)
|
||||
repo = hg.repository(ui.ui(), self.wc_path)
|
||||
# TODO there must be a better way than repo[0] for this check
|
||||
self.assertEqual(node.hex(repo[0].node()),
|
||||
'a47d0ce778660a91c31bf2c21c448e9ee296ac90')
|
||||
self.assertEqual(node.hex(repo['tip'].node()),
|
||||
'9dfb0a19494f45c36e22f3c6d1b21d80638a7f6e')
|
||||
self.assertEqual(len(repo['tip'].parents()), 1)
|
||||
self.assertEqual(repo['tip'].parents()[0], repo['default'])
|
||||
self.assertEqual(len(repo.heads()), 1)
|
||||
|
||||
def test_two_branches_with_heads(self):
|
||||
util.load_svndump_fixture(self.repo_path, 'two_heads.svndump')
|
||||
fetch_command.fetch_revisions(ui.ui(),
|
||||
svn_url='file://%s' % self.repo_path,
|
||||
hg_repo_path=self.wc_path)
|
||||
repo = hg.repository(ui.ui(), self.wc_path)
|
||||
# TODO there must be a better way than repo[0] for this check
|
||||
self.assertEqual(node.hex(repo[0].node()),
|
||||
'a47d0ce778660a91c31bf2c21c448e9ee296ac90')
|
||||
self.assertEqual(node.hex(repo['tip'].node()),
|
||||
'a595c77cfcaa3d1ba9e04b2c55c68bc6bf2b0fbf')
|
||||
self.assertEqual(node.hex(repo['the_branch'].node()),
|
||||
'8ccaba5f0eae124487e413abd904a013f7f6fdeb')
|
||||
self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()),
|
||||
'9dfb0a19494f45c36e22f3c6d1b21d80638a7f6e')
|
||||
self.assertEqual(len(repo['tip'].parents()), 1)
|
||||
self.assertEqual(repo['tip'], repo['default'])
|
||||
self.assertEqual(len(repo.heads()), 2)
|
||||
|
Loading…
Reference in New Issue
Block a user