title: Apply South migrations with already applied migrations
body: <p>In the master branch of our project, the migrations of one of our django apps looks like this:</p>
  
  <pre><code># ...
  (*) 0022_datamigration_1
  (*) 0023_datamigration_2
  (*) 0024_datamigration_3
  (*) 0025_datamigration_4
  </code></pre>
  
  <p>As you can see, those migrations are already applied on our production system. In a branch of mine, I developed a feature which requires quite a lot migration:</p>
  
  <pre><code>(*) 0022_datamigration_1
  ( ) 0023_my_schemamigration_1
  (*) 0023_datamigration_2
  ( ) 0024_my_datamigration_1
  (*) 0024_datamigration_3
  (*) 0025_datamigration_4
  ( ) 0025_my_datamigration_2
  ( ) 0026_my_schemamigration_2
  # ... some more not yet applied schemamigrations
  ( ) 0030_my_datamigration_x
  </code></pre>
  
  <p>This is again the "migration history" of the production database, but because I worked simultaneously on my feature while the master changed, some of the migrations were already applied, and now I have these "gaps" in the history. South will deny appling them by running <code>python manage.py migrate my_app</code></p>
  
  <pre><code> ! Migration my_app:0024_datamigration_3 should not have been applied before my_app:0024_my_datamigration_1 but was.
   ! Migration my_app:0023_datamigration_2 should not have been applied before my_app:0023_my_schemamigration_1 but was.
  </code></pre>
  
  <p>How can I get rid of those "Migration gaps" (I guess I'm feeding Google with the wrong keywords)? At least, the migrations should all affect different models, so I guess it is possible to do it somehow.</p>