diff options
-rw-r--r-- | hgdistver.py | 11 | ||||
-rw-r--r-- | test_hgdistver.py | 3 |
2 files changed, 8 insertions, 6 deletions
diff --git a/hgdistver.py b/hgdistver.py index 90147c5..b6bad60 100644 --- a/hgdistver.py +++ b/hgdistver.py @@ -101,10 +101,11 @@ def _data_from_archival(path): def version_from_archival(root, cachefile=None): - archival = os.path.join(root, '.hg_archival.txt') - if os.path.exists(archival): - data = _data_from_archival(archival) - return _archival_to_version(data) + for parent in root, os.path.dirname(root): + archival = os.path.join(parent, '.hg_archival.txt') + if os.path.exists(archival): + data = _data_from_archival(archival) + return _archival_to_version(data) def version_from_sdist_pkginfo(root, cachefile=None): @@ -129,9 +130,9 @@ methods = [ version_from_hg_id, version_from_hg15_parents, version_from_hg_log_with_tags, - version_from_archival, version_from_cachefile, version_from_sdist_pkginfo, + version_from_archival, ] diff --git a/test_hgdistver.py b/test_hgdistver.py index ffbdf04..add3d78 100644 --- a/test_hgdistver.py +++ b/test_hgdistver.py @@ -112,8 +112,9 @@ def test_version_from_archival(tmpdir): 'node: 000000000000\n' 'tag: 0.1\n' ) + subdir = tmpdir.join('test').ensure(dir=True) assert get_version(tmpdir) == '0.1' - + assert get_version(subdir) == '0.1' tmpdir.join('.hg_archival.txt').write( 'node: 000000000000\n' |