Mercurial > hgsubversion
changeset 550:f0159775e0f1
utility_commands: fix hg svn genignore for single-directory mode
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Sat, 06 Feb 2010 11:13:55 -0600 |
parents | b97f5734e5a8 |
children | d17cec76e769 |
files | hgsubversion/utility_commands.py tests/test_utility_commands.py |
diffstat | 2 files changed, 15 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hgsubversion/utility_commands.py +++ b/hgsubversion/utility_commands.py @@ -17,12 +17,16 @@ def genignore(ui, repo, force=False, **o hashes = meta.revmap.hashes() parent = util.parentrev(ui, repo, meta, hashes) r, br = hashes[parent.node()] - branchpath = br and ('branches/%s' % br) or 'trunk' + if meta.layout == 'single': + branchpath = '' + else: + branchpath = br and ('branches/%s/' % br) or 'trunk/' ignorelines = ['.hgignore', 'syntax:glob'] dirs = [''] + [d[0] for d in svn.list_files(branchpath, r) if d[1] == 'd'] for dir in dirs: - props = svn.list_props('%s/%s/' % (branchpath, dir), r) + path = '%s%s' % (branchpath, dir) + props = svn.list_props(path, r) if 'svn:ignore' not in props: continue lines = props['svn:ignore'].strip().split('\n')
--- a/tests/test_utility_commands.py +++ b/tests/test_utility_commands.py @@ -212,6 +212,15 @@ class UtilityTests(test_util.TestBase): self.assertEqual(open(os.path.join(self.wc_path, '.hgignore')).read(), '.hgignore\nsyntax:glob\nblah\notherblah\nbaz/magic\n') + def test_genignore_single(self): + self._load_fixture_and_fetch('ignores.svndump', subdir='trunk') + hg.update(self.repo, 'tip') + u = ui.ui() + u.pushbuffer() + utility_commands.genignore(u, self.repo, self.wc_path) + self.assertStringEqual(open(os.path.join(self.wc_path, '.hgignore')).read(), + '.hgignore\nsyntax:glob\nblah\notherblah\nbaz/magic\n') + def test_list_authors(self): test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump')