@@ -0,0 +1,1285 @@
+%22%22%22%0AOutputs a graphviz dot file of the dependencies.%0A%22%22%22%0A%0Afrom optparse import make_option%0A%0Afrom django.core.management.base import BaseCommand%0Afrom django.core.management.color import no_style%0A%0Afrom south.migration import Migrations, all_migrations%0A%0Aclass Command(BaseCommand):%0A%0A    help = %22Outputs a GraphViz dot file of all migration dependencies to stdout.%22%0A    %0A    def handle(self, **options):%0A        %0A        # Resolve dependencies%0A        Migrations.calculate_dependencies()%0A        %0A        print %22digraph G %7B%22%0A        %0A        # Print each app in a cluster%0A        #for migrations in all_migrations():%0A        #    print %22  subgraph %25s %7B%22 %25 migrations.app_label()%0A        #    # Nodes inside here are linked%0A        #    print (%22 -%3E %22.join(%5B'%22%25s.%25s%22' %25 (migration.app_label(), migration.name()) for migration in migrations%5D)) + %22;%22%0A        #    print %22  %7D%22%0A    %0A        # For every migration, print its links.%0A        for migrations in all_migrations():%0A            for migration in migrations:%0A                for other in migration.dependencies:%0A                    print '%22%25s.%25s%22 -%3E %22%25s.%25s%22' %25 (%0A                        other.app_label(), other.name(),%0A                        migration.app_label(), migration.name(),%0A                    )%0A            %0A        print %22%7D%22;

Add new migration-graphing command.