git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* What is the best way to perform a complex refactoring spanning multiple repositories?
@ 2013-07-26 10:56 Kristian Freed
  0 siblings, 0 replies; only message in thread
From: Kristian Freed @ 2013-07-26 10:56 UTC (permalink / raw)
  To: git

Hi,

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?

Thanks,
Kristian

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-07-26 10:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-26 10:56 What is the best way to perform a complex refactoring spanning multiple repositories? Kristian Freed

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).