@@ -282,6 +282,7 @@ def set_object(self, object: Union[Commit_ish, 'SymbolicReference'],
282
282
283
283
commit = cast ('Commit' , property (_get_commit , set_commit , doc = "Query or set commits directly" ))
284
284
object = property (_get_object , set_object , doc = "Return the object our ref currently refers to" ) # type: ignore
285
+ # reference = property(_get_reference, set_reference, doc="Return the object our ref currently refers to")
285
286
286
287
def _get_reference (self
287
288
) -> Union ['Head' , 'RemoteReference' , 'TagReference' , 'Reference' ]:
@@ -363,21 +364,30 @@ def set_reference(self, ref: Union[str, Commit_ish, 'SymbolicReference'], logmsg
363
364
364
365
return self
365
366
366
- reference : Union ['Head' , 'RemoteReference' , 'TagReference' , 'Reference' ] = property ( # type: ignore
367
- _get_reference , set_reference ,
368
- doc = "Reference Object we point to" )
367
+ reference : Union ['Head' , 'RemoteReference' , 'TagReference' , 'Reference' ]
368
+ reference = property (_get_reference , set_reference , doc = "Reference Object we point to" ) # type: ignore
369
369
ref = reference
370
-
371
- """
372
- @ property
373
- def reference(self) -> Union['Head', 'RemoteReference', 'TagReference', 'Reference']:
374
- return self._get_reference()
375
-
376
- @ reference.setter
377
- def reference(self, ref: Union[str, Commit_ish, 'SymbolicReference'], logmsg: Union[str, None] = None
378
- ) -> 'SymbolicReference':
379
- return self.set_reference(ref=ref, logmsg=logmsg)
380
-
370
+ # @ property
371
+ # def reference(self) -> Union['Head', 'RemoteReference', 'TagReference', 'Reference']:
372
+ # return self._get_reference()
373
+
374
+ # @ reference.setter
375
+ # def reference(self, ref: Union[str, Commit_ish, 'SymbolicReference'], logmsg: Union[str, None] = None
376
+ # ) -> 'SymbolicReference':
377
+ # return self.set_reference(ref=ref, logmsg=logmsg)
378
+
379
+ def is_valid (self ) -> bool :
380
+ """
381
+ :return:
382
+ True if the reference is valid, hence it can be read and points to
383
+ a valid object or reference."""
384
+ try :
385
+ self .object
386
+ except (OSError , ValueError ):
387
+ return False
388
+ else :
389
+ return True
390
+
381
391
@ property
382
392
def is_detached (self ):
383
393
"""
@@ -389,7 +399,6 @@ def is_detached(self):
389
399
return False
390
400
except TypeError :
391
401
return True
392
- """
393
402
394
403
def log (self ) -> 'RefLog' :
395
404
"""
0 commit comments