# Out of memory error with git rebase

4 messages from 2011-10-26 to 2011-10-31. Participants: Hannu Koivisto, Johannes Sixt, Junio C Hamano.
Thread: https://gitlist.dev/t/28770

## Hannu Koivisto, 2011-10-26 09:21

Subject: Out of memory error with git rebase
Message-ID: <83vcrc9kh7.fsf@kalahari.s2.org>
URL: https://gitlist.dev/e/83vcrc9kh7.fsf%40kalahari.s2.org

```
Hi,

If 'git rebase origin/master' dies with an out of memory error
(probably due to a few of large binary files in the repository, the
largest being ~300MB and ~1GB in total in one directory), which
settings should be tweaked and how to get rid of the problem?  I
tried...

[pack]
        threads = 1
        windowMemory = 64M
        packSizeLimit = 512M

...based on some suggestions in the net but that was of no help.

I'm using git 1.7.5.1 in Cygwin and I also tried the latest master
branch version (which behaved identically).

-- 
Hannu

```

## Johannes Sixt, 2011-10-26 10:55

Subject: Re: Out of memory error with git rebase
Message-ID: <4EA7E710.1020006@kdbg.org>
URL: https://gitlist.dev/e/4EA7E710.1020006%40kdbg.org
In-Reply-To: <83vcrc9kh7.fsf@kalahari.s2.org>

```
Am 26.10.2011 11:21, schrieb Hannu Koivisto:
> If 'git rebase origin/master' dies with an out of memory error
> (probably due to a few of large binary files in the repository, the
> largest being ~300MB and ~1GB in total in one directory), which
> settings should be tweaked and how to get rid of the problem?  I
> tried...

Try 'git rebase -m origin/master'. Without -m, rebase uses
format-patch+am, i.e., assuming there are changes to the binary files
that are to be rebased, a binary patch file would have to be generated
and applied later. This is very likely where git bails out.

-- Hannes

```

## Hannu Koivisto, 2011-10-31 10:33

Subject: Re: Out of memory error with git rebase
Message-ID: <83r51ta1rq.fsf@kalahari.s2.org>
URL: https://gitlist.dev/e/83r51ta1rq.fsf%40kalahari.s2.org
In-Reply-To: <4EA7E710.1020006@kdbg.org>

```
Johannes Sixt <j6t@kdbg.org> writes:

> Am 26.10.2011 11:21, schrieb Hannu Koivisto:
>> If 'git rebase origin/master' dies with an out of memory error
>> (probably due to a few of large binary files in the repository, the
>
> Try 'git rebase -m origin/master'. Without -m, rebase uses
> format-patch+am, i.e., assuming there are changes to the binary files
> that are to be rebased, a binary patch file would have to be generated
> and applied later. This is very likely where git bails out.

Thanks, -m seems to help, even though the large binary files are
not touched by the rebased commits (instead, they are touched by
the commits on top of which I'm rebasing).

>From the documentation I can't figure out any reason why one
wouldn't always want to use -m.  Why is it not the default?  I
think it's pretty much impossible for ordinary users to figure out
that they need -m in a situation like this.

-- 
Hannu

```

## Junio C Hamano, 2011-10-31 20:21

Subject: Re: Out of memory error with git rebase
Message-ID: <7vlis0q5d6.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vlis0q5d6.fsf%40alter.siamese.dyndns.org
In-Reply-To: <83r51ta1rq.fsf@kalahari.s2.org>

```
Hannu Koivisto <azure@iki.fi> writes:

> From the documentation I can't figure out any reason why one
> wouldn't always want to use -m.  Why is it not the default?  I
> think it's pretty much impossible for ordinary users to figure out
> that they need -m in a situation like this.

Because most people do not have too large binary blobs in the history, and
at least when "rebase" was originally written, merge-based rebasing was
way slower than patch-based one.

```
