Re: git svn clone/fetch hits issues with gc --auto
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 10, 2018, 02:49 UTC
- Message-ID
- <xmqqd0sims6s.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20181009234502.oxzfwirjcew2sxrm@dcvr>
Forwarding to Jonathan, as I think this is an interesting supporting vote for the topic that we were stuck on.
Eric Wong <e@80x24.org> writes:
Show 33 quoted lines
> Martin Langhoff <martin.langhoff@gmail.com> wrote:
>> Hi folks,
>>
>> Long time no see! Importing a 3GB (~25K revs, tons of files) SVN repo
>> I hit the gc error:
>>
>> warning: There are too many unreachable loose objects; run 'git prune'
>> to remove them.
>> gc --auto: command returned error: 255
>
> GC can be annoying when that happens... For git-svn, perhaps
> this can be appropriate to at least allow the import to continue:
>
> diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
> index 76b2965905..9b0caa3d47 100644
> --- a/perl/Git/SVN.pm
> +++ b/perl/Git/SVN.pm
> @@ -999,7 +999,7 @@ sub restore_commit_header_env {
> }
>
> sub gc {
> - command_noisy('gc', '--auto');
> + eval { command_noisy('gc', '--auto') };
> };
>
> sub do_git_commit {
>
>
> But yeah, somebody else who works on git regularly could
> probably stop repack from writing thousands of loose
> objects (and instead write a self-contained pack with
> those objects, instead). I haven't followed git closely
> lately, myself.