﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
28535	Message on conflicting migrations is misleading for rebase workflows	karyon	Masashi SHIBATA	"When there are conflicting migrations, it says 
{{{
Conflicting migrations detected; multiple leaf nodes in the migration graph: (%s). To fix them run 'python manage.py makemigrations --merge'
}}}

I lead a project where we have frequent newcomers. on a few occasions they encountered this message and the reason was always that they rebased their feature branch on a new master, and the master brought a new migration which conflicted with a new migration in the feature branch.

we generally don't see why we would want the merge migrations and advise them to migrate to the common ancestor, rename their migration and change the dependency, and then run migrate again. that's easy enough and the end result is simpler.

i think makemigrations --merge matches well to a git workflow with merging. in our project, we use rebasing instead, and there the merge migrations don't make much sense.

I propose to change the message to {{{To fix them by creating a merge migration, run  'python manage.py makemigrations --merge'}}} to make it more clearer what will happen, and add {{{Alternatively, you can resolve the conflict manually}}}.

an automatic solution could look like this: {{{mergemigrations --rebase <number_of_migration_to_rebase>}}}, which would ask for confirmation {{{this will rebase migration <name_of_migration_to_rebase> onto migration <name_of_new_base_migration>}}}, or {{{this will set <name_of_new_base_migration> as new dependency of <name_of_migration_to_rebase>}}}."	New feature	closed	Migrations	dev	Normal	wontfix			Accepted	1	0	0	1	0	0
