diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2011-07-04 22:30:49 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2011-07-04 23:40:53 +0200 |
commit | 87aa78c4d6c47874a68c8e1eb2bb8ae9d35e6253 (patch) | |
tree | ad2265d4bfaf3a75e0b7d9dec3498e1f033ae790 /git/refs/reference.py | |
parent | b7ae99cd13839036a34aca06078d3431a11829ff (diff) | |
download | gitpython-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.py | 10 |
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) |