Currently git pull does that.
> vcs pull ...
...
Auto-merging ...
Merge made by the 'ort' strategy.
This leads to an auto merge of an external repository which alters the commits history.
Steps to repro:
- Create an external repo Y
- Create a commit with file A
- Push Y
- Create main repo X
- Import the external repo Y (
vcs import < ...)
- Add file B to external repo Y
- Commit with amend
- Push external repo Y using force with lease
- Pull a directory with the external repo Y (
vcs pull ...)
- Git does
ort auto merge of the external repo Y, repo Y history is desynchronized now
I've catched that initially in the Dirk Thomas repo fork, so don't known is that applies to yours or not.