2

I migrated my git server to a new server and now I try to push my data to the new one.

The log when trying to push

git.exe push --progress "originNew" master:master

Counting objects: 26735, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14502/14502), done.
Writing objects:   2% (535/26735), 32.00 KiB | 45.00 KiB/s

And after clicking “OK” on the dialog TortoiseGitPlink Fatal Error: “Network error: software caused connection abort” the above text changes to

git.exe push --progress "originNew" master:master

Counting objects: 26735, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14502/14502), done.
fatal: sha1 file '<stdout>' write error: Broken pipe
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly


git did not exit cleanly (exit code 128) (405265 ms @ 02.04.2018 12:16:21)

Maybe of interest: Compressing needs ~6sec up to 99% (14430/14502), for 100% (the last ~70 items) it needs ~6 min.


What I already did:

Permissions: Doing the same with a test repo with just 2 files works!

SSH keepalive: I changed ssh_config on client to include

Host *
    ServerAliveInterval 25
    ServerAliveCountMax 40

This should send a packet every 25 seconds (max 40 times), so if my ssh connection to the git server is idle it should be kept alive for ~16min.

HDs: Enough space on client and server


Questions:

  1. Any other ideas how to push my data to the new server?
  2. Any other ideas on what could cause this besides permissions and idle connections?
  3. How can I check if the ssh_config file I changed is the right one? (used by TortoiseGit). I changed 'C:\Program Files\Git\etc\ssh' (only one found)
  4. Can I somehow investigate who closes the ssh connection?
  5. Which log files on client and server could help to find the problem? Any verbose/debug flags I could switch on?
andymel
  • 201
  • 1
  • 2
  • 9
  • Is the disk full or out of inodes on either system? – Jenny D Apr 03 '18 at 09:04
  • Thx, no, both client and server have enough space. Regarding inodes (something new for me) I guess there should not be a problem as the server (docker host) is fresh and pretty empty and the container should be as well – andymel Apr 03 '18 at 10:11
  • Can you try setting up a git server (non-docker) to isolate the problem to either client side or server side? – jftuga Apr 04 '18 at 01:27
  • Thanks for the idea but it's finally working. Added an answer. – andymel Apr 08 '18 at 19:41

1 Answers1

0

OK, I fixed the issue, unfortunately I did not find out what the problem was. But maybe it inspires someone with a similar issue.

What I did: Instead of pushing from client-side to the new server:

  • I generated keys on the old server and pushed from there
  • I cloned the repo from the new server to a new temporary repo on the client
  • I pushed the changes from the old client-repo to the temp client repo
    (There were changes I could not push to the old server anymore. Unfortunately I don't remember if I tried to push from the old client side repo to the new server)
  • then I finally pushed those changes from the temp to the new server repo

Now everything works. I can finally pull and push from the (old and new) client side repo to the new server and it's very fast. In the meanwhile I have deleted that new client side repo.

The compressing part that lasted so long before was now very fast. Maybe something like repack would have helped?!

Good luck

andymel
  • 201
  • 1
  • 2
  • 9