Re: git-svn failure when symlink added in svn
From: Seth Falcon <hidden>
Date: 2016-06-15 22:43:07
Hi Alex, Alexander Klink [off-list ref] writes:
The SHA1 hashes are generated in the close_file() function in git-svn.perl by forking git-hash-object -w --stdin and redirecting STDIN to the passed filehandle. This is what goes wrong (for some perl-internal reason?) on Mac OS X. Here is a patch that works around that by putting the data to be hashed in a temporary file and calling git-hash-object with a filename.
I tested your patch and it works for me as well. Eric's test case now passes and I was able to create a fresh clone of the problem svn repository that contains the removal + symlink revisions [*1*]. I'm not an OS X or Perl expert so it isn't obvious to me why the pipe approach isn't working. Thanks much, + seth [*1*] I can't seem to fix the git repository where this problem first appeared for me. I tried creating a branch starting before the removal and symlink creation and then running git-svn rebase, but that didn't work -- maybe because git-svn already stored the commits in garbled form. Hence re-cloning was required. Also: when I cloned the repository, I got a bus error when running git svn fetch. Rerunning git svn fetch completed. Perhaps this is related to the other bug report that is in progress? Sorry that I don't have more details...