[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Best way to handle this kind of file splitting across a branch merge?

From: Doug Lee
Subject: Best way to handle this kind of file splitting across a branch merge?
Date: Wed, 21 Apr 2004 20:26:51 -0400
User-agent: Mutt/1.5.4i

I know this is obnoxious, but here's where I am:  I have a trunk
with one branch, after which on the trunk, one file splits into
about five files.  Development of course continued in those five
files, but suddenly there arose a need to port selected changes
from that development back to before the split.  Of course cvs diff
is little help, because the file names changed.  A simple concatenation
of the five files won't work either, because the split was of course
more logically than physically guided.  I've even thought of sorting
lines from both the original file and the concatenation of split
files, comparing the results with diff, and using that to identify
blocks of code that need to be merged back...but that sounds like
a royal mess.  An organized set of diffs from just after the split
to the present might have helped, except that (1) the splits (plural)
didn't all occur at once, (2) a few other changes occurred in commits
with splits, and (3) code migrated from time to time among subfiles
to reduce coupling between them.  The most helpful solution might
involve a sorting of code blocks (functions), but that's language-specific
and would require coding.

Surely this problem is not uncommon.  I know Meta CVS handles
versioning file names, tree structures, etc.; but even there I'm not
sure how I'd go about accomplishing this merge.

So my question, more than how to get out of my current pickle, is how
to handle such pickles in general, including what preparations,
add-ons, etc., to use.

Doug Lee           address@hidden
Bartimaeus Group   address@hidden
"The nice thing about standards is that there are so many of them
to choose from." -- Andrew Tanenbaum

reply via email to

[Prev in Thread] Current Thread [Next in Thread]