actualizar el ID de compromiso vinculado en una ruta de complemento utilizada en el process de creación de rake

En un sistema de compilation basado en rake , alguien ha vinculado en commits específicos. En el directory de código en github esto aparece como un directory que conduce a ninguna parte, pero curiosamente, github parece entender la identificación de compromiso, como se muestra después del nombre de file con @ [commit-id] , vea la captura de pantalla a continuación.

¿Cómo puedo modificar esto? Cuando clono el repository localmente, git solo crea directorys vacíos, no se encuentra metainformación. Creo que me falta la palabra key correcta sobre lo que llamó esto. Parece que una URL se puede agregar como un enlace a un proyecto de git, que github entiende.

En el código de la tarea de rake en cuestión , estos files se llaman 'complementos', pero eso tampoco me lleva a ninguna información útil. Rake puede leer el ID de confirmación de alguna manera a través de una variable de entorno 'complementos'. No puedo entender cómo se está configurando esta variable, ya que el setter no parece aparecer en ningún lugar del repository. ¿Necesito algún tipo de magia de un binary de rake para hacer lo que necesito?

Cualquier ayuda de alguien con más experiencia en github y / o rake sería muy apreciada.

Visualización github de identificación de commit

Muy bien, con la ayuda de @VonC pude resolver esto, ¡gracias! Permítanme proporcionar una respuesta completa para mi pregunta:

  1. Esto simplemente eran submodules de Git. La confirmación que github muestra, proviene del índice git, es decir, no se puede ver directamente en el sistema de files.

  2. Para cambiarlo:

    a. git clone --recurse-submodules https://github.com/muellermichel/build-couchdb.git

    segundo. cd build-couchdb/dependencies/couchdb

    do. git checkout 1.7.0 <- la versión labelda que quiero usar

    re. cd .. <- muy importante

    mi. git add couchdb <- note: no agrega el tree fuente completo de couchdb, solo la modificación de la confirmación vinculada.

    F. git commit && push

    gramo. git ls-tree HEAD dependencies/couchdb/ -> 160000 commit 5f88da2a5ee8ba78917fafd572c7b9fa37e76460 dependencies/couchdb , muestra la nueva confirmación.

Después de presionar, github cambia la confirmación mostrada inmediatamente:

nuevo compromiso

esto aparece como un directory que conduce a la nada

Debería ser un submodule de Git , si ves una input correspondiente en un .gitmodules.
En ese caso, un git clone --recurse-submodules debería ser suficiente.

Si no, es un gitlink ( input especial en el índice ), que solo registró un SHA1, sin registrar la URL del repository distante.

El OP Michel Müller confirma que es un submodule, simplemente no hace reference al refspec que quiere (es decir, 1.7.0).
Todo lo que tiene que hacer (y lo describe en su respuesta ) es ir a ese submodule, search la label correcta, volver a la carpeta principal, agregar, comprometer y presionar.
Eso registraría un nuevo gitlink con el SHA1 correcto.