subtree: fix "git subtree split --rejoin"
"git merge" in v2.9 prevents merging unrelated histories. "git subtree split --rejoin" creates unrelated histories when creating a split repo from a raw sub-directory that did not originate from an invocation of "git subtree add". Restore the original behavior by passing --allow-unrelated-histories when merging subtrees. This ensures that the synthetic history created by "git subtree split" can be merged. Add a test to ensure that this feature works as advertised. Reported-by: Brett Cundal <brett.cundal@iugome.com> Helped-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
fbd3199a6d
commit
0f12c7d4d1
@ -662,6 +662,7 @@ cmd_split()
|
||||
debug "Merging split branch into HEAD..."
|
||||
latest_old=$(cache_get latest_old)
|
||||
git merge -s ours \
|
||||
--allow-unrelated-histories \
|
||||
-m "$(rejoin_msg "$dir" $latest_old $latest_new)" \
|
||||
$latest_new >&2 || exit $?
|
||||
fi
|
||||
|
Reference in New Issue
Block a user