i'm starting to work on reintegrating my Mule workspace back into the
development workspace. since the development workspace has just started a new
cycle and development on it is fairly slow or perhaps even nonexistent, this
seems a good time to act.
i'm generally going to be working from large changes to small ones. the first
thing i'm going to be doing is what might be the "largest" change from the
perspective of diffs, although there isn't much actual code logic change going
on. rather, i cut out all the code that's scattered over numerous modules that
knows about and deals with the exact representation of internal text in buffers,
strings, and characters, and put it into a single file, text.c, along with a
header text.h. this makes a lot of sense, because it isolates the code that
knows the particulars about the representation into one place, and we can put a
"firewall" of sorts around it -- all code outside knows only some very general
characteristics, that we've specified. it must do all its work without
knowledge of these particulars. in essence, this is just standard data-hiding
and data-abstraction, so familiar in the OO world. the reason for this is
because the internal structure is going to change at some point -- e.g. UTF2000,
fixed 8-, 16-, and 32- bit buffers, fixed 16-bit Unicode buffers, etc. etc.
the practical ramifications of this is that i'm going to be cutting and pasting
a lot of code, which will mess people up if they've been working in these
areas. luckily the code that works with the textual representations is pretty
stable and seen almost no work on it in quite awhile, so i don't think the
problems will be too much. but i'm going ahead and posting to warn people --
they have to be extra careful when they commit these changes. in particular, if
they've made any changes in any of the areas where the major code movement will
happen, their best bet would be to make a cvs diff of their whole workspace
before updating after i've committed my changes, and back up the workspace.
then do the update, and if there are any really huge conflicts [which would
happen if you changed a line in the middle of some big piece of text that's
getting moved], resolve the conflicts in favor of my changes [or just erase the
file entirely and retrieve it again from cvs, if that's possible], then reapply
your changes using patch or whatever in the place where the text was moved to.
i'd like to hear from anyone who thinks they might run into problems from this
change, so that i can coordinate when i'll do it.
sound good? let me know.
--
ben
I'm sometimes slow in getting around to reading my mail, so if you
want to reach me faster, call 520-661-6661.
See
http://www.666.com/ben/chronic-pain/ for the hell I've been
through.