title: git push never finishes - only gets to Total line
body: <h1>Expected Behavior</h1>
  
  <p>I edited file1, committed, and did this</p>
  
  <pre><code>$ git push
  
  NOTICE: Only authorized blah blah blah...
  
  Counting objects: 7, done.
  Delta compression using up to 4 threads.
  Compressing objects: 100% (7/7), done.
  Writing objects: 100% (7/7), 676 bytes | 0 bytes/s, done.
  Total 7 (delta 4), reused 0 (delta 0)
  To ssh://me@server:/opt/git/fooBar.git
     28ad03d..73ae492  master -&gt; master
  $
  </code></pre>
  
  <h1>Problem</h1>
  
  <p>Then I edited file2 in the same project, committed and did this:</p>
  
  <pre><code>$ git push
  
  NOTICE: Only authorized blah blah blah...
  
  Counting objects: 10, done.
  Delta compression using up to 4 threads.
  Compressing objects: 100% (8/8), done.
  Writing objects: 100% (10/10), 1.42 KiB | 0 bytes/s, done.
  Total 10 (delta 4), reused 0 (delta 0)
  ^C
  </code></pre>
  
  <p>Notice how I had to CTRL-C (<code>^C</code>) at the end?  That's because it never completed.  This is <em>NOT</em> the expected behavior.</p>
  
  <h1>Failed Coping Mechanisms</h1>
  
  <p>So I:</p>
  
  <pre><code>cd ..
  mv fooBar/ fooBar_bak/
  git clone ssh://me@server:/opt/git/fooBar.git
  cd fooBar
  </code></pre>
  
  <p>Edit some other text file (just added a blank line), pushed, and it worked.  This means I did a successful push from/to the same local/remote repositories before <em>and</em> after the failed push.</p>
  
  <p>But edit file2 it didn't like before?  The push never completes.  Same thing with file3 which it doesn't like either.  I don't see anything special about these files.</p>
  
  <p>Well, file2 and file3 are UTF-8 and file1 is ASCII, but that shouldn't matter.  Should it?</p>
  
  <p>I tried all the solutions at <a href="https://stackoverflow.com/questions/15843937/git-push-hangs-after-total-line">git push hangs after Total line</a> but none worked for me.</p>
  
  <p>I didn't really understand the output of <code>strace -efile -f git push</code> but nothing jumped out at me.</p>
  
  <p>I waited.  But this is not a big repo or a big file.</p>
  
  <p>I'm using Ubuntu 16.04 with git version 2.7.4 on my machine and git version 1.7.1 on the CentOS server.  I don't have msysgit, git-for-windows, or cygwin installed.</p>
  
  <p><code>git push -u origin master</code> didn't work either.</p>
  
  <p><code>git config http.postBuffer 524288000</code> didn't make any difference.</p>
  
  <p><code>GIT_CURL_VERBOSE=1</code> and <code>GIT_TRACE=1</code> had no effect.</p>
  
  <p><code>git config --global core.askpass "git-gui --askpass"</code> didn't do anything, probably because I don't have git-gui installed.</p>
  
  <p>@RonanDejhero's suggestion here: <a href="https://stackoverflow.com/a/21032615/1128668">https://stackoverflow.com/a/21032615/1128668</a> was what allowed me to see that some files can be changed, committed and pushed and some cannot.  I tried copying the changed files, changing the files manually, and making slightly different changes: no good.</p>
  
  <p>On the server I did <code>sudo chown -R me.git-users /opt/git/</code> but that didn't make a difference either.  When I've had problems like this in the past, that seemed to help.</p>
  
  <p>I did a <code>git gc</code> in my local repo and on the server in /opt/git/fooBar.git.  No joy.</p>
  
  <h1>Update</h1>
  
  <p>I deleted my local repo, cloned, edited file2 (which git didn't like being edited before) by <em>only</em> adding a blank line.  Committed, pushed, it worked!  Then I commented out a dozen lines of unused code, committed pushed, and it worked!  Could I have introduced a character or something that git didn't like?</p>