How do I fix alembic's "Requested revision overlaps with other requested revisions"? : <p>I work on a team using alembic to manage db migrations. I recently pulled master, and tried to run <code>alembic upgrade heads</code>. I got the following message;</p>

<pre><code>INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
ERROR [alembic.util.messaging] Requested revision a04c53fd8c74 overlaps with other requested revisions 453d88f67d34
  FAILED: Requested revision a04c53fd8c74 overlaps with other requested revisions 453d88f67d34
</code></pre>

<p>I got the same message when I tried to run <code>alembic downgrade -1</code>. Running <code>alembic history</code> prints this;</p>

<pre><code>453d88f67d34 -&gt; a04c53fd8c74 (label_1, label_2) (head), Create such and such tables.
2f15c778e709, 9NZSZX -&gt; 453d88f67d34 (label_1, label_2) (mergepoint), empty message
b1861bb8b23f, b8aa3acdf260 -&gt; 2f15c778e709 (label_1, label_2) (mergepoint), Merge heads b18 and b8a
(...many more old revisions)
</code></pre>

<p>which to me looks like a perfectly fine history. <code>alembic heads</code> reports <code>a04c53fd8c74 (label_1, label_2) (head)</code>. </p>

<p>The only thing that looks odd to me is that my alembic version db has two values in it;</p>

<pre><code>my_postgres=# SELECT * FROM alembic_version;
 version_num  
--------------
 a04c53fd8c74
 453d88f67d34
(2 rows)
</code></pre>

<p>The only reference I can find from googling the exception is the <a href="https://github.com/zzzeek/alembic/blob/2df9c52/alembic/script/revision.py#L623" rel="noreferrer">source code</a>, which I'd rather not read through.</p>

<p>How could this situation have come about? How should I fix it? What does "overlaps" mean?</p>
