I need to re-organize a project using git. This project currently has
3 separate (central) repositories and I will need to move a large
number of files back and forth between them. While doing this, there
is development going on on each branch, and the restructuring will
take some time. I have been continuously rebasing my refactor branches
from master in each respective repository.

Is there an established way of doing this sort of complex cross
repository refactoring in a way that preserves the history across
repositories and takes advantage of git's rename merge logic across
repositories, by say moving all repos into a third one, do the merge
and move back?

Effectively, I have three repositories, A, B, and C. I want to move
files from B to A and C and preserve history. This is not a simple
move of one directory, but a large number of individual files being
moved to new locations, renamed, updated etc. I have been working
across A, B, and C, moving and updating files, but this will obviously
not keep the history of the files being moved across repositories. I
imagine that it would be possible to create a new repository D, import
A, B, and C into sub directories, rebase to merge the individual
commits on A, B, and C into one new big commit on D that will make git
understand that files have been moved across, not just removed in one
place and deleted from another, then apply the changes back to each
individual repository?

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to