summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hgdistver.py11
-rw-r--r--test_hgdistver.py3
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'