Mercurial > hgsubversion
comparison tests/test_fetch_renames.py @ 1489:9a6bb3657861
Merge with stable.
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Sun, 26 Jun 2016 21:10:36 -0400 |
parents | 6088597abd20 |
children |
comparison
equal
deleted
inserted
replaced
1478:797c7b58a735 | 1489:9a6bb3657861 |
---|---|
32 'hgsubversion.failonmissing': 'yes', | 32 'hgsubversion.failonmissing': 'yes', |
33 } | 33 } |
34 repo = self._load_fixture_and_fetch('renames_with_prefix.svndump', | 34 repo = self._load_fixture_and_fetch('renames_with_prefix.svndump', |
35 subdir='prefix', | 35 subdir='prefix', |
36 config=config) | 36 config=config) |
37 self._run_assertions(repo) | 37 self._run_assertions(repo, prefix=True) |
38 | 38 |
39 def _run_assertions(self, repo): | 39 def _run_assertions(self, repo, prefix=False): |
40 # Map revnum to mappings of dest name to (source name, dest content) | 40 # Map revnum to mappings of dest name to (source name, dest content) |
41 if prefix: | |
42 prefixlen = len('svn:ae30a990-0fd3-493e-b5d7-883bdd606745/prefix') | |
43 else: | |
44 prefixlen = len('svn:ae30a990-0fd3-493e-b5d7-883bdd606745') | |
41 copies = { | 45 copies = { |
42 4: { | 46 '/trunk@6': { |
43 'a1': ('a', 'a\n'), | 47 'a1': ('a', 'a\n'), |
44 'linka1': ('linka', 'a'), | 48 'linka1': ('linka', 'a'), |
45 'a2': ('a', 'a\n'), | 49 'a2': ('a', 'a\n'), |
46 'linka2': ('linka', 'a'), | 50 'linka2': ('linka', 'a'), |
47 'b1': ('b', 'b\nc\n'), | 51 'b1': ('b', 'b\nc\n'), |
53 'da2/daf': ('da/daf', 'c\n'), | 57 'da2/daf': ('da/daf', 'c\n'), |
54 'da2/dalink': ('da/dalink', 'daf'), | 58 'da2/dalink': ('da/dalink', 'daf'), |
55 'da2/db/dbf': ('da/db/dbf', 'd\n'), | 59 'da2/db/dbf': ('da/db/dbf', 'd\n'), |
56 'da2/db/dblink': ('da/db/dblink', '../daf'), | 60 'da2/db/dblink': ('da/db/dblink', '../daf'), |
57 }, | 61 }, |
58 5: { | 62 '/branches/branch1@6': { |
59 'c1': ('c', 'c\nc\n'), | 63 'c1': ('c', 'c\nc\n'), |
60 'linkc1': ('linkc', 'cc'), | 64 'linkc1': ('linkc', 'cc'), |
61 }, | 65 }, |
62 9: { | 66 '/trunk@10': { |
63 'unchanged2': ('unchanged', 'unchanged\n'), | 67 'unchanged2': ('unchanged', 'unchanged\n'), |
64 'unchangedlink2': ('unchangedlink', 'unchanged'), | 68 'unchangedlink2': ('unchangedlink', 'unchanged'), |
65 'unchangeddir2/f': ('unchangeddir/f', 'unchanged2\n'), | 69 'unchangeddir2/f': ('unchangeddir/f', 'unchanged2\n'), |
66 'unchangeddir2/link': ('unchangeddir/link', 'f'), | 70 'unchangeddir2/link': ('unchangeddir/link', 'f'), |
67 }, | 71 }, |
68 10: { | 72 '/trunk@11': { |
69 'groupdir2/b': ('groupdir/b', 'b\n'), | 73 'groupdir2/b': ('groupdir/b', 'b\n'), |
70 'groupdir2/linkb': ('groupdir/linkb', 'b'), | 74 'groupdir2/linkb': ('groupdir/linkb', 'b'), |
71 }, | 75 }, |
72 } | 76 } |
73 for rev in repo: | 77 for rev in repo: |
74 ctx = repo[rev] | 78 ctx = repo[rev] |
75 copymap = copies.get(rev, {}) | 79 copymap = copies.get(ctx.extra()['convert_revision'][prefixlen:], |
80 {}) | |
76 for f in ctx.manifest(): | 81 for f in ctx.manifest(): |
77 cp = ctx[f].renamed() | 82 cp = ctx[f].renamed() |
78 self.assertEqual(bool(cp), bool(copymap.get(f)), | 83 want = copymap.get(f) |
79 'copy records differ for %s in %d' % (f, rev)) | 84 self.assertEqual( |
80 if not cp: | 85 bool(cp), bool(want), |
81 continue | 86 'copy records differ for %s in %d (want %r, got %r)' % ( |
82 self.assertEqual(cp[0], copymap[f][0]) | 87 f, rev, want, cp)) |
83 self.assertEqual(ctx[f].data(), copymap[f][1]) | 88 if cp: |
89 self.assertEqual(cp[0], want[0]) | |
90 self.assertEqual(ctx[f].data(), want[1]) | |
84 | 91 |
85 self.assertEqual(repo['tip']['changed3'].data(), 'changed\nchanged3\n') | 92 self.assertEqual(repo['tip']['changed3'].data(), 'changed\nchanged3\n') |
86 | 93 |
87 def test_case(self): | 94 def test_case(self): |
88 repo = self._load_fixture_and_fetch('filecase.svndump') | 95 repo = self._load_fixture_and_fetch('filecase.svndump') |