invalid credential type for any passed RemoteCallback
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 1.7k
- Forks
- 408
- Merge medio
- 2 d 57 min
- PR fusionados (30 d)
- 7
Descripción
pygit2 version: 1.14.1
Python version: 3.10.12
I'm trying to connect to the git server with via a ssh url.
e.g. remote.url is ssh://example.com:22/path/to/repo
When I'm trying to remote.fetch(callbacks=callbacks) (or any other operation like push or connect) I'm getting TypeError: invalid credential type
It doesn't matter which credential provider I pass into the RemoteCallbacks object.
For example:
keypair = pygit2.Keypair("git", "/home/myuser/.ssh/id_rsa.pub", "/home/myuser/.ssh/id_rsa", "")
callbacks = pygit2.RemoteCallbacks(keypair)
or
keypair = pygit2.UserPass("eeee", "xxx")
callbacks = pygit2.RemoteCallbacks(keypair)
or
keypair = pygit2.KeypairFromAgent("git")
callbacks = pygit2.RemoteCallbacks(keypair)
I'm getting always the following stack trace:
File "..../site-packages/pygit2/remotes.py", line 120, in connect
payload.check_error(err)
File "..../site-packages/pygit2/callbacks.py", line 93, in check_error
raise self._stored_exception
File "..../site-packages/pygit2/callbacks.py", line 416, in wrapper
return f(*args)
File "..../site-packages/pygit2/callbacks.py", line 484, in _credentials_cb
ccred = get_credentials(credentials, url, username, allowed)
File "..../site-packages/pygit2/callbacks.py", line 579, in get_credentials
raise TypeError("invalid credential type")
The repository is initialized with repo = Repository(discover_repository("/root/path/of/my/repo"))
With git itself I can do all the operations. So I guess that the settings are correct.
Do you have any idea which does let this operation fail?
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con los puntos de entrada que fallan en pygit2/remotes.py y callbacks.py, especialmente RemoteCallbacks, _credentials_cb y get_credentials; reproduce el error con los ejemplos mostrados de Keypair, UserPass y KeypairFromAgent. Rastrea cómo se pasan las credenciales durante connect o fetch, y considera terminado el issue cuando los proveedores de credenciales válidos ya no provoquen TypeError: invalid credential type.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- git, python
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 35/100