Mercurial > hgsubversion
comparison tests/test_fetch_symlinks.py @ 741:b3128fec5d54
editor: handle property changes to links.
Previously, property changes to links caused 'link ' to be prepended
to the link destination. Removing a line that prepended it in
Revision::set() appears to fix it. In these cases, the "file marked as
link, but contains data" warning might be triggered. This should be
safe, so it's lowered to a note and the language made less conclusive.
In order to test this, extra revisions are added to the
'symlinks.svndump' fixture. As one of the new revisions add a link
that points to 'link to this', a check that asserted that link
destinations must not start with 'link ' was removed. This change is
safe, as the test later on asserts exact equality with the contents of
the 'links' dictionary.
| author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
|---|---|
| date | Tue, 09 Nov 2010 13:05:16 +0100 |
| parents | d2ef7220a079 |
| children | e9af7eba88db |
comparison
equal
deleted
inserted
replaced
| 740:c8c438b010aa | 741:b3128fec5d54 |
|---|---|
| 7 return test_util.load_fixture_and_fetch(fixture_name, self.repo_path, | 7 return test_util.load_fixture_and_fetch(fixture_name, self.repo_path, |
| 8 self.wc_path, stupid=stupid) | 8 self.wc_path, stupid=stupid) |
| 9 | 9 |
| 10 def test_symlinks(self, stupid=False): | 10 def test_symlinks(self, stupid=False): |
| 11 repo = self._load_fixture_and_fetch('symlinks.svndump', stupid) | 11 repo = self._load_fixture_and_fetch('symlinks.svndump', stupid) |
| 12 # Check no symlink contains the 'link ' prefix | 12 # Check symlinks throughout history |
| 13 for rev in repo: | |
| 14 r = repo[rev] | |
| 15 for f in r.manifest(): | |
| 16 if 'l' not in r[f].flags(): | |
| 17 continue | |
| 18 self.assertFalse(r[f].data().startswith('link ')) | |
| 19 # Check symlinks in tip | |
| 20 links = { | 13 links = { |
| 21 0: { | 14 0: { |
| 22 'linka': 'a', | 15 'linka': 'a', |
| 23 'linka2': 'a', | 16 'linka2': 'a', |
| 24 'd/linka': 'a', | 17 'd/linka': 'a', |
| 32 'linkaa': 'b', | 25 'linkaa': 'b', |
| 33 'linka2': 'a', | 26 'linka2': 'a', |
| 34 'd2/linka': 'b', | 27 'd2/linka': 'b', |
| 35 }, | 28 }, |
| 36 3: { | 29 3: { |
| 30 }, | |
| 31 4: { | |
| 32 'linka3': 'a', | |
| 33 }, | |
| 34 5: { | |
| 35 'linka3': 'a', | |
| 36 }, | |
| 37 6: { | |
| 38 'linka3': 'a', | |
| 39 'linka4': 'link to this', | |
| 37 }, | 40 }, |
| 38 } | 41 } |
| 39 | 42 |
| 40 for rev in repo: | 43 for rev in repo: |
| 41 ctx = repo[rev] | 44 ctx = repo[rev] |
