summaryrefslogtreecommitdiff
path: root/git/refs/reference.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2011-07-04 22:30:49 +0200
committerSebastian Thiel <byronimo@gmail.com>2011-07-04 23:40:53 +0200
commit87aa78c4d6c47874a68c8e1eb2bb8ae9d35e6253 (patch)
treead2265d4bfaf3a75e0b7d9dec3498e1f033ae790 /git/refs/reference.py
parentb7ae99cd13839036a34aca06078d3431a11829ff (diff)
downloadgitpython-87aa78c4d6c47874a68c8e1eb2bb8ae9d35e6253.tar.gz
refs: added constructor flag to allow refs to be instatiated from any path, including simple test
Diffstat (limited to 'git/refs/reference.py')
-rw-r--r--git/refs/reference.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/git/refs/reference.py b/git/refs/reference.py
index 5cff74bb..bd9c47a6 100644
--- a/git/refs/reference.py
+++ b/git/refs/reference.py
@@ -20,15 +20,17 @@ class Reference(SymbolicReference, LazyMixin, Iterable):
_resolve_ref_on_create = True
_common_path_default = "refs"
- def __init__(self, repo, path):
+ def __init__(self, repo, path, check_path = True):
"""Initialize this instance
:param repo: Our parent repository
:param path:
Path relative to the .git/ directory pointing to the ref in question, i.e.
- refs/heads/master"""
- if not path.startswith(self._common_path_default+'/'):
- raise ValueError("Cannot instantiate %r from path %s, maybe use %s.to_full_path(name) to safely generate a valid full path from a name" % ( self.__class__.__name__, path, type(self).__name__))
+ refs/heads/master
+ :param check_path: if False, you can provide any path. Otherwise the path must start with the
+ default path prefix of this type."""
+ if check_path and not path.startswith(self._common_path_default+'/'):
+ raise ValueError("Cannot instantiate %r from path %s" % (self.__class__.__name__, path))
super(Reference, self).__init__(repo, path)