1

I know about this question. I already performed my local modifications, however it seem, the official git project perform agit fscklocally before pushing to origin.

C:\Cygwin\home\example\utils>git push origin master
Warning: Permanently added '196.30.252.130' (RSA) to the list of known hosts.
fatal: Out of memory, malloc failed (tried to allocate 2285522160 bytes)

and the command fails…

The problem is while the pack format allows it (size_t or unsigned long), the official git project use 32 bits signed integers internally for handling tree objects size (limiting to 2Gb).

So is there a command that won’t perform an fsck before pushing ? Or an another project/library (I couldn't found how to do it with libgit2) allowing me to stay on my laptop ?
An alternative would be to get documentation about the git over ssh protocol, so I can implement that part myself.

Community
  • 1
  • 1
user2284570
  • 2,891
  • 3
  • 26
  • 74
  • The project isn’t on github, so using lfs isn’t an option. – user2284570 Oct 22 '15 at 13:40
  • `git push` over ssh just invokes `git receive-pack` in an ssh session on the remote machine, and creates a bidirectional pipe between it and the local `git send-pack`. The only protocol is that between `send-pack` and `receive-pack`. – hobbs Oct 22 '15 at 20:31
  • http://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols – hobbs Oct 22 '15 at 20:34
  • @hobbs : I took a debugger, and it invoke functions of fsck.c. Checking this is as easy as setting a breakpoint that catch the execution of a line in that file. – user2284570 Oct 22 '15 at 21:20
  • @hobbs : Ok the pack problem is more difficult to solve than fsck. – user2284570 Oct 24 '15 at 21:06

0 Answers0