Skip to content

Commit 3119d39

Browse files
committed
_make_clone_options-fix
- currently runs into an error if using a different LibGit2Sharp version not expecting CredentialsProvider property
1 parent 33d8118 commit 3119d39

File tree

1 file changed

+11
-6
lines changed
  • pyrevitlib/pyrevit/coreutils

1 file changed

+11
-6
lines changed

pyrevitlib/pyrevit/coreutils/git.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,18 @@ def _make_fetch_options(repo_info):
116116
def _make_clone_options(username=None, password=None):
117117
mlogger.debug('Making clone options.')
118118
clone_ops = libgit.CloneOptions()
119-
if username and password:
120-
mlogger.debug('Making Credentials handler. '
121-
'(Username and password are available but'
122-
'will not be logged for privacy purposes.)')
123119

124-
clone_ops.CredentialsProvider = \
125-
_get_credentials_hndlr(username, password)
120+
if username and password:
121+
mlogger.debug('Making Credentials handler.')
122+
creds_handler = _get_credentials_hndlr(username, password)
123+
124+
# Only set the CredentialsProvider if it's a valid property
125+
if hasattr(clone_ops, 'CredentialsProvider'):
126+
clone_ops.CredentialsProvider = creds_handler
127+
elif hasattr(clone_ops, 'FetchOptions') and hasattr(clone_ops.FetchOptions, 'CredentialsProvider'):
128+
clone_ops.FetchOptions.CredentialsProvider = creds_handler
129+
else:
130+
mlogger.warning('CloneOptions does not support CredentialsProvider. Skipping credentials.')
126131

127132
return clone_ops
128133

0 commit comments

Comments
 (0)