Bisecting around, this might be the commit that introduced the breakage.
I really hope that it hasn't been broken for 5 years and I am just doing something wrong.
On Tue, Jul 31, 2018 at 10:09 AM George Shammas <georgyo@xxxxxxxxx> wrote:
At work, we recently updated from a massively old version of git (1.7.10) to 2.18. There are a few code bases that use subtrees, and they seem to have completely broke when trying to merge in updates.I have confirmed that it works correctly in 1.7.10. The 2.18 behavior is clearly incorrect.git initecho init > testgit add testgit commit -m initgit remote add tig https://github.com/jonas/tig.gitgit fetch tiggit merge -s ours --no-commit --allow-unrelated-histories tig-2.3.0git read-tree --prefix=src/ -u tig-2.3.0git commit -m "Get upstream tig-2.3.0"# Notice how the history are merged, and that the source from the upstream repo is in srcecho update > testgit commit -a -m "test"git merge -s subtree tig-2.4.0# Boom, in 2.18 instead of merging into the subtree, it just deletes everything in the repository, which is clearly the wrong behavior.