The MergeHistory module is capable of partial merging, where only revisions up to a specified timestamp get merged. But timestamps are not sufficient for this, because all timestamps in the database are rounded or truncated to whole seconds. Theoretically, this could bring problems:
- more revisions than intended might get merged, if multiple revisions around the midpoint have the same timestamp
- the history might not be linear after merging, if the newest revision of the source page is newer than the oldest revision of the target page, but after rounding/truncation they have the same timestamp
Why did you not use revision IDs for this? They are linear as well as timestamps, but guaranteed to be unique.