There is no free licence that requires a redistributor to link back through all previous versions, or to make them available on demand. Nor is there likely to be, because it would fail what the Debian folks call the Desert Island test: a group working on a derivative of a piece of free software in isolation can't meet the requirement. If the requirement is to link, and one of the earlier repositories moves, how are they, without internet, to know? And if the requirement is to distribute, how are they to get hold of (say) a library that they are later told was once part of what they're currently working on but was removed before they made a copy and went to the island?
So if we step back to a licence that requires a link to the source of the work as-distributed, I would urge you not to start adding extra clauses to existing licences. The community refers to these as crayon licences, and there is ample reason to think them a bad idea.
I don't know why you've avoided the idea of a strong copyleft licence. Perhaps it's the requirement that derivatives be bound by the same licence? Unfortunately, for what you want, that's necessary: without it, I can use your code and not provide source to my users, by getting a friend to take a copy of your code, and distribute it to me without the additional clause, which MIT+clause doesn't forbid.
So it seems to me that you might as well use the GPL. Version 3 requires that the source be linked to when the distribution itself is over a network (s6d), and it requires that derivatives be published under the same terms (s5c); version 2 has similar language. You could also use the MPL, since you mention it, but it makes your code less-useful for reuse, because the requirements for combining it with GPL code are a bit baroque.