git: ¿cómo puedo saber mediante progtwigción si se puede enviar un informe?

Veo este resultado de un repository clonado para el que tengo permiso de escritura:

$~/g/cad --> git push Everything up-to-date 

y esta salida para una que yo no:

 $~/g/opentx --> git push Username for 'https://github.com': 

¿Cómo puedo decir programáticamente que un repository en particular tiene permiso de escritura?

La única manera de saber si tiene permissions de escritura en un repository remoto es intentar escribir algo allí pulsando una confirmación o una label o algo.

Supongo que intentas insert una label y luego eliminar la label:

 git tag a-test-tag git push origin a-test-tag git push --delete origin a-test-tag 

Si la push es exitosa, probablemente tenga permissions de escritura en el repository remoto (digo "probablemente" porque solo puede actualizar las tags pero no enviar las confirmaciones, o puede que solo pueda enviar confirmaciones a las twigs específicas, etc.).

Puede hacer que falle git si se requiere authentication, en lugar de solicitar cnetworkingenciales, estableciendo la variable de entorno GIT_ASKPASS en true :

 GIT_ASKPASS=true git push origin a-test-tag