diff --git a/README.rst b/README.rst index 9604197..634544b 100644 --- a/README.rst +++ b/README.rst @@ -89,6 +89,13 @@ forget to apply them again at the end:: python manage.py unmigrate --fake python manage.py migrate --fake +No more master +-------------- + +This package (still) uses ``master`` as the name of the default branch. If that +is no longer the case for your repositories, you can define ``MAIN_BRANCH`` in +your Django settings. + Do you see potential? --------------------- diff --git a/django_unmigrate/core.py b/django_unmigrate/core.py index d1a6ab1..a2ca2c9 100644 --- a/django_unmigrate/core.py +++ b/django_unmigrate/core.py @@ -9,6 +9,8 @@ from git import Repo from git.exc import GitCommandError +from .settings import MAIN_BRANCH + class GitError(Exception): message = "" @@ -20,7 +22,7 @@ def __str__(self): return self.message -def get_targets(database="default", ref="master"): +def get_targets(database="default", ref=MAIN_BRANCH): """ Produce target migrations from ``database`` and ``ref``. """ @@ -28,7 +30,7 @@ def get_targets(database="default", ref="master"): return get_parents_from_targets(added_targets, database) -def get_added_migrations(ref="master"): +def get_added_migrations(ref=MAIN_BRANCH): """ Detect the added migrations when compared to ``ref``, and return them as target tuples: ``(app_name, migration_name)`` diff --git a/django_unmigrate/management/commands/unmigrate.py b/django_unmigrate/management/commands/unmigrate.py index caff50f..b3a802b 100644 --- a/django_unmigrate/management/commands/unmigrate.py +++ b/django_unmigrate/management/commands/unmigrate.py @@ -4,6 +4,7 @@ from django.db import DEFAULT_DB_ALIAS from django_unmigrate.core import get_targets, GitError +from django_unmigrate.settings import MAIN_BRANCH class Command(BaseCommand): @@ -11,7 +12,7 @@ class Command(BaseCommand): def add_arguments(self, parser): parser.add_argument( - "ref", nargs="?", default="master", help="Git ref to compare existing migrations.", + "ref", nargs="?", default=MAIN_BRANCH, help="Git ref to compare existing migrations.", ) parser.add_argument( "--database", diff --git a/django_unmigrate/settings.py b/django_unmigrate/settings.py new file mode 100644 index 0000000..ab2d35a --- /dev/null +++ b/django_unmigrate/settings.py @@ -0,0 +1,4 @@ +from django.conf import settings + + +MAIN_BRANCH = getattr(settings, "MAIN_BRANCH", "master")