git clone –bare from ssh: carpeta de objects vacía

Tengo un directory de trabajo en un server, al cual puedo acceder ya sea con ssh interactivo o montando mi casa con sshfs, y me gustaría crear un repository vacío para comenzar a compartirlo.

Obra

git clone --bare mount_point/path 

y

 git clone --bare ssh://user@server/path 

da dos resultados diferentes En particular, la diferencia principal está en las carpetas de objects. El primero tiene 00 , 0b , … subcarpetas y ciertos files en la subcarpeta del pack . El segundo en su lugar solo tiene info y pack , y los files en el pack son diferentes del primer caso. Como consecuencia, los tamaños de los dos repositorys desnudos clonados son diferentes.

Sin embargo, en ambos puedo hacer git log o, por ejemplo, git diff.

¿Alguien puede decirme qué está pasando? ¿Podría ser que git-clone over ssh comprima más los objects en el repository? ¿O estoy perdiendo información en alguna parte?

Muchas gracias

git optimiza el almacenamiento del repository clonado cuando se trata de repositorys en los mismos volúmenes / mismas computadoras. Mire --no-hardlinks , --local , etc. opciones de git clone --help . En realidad, es posible obligarlo a hacer una "copy real", pero por lo general no es necesario.

Actualización: Ok, no enlaces duros. Antes de la transferencia de networking, git empaca objects, faltan en el lado de recepción, y estos packages se almacenan tal como se recibieron, sin desempaquetar. git gc hace lo mismo. .git/objects/pack/ contiene objects empaquetados, como su nombre lo sugiere. Para ver el contenido de un file de package en particular, use git verify-pack -v .git/objects/pack/pack-<smth>.idx . Verifique este documento para get un tutorial.