# git format-patch with useAutoBase = true

2 messages from 2020-09-15 to 2020-09-15. Participants: Jacob Keller, Junio C Hamano.
Thread: https://gitlist.dev/t/54238

## Jacob Keller, 2020-09-15 00:13

Subject: git format-patch with useAutoBase = true
Message-ID: <CA+P7+xpjSxEmB0qpWkhkd=yeA9xF-ssVdW1J5NyJdkqfza=GPg@mail.gmail.com>
URL: https://gitlist.dev/e/CA%2BP7%2BxpjSxEmB0qpWkhkd%3DyeA9xF-ssVdW1J5NyJdkqfza%3DGPg%40mail.gmail.com

```
Hi,

I just ran into a surprising and unexpected issue with git format-patch.

$  git format-patch -1 f7529b4ba3c98470b0e367ba447ad0da84dc308
fatal: base commit shouldn't be in revision list

It took me about 15 minutes to figure out this was referring to the
fact that I have "useAutoBase" set to true in the git config, so that
I get --base=auto by default.

It turns out, that if you, while this config is active, try to format
an ancient patch that is historical, you will get this failure.
Because --base wasn't specified on the command line, this made it very
unintuitive what was going wrong.

(I started to try a git bisect thinking it was a some bug in my
current version of git from the repo, which still failed..)

The failure occurs because the "automatic" base is newer than the
requested commit. I am wondering if it would make sense to relax this
restriction and make the format-patch automatically disable
useAutoBase if it would conflict like this?

At the very least it would be helpful if the error message was more
intuitive and potentially explained what was going on a bit better...
:)

Thanks,
Jake

```

## Junio C Hamano, 2020-09-15 20:24

Subject: Re: git format-patch with useAutoBase = true
Message-ID: <xmqqzh5qzt3d.fsf@gitster.c.googlers.com>
URL: https://gitlist.dev/e/xmqqzh5qzt3d.fsf%40gitster.c.googlers.com
In-Reply-To: <CA+P7+xpjSxEmB0qpWkhkd=yeA9xF-ssVdW1J5NyJdkqfza=GPg@mail.gmail.com>

```
Jacob Keller <jacob.keller@gmail.com> writes:

> $  git format-patch -1 f7529b4ba3c98470b0e367ba447ad0da84dc308
> fatal: base commit shouldn't be in revision list
> ...
> The failure occurs because the "automatic" base is newer than the
> requested commit. I am wondering if it would make sense to relax this
> restriction and make the format-patch automatically disable
> useAutoBase if it would conflict like this?

I agree that it does make a horrible end-user experience to die with
the message like the above, trying to use a nonsense autobase.

```
