summaryrefslogtreecommitdiff
path: root/repo/fun.py
diff options
context:
space:
mode:
Diffstat (limited to 'repo/fun.py')
-rw-r--r--repo/fun.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/repo/fun.py b/repo/fun.py
index 7b842c38..aa938477 100644
--- a/repo/fun.py
+++ b/repo/fun.py
@@ -190,7 +190,12 @@ def rev_parse(repo, rev):
raise NotImplementedError("Support for additional @{...} modes not implemented")
#END handle revlog index
- entry = ref.log()[revlog_index]
+ try:
+ entry = ref.log()[revlog_index]
+ except IndexError:
+ raise BadObject("Invalid revlog index: %i" % revlog_index)
+ #END handle index out of bound
+
obj = Object.new_from_sha(repo, hex_to_bin(entry.newhexsha))
# make it pass the following checks