@@ -268,13 +268,14 @@ def __hash__(self) -> int:
268268
269269# Description property
270270def _get_description (self )-> str :
271- filename = osp .join (self .git_dir ,'description' )if self .git_dir else ""
271+ if self .git_dir :
272+ filename = osp .join (self .git_dir ,'description' )
272273with open (filename ,'rb' )as fp :
273274return fp .read ().rstrip ().decode (defenc )
274275
275276def _set_description (self ,descr :str )-> None :
276-
277- filename = osp .join (self .git_dir ,'description' )if self . git_dir else ""
277+ if self . git_dir :
278+ filename = osp .join (self .git_dir ,'description' )
278279with open (filename ,'wb' )as fp :
279280fp .write ((descr + '\n ' ).encode (defenc ))
280281
@@ -460,12 +461,11 @@ def _get_config_path(self, config_level: Lit_config_levels) -> str:
460461elif config_level == "global" :
461462return osp .normpath (osp .expanduser ("~/.gitconfig" ))
462463elif config_level == "repository" :
463- if self ._common_dir :
464- return osp .normpath (osp .join (self ._common_dir ,"config" ))
465- elif self .git_dir :
466- return osp .normpath (osp .join (self .git_dir ,"config" ))
467- else :
464+ repo_dir = self ._common_dir or self .git_dir
465+ if not repo_dir :
468466raise NotADirectoryError
467+ else :
468+ return osp .normpath (osp .join (repo_dir ,"config" ))
469469
470470raise ValueError ("Invalid configuration level: %r" % config_level )
471471
@@ -611,11 +611,13 @@ def is_ancestor(self, ancestor_rev: 'Commit', rev: 'Commit') -> bool:
611611return True
612612
613613def _get_daemon_export (self )-> bool :
614- filename = osp .join (self .git_dir ,self .DAEMON_EXPORT_FILE )if self .git_dir else ""
614+ if self .git_dir :
615+ filename = osp .join (self .git_dir ,self .DAEMON_EXPORT_FILE )
615616return osp .exists (filename )
616617
617618def _set_daemon_export (self ,value :object )-> None :
618- filename = osp .join (self .git_dir ,self .DAEMON_EXPORT_FILE )if self .git_dir else ""
619+ if self .git_dir :
620+ filename = osp .join (self .git_dir ,self .DAEMON_EXPORT_FILE )
619621fileexists = osp .exists (filename )
620622if value and not fileexists :
621623touch (filename )
@@ -631,7 +633,8 @@ def _get_alternates(self) -> List[str]:
631633"""The list of alternates for this repo from which objects can be retrieved
632634
633635 :return: list of strings being pathnames of alternates"""
634- alternates_path = osp .join (self .git_dir ,'objects' ,'info' ,'alternates' )if self .git_dir else ""
636+ if self .git_dir :
637+ alternates_path = osp .join (self .git_dir ,'objects' ,'info' ,'alternates' )
635638
636639if osp .exists (alternates_path ):
637640with open (alternates_path ,'rb' )as f :
@@ -1134,7 +1137,8 @@ def currently_rebasing_on(self) -> Union['SymbolicReference', Commit, 'TagObject
11341137
11351138 None if we are not currently rebasing.
11361139 """
1137- rebase_head_file = osp .join (self .git_dir ,"REBASE_HEAD" )if self .git_dir else ""
1140+ if self .git_dir :
1141+ rebase_head_file = osp .join (self .git_dir ,"REBASE_HEAD" )
11381142if not osp .isfile (rebase_head_file ):
11391143return None
11401144return self .commit (open (rebase_head_file ,"rt" ).readline ().strip ())