Date: Wed, 4 Jan 2017 17:24:51 -0500 From: Ed Maste <emaste@freebsd.org> To: freebsd-git@freebsd.org Subject: FreeBSD svn2git aborting: potential workaround Message-ID: <CAPyFy2BFNHAmKXnPsS_h3QrunT7S5CDyWNcrYrj9KnXZp%2BniHg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
I'm trying to reproduce the svn2git conversion locally in order to investigate nonreproducibility issues. I'm in the process of cloning a local copy of the svn repository with svnsync, and am running uqs' version of svn2git (obtained from http://svn.freebsd.org/base/user/uqs/git_conv) against that. Initially svn2git was aborting on me: Exporting revision 70017 ....... 7 modifications from SVN /head/ to freebsd-base.git/master done Exporting revision 70018 . 1 modifications from SVN /head/ to freebsd-base.git/master done Exporting revision 70019 ...... 6 modifications from SVN /stable/4/ to freebsd-base.git/stable/4 done Exporting revision 70020 . 1 modifications from SVN /head/ to freebsd-base.git/master done Exporting revision 70021 . 1 modifications from SVN /stable/4/ to freebsd-base.git/stable/4 done Exporting revision 70022 .............Failed to write to process: Error writing to process Abort trap (core dumped) When restarting from an empty git repo it aborted after the same revision. When this happens more detailed information is emitted in the log-freebsd-base.git logfile: progress SVN r70019 branch stable/4 = :70720 progress SVN r70020 branch master = :70721 error: failed to apply delta fatal: Can't load tree 7d74bacb97098f62f3df6c00dea2ca477526c5b6 fast-import: dumping crash report to fast_import_crash_27754 And the referenced fast_import_crash_27754 has a lot more information in it, although it was not helpful to me in trying to take the problem to root cause. I did find that adding "--commit-interval 10" to the svn2git command-line avoided the abort, and also cleared up a diverging git hash between the official mirror and my local clone. In the official mirror r17572 is f7b4db0557177ace5810a3905ec4eaea478862b2; in my clone it was 9aec003234685887537aeda5d6408cb54d2a066f, but trying to show that hash resulted in: % git show 9aec003234685887537aeda5d6408cb54d2a066f error: failed to apply delta error: failed to read object b7e21351967a525e1e4146ab43a981d0ddf34d71 at offset 117543675 from ./objects/pack/pack-c4fb2c8279432e4e8701c0b35df7cce79a96fa1d.pack fatal: packed object b7e21351967a525e1e4146ab43a981d0ddf34d71 (stored in ./objects/pack/pack-c4fb2c8279432e4e8701c0b35df7cce79a96fa1d.pack) is corrupt It seems to me that git is at least partially at fault here. With the default settings (i.e., no --commit-interval) either svn2git is generating valid fast-import data and git is responsible for the failure, or svn2git is generating invalid data and git is doing insufficient validation. "--commit-interval 10" may be overly conservative (I think the default is 1000), but it seems to be an effective workaround until we can take this to root cause.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPyFy2BFNHAmKXnPsS_h3QrunT7S5CDyWNcrYrj9KnXZp%2BniHg>