Git: repo contiene un directory vacío, ¿qué ocurre?

Git rastrea los files, no los directorys , y actualmente no podemos add directorys vacíos (el truco estándar no agrega un directory vacío, sino un file dentro, vea también las preguntas frecuentes ).

Sin embargo, un git repo puede contener un directory vacío. Entonces, ¿qué ocurre si clono un repository o pago una twig que contiene un directory vacío? ¿Se creó en el tree de trabajo?

Para configurar un repository de testing con un directory vacío, puede usar el siguiente script (ejecútelo en un directory temporal).

Sin embargo, al momento de pagar, se ignora el directory vacío. Aquí también, Git solo funciona con files, no directorys, incluso si estos últimos están presentes.

Github y tig muestran directorys vacíos, gitk no.

 #!/bin/bash set -e echo ---- initialize the repo... #rm -rf .git git init echo ---- create an empty tree object... empty_tree=$(git mktree < /dev/null) echo ---- create a parent tree containing the empty subtree... root_tree_ls=$(echo -e 040000 tree $empty_tree\\tvacuum) root_tree=$(echo "$root_tree_ls" | git mktree) echo ---- commit... commit_msg="This commit contains an empty directory" commit=$(git commit-tree $root_tree -m "$commit_msg") echo ---- create a branch... git branch master $commit # output the ids: echo ---------------------------------------------------- echo "empty tree:" $empty_tree echo "root tree: " $root_tree echo "commit: " $commit