Azure-Functions: Submodule que requiere Cnetworkings: fatal: no se pudo leer el nombre de usuario para

Tengo una aplicación Azure Function configurada para implementarse continuamente desde el repository git de VisualStudio.com Team Services. Utiliza submodules. Uno de esos submodules está disponible públicamente en GitHub y se carga maravillosamente sin ningún problema.

Otro de los submodules está protegido detrás de un repo de Git de Servicios de Equipo de VisualStudio.com (Bajo la misma count que el repository principal). Este submodule se equivoca en la implementación.

Según la información proporcionada por Microsoft , los submodules se inician con los siguientes dos commands de git:

git submodule sync git submodule update --init --recursive --force 

El primero de estos commands parece ejecutarse correctamente y el segundo parece estar fuera de error. El siguiente es el resultado:

 Cloning into 'secure-submodule'... Fatal: COMException encountenetworking.\r bash: /dev/tty: No such device or address error: failed to execute prompt script (exit code 1) fatal: could not read Username for ''https://myVSStudio.visualstudio.com': Invalid argument fatal: clone of 'https://myVSStudio.visualstudio.com/DefaultCollection/_git/secure-submodules' into submodule path 'secure-submodules' failed 

Supongo que esto se debe a que el segundo submodule requiere cnetworkingenciales, pero no estoy seguro de cómo proporcionarlo.

Dado que la implementación continua de los proyectos principales se realiza desde un repository git protegido, creo que el submodule podría hacer lo mismo.

Como solución alternativa, actualicé el file .gitmodules para que la URL contuviera un nombre de usuario y una contraseña, y creé un token de acceso personal para usar en la URL.

por ejemplo, dentro de .gitmodules se modificó la url:

 [submodule "mySub"] path = mySub url = https://mysub:PERSONAL_ACCESS_TOKEN_VALUE@YOUR_GIT_REPO_URL 

Esto puede establecerse yendo a:

https://YOUR_SUB_DOMAIN.visualstudio.com/_details/security/tokens

Cuando creé el token de acceso personal, lo limité solo a operaciones de lectura de código.

Lo que no me gusta de esta solución (y espero que alguien más la tenga):

  1. El token de acceso personal se devuelve al control de origen en el proyecto principal.
  2. No veo una forma de limitar un token de acceso personal a un solo repository, por lo que este token se puede usar para leer cualquier repository al que tenga acceso.
  3. Debe especificar un período de time en que el token es válido y el período de time más largo es un año. Esto es bueno en algunos aspectos, pero estoy seguro de que en un año me habrá olvidado completamente de lo que hice para que esto funcione y estoy seguro de que el post de error será less que obvio.