So everybody seems to be asking why one cannot push from a shallow clone (while I actually already achieved this). However what I'm interested in is pushing to a shallow server.
This doesn't work (I've served the git repo via "git clone --bare --depth 1 the_original_repo" in my server, and I cannot clone from it because it says it is a shallow clone). But I'm thinking that if one tries to clone with the same depth as the shallow clone was created, why would we have the limitation?
My end-goal would be something like this setup:
(shallow-SERVER)
/ \
(full-history-client) (shallow-client)
This way, both shallow nodes would have no history at all, but there would be a client which has the full history. If the shallow-client pushed to the shallow-server, it would mean that their depth increases, but ideally it would decrease again when the full-history-client pulls from the server.
I guess this is not doable with git nowadays, right?