Since I wanted to release a subfolder of my repository to a separate branch, I decided to use git subtree split. The repository is relatively large and git subtree split takes a long time, so I use the --rejoin flag. To avoid the cluttered history resulting from rejoin, I introduced an intermediate branch (named upm-release) from which I do the split then.
In summary, I execute the following commands:
git checkout upm-release
git merge master
git subtree split --rejoin --prefix=sub --branch upm
That goes well exactly 3 times and results in the following history:
But a fourth split introduces a new history line coming from nowhere:
Does anyone know how I could prevent git subtree from messing up the history?

