[Project Idea] RCM - A Ruby Configuration Management System

Zed A. Shaw wrote:

><snip FastCST Ruby/Odeum stuff>
>
>
Wow. That's cool. Really. I said that out loud when I first read it,
even though nobody was in the room.

Thanks, it's kind of vaporware right now, but I am working on it by way
of Ruby/Odeum.

Doesn't seem, to me, to obviate the need (well, desire) to make mv a
special operation in your RCS. For example:
1)It would be nice to view the entire history of a file in one view, but
more importantly,
2)How do you solve merging? This is obviously a corner case, but say:
- Dijon refactors a couple of the methods in the Person class into a
couple of smaller methods sharing one private method.
- Hellman renames the Person class to User (and renames the file to
user.rb), and modifies all the client code.

Ah yes, the "industrial autism" corner case. Heaven forbid developers
should actually have to talk to each other. Oh no, it's the RCS system's
job to figure out what the developers "mean" (even though computers are
really, really bad at meaning).

My philosophy on these weird merge cases is this: The two developers
who insist on "refactoring" their code wildly without communicating
should be forced into a room with nothing but dull butter knives and a
bucket of rock salt. Whichever developer comes out alive gets to have
their changes in the repository.

Then again, they could also just get off their ass and talk to the coder
next to them. Oh, and maybe plan out what they're going to do before
they do it. That would be great. You know, maybe tell everyone you plan
to hack the User class today? I hear that daily meetings are really
good places to mention these things. Something simple like, "Hey, I
plan to refactor the User class file..." That'd kick ass.

Oh wait, that would mean developers would actually have to work like a
team rather than a bag of cats fighting over a moldy tin of tuna.

Which brings up my other dream feature: Using the Linda ring to tell
people when Joe Moron starts to mangle code before coordinating with
others. It's kind of hard to have conflicts and double changes when
everyone knows you're in there breaking/fixing stuff.

Anyway, stay tuned while I get things in gear again. Sorry for the
rant.

Zed

···

On Wed, 2005-06-29 at 12:26 +0900, Devin Mullins wrote:

Zed A. Shaw wrote:

Doesn't seem, to me, to obviate the need (well, desire) to make mv a special operation in your RCS. For example:
1)It would be nice to view the entire history of a file in one view, but more importantly,
2)How do you solve merging? This is obviously a corner case, but say:
- Dijon refactors a couple of the methods in the Person class into a couple of smaller methods sharing one private method.
- Hellman renames the Person class to User (and renames the file to user.rb), and modifies all the client code.
   

Ah yes, the "industrial autism" corner case. Heaven forbid developers
should actually have to talk to each other. Oh no, it's the RCS system's
job to figure out what the developers "mean" (even though computers are
really, really bad at meaning).

<rant/>

LOL. Okay.

And to correct you a little bit, a system like CVS/SVN doesn't presume to be able to suss out what the developers mean - it asks.

Also, 'twould be nice to view the entire in one view, but yeah, it would require a system you don't want - one that requires manual intervention for things like renames. That, and it still wouldn't help the case where a class gets split in two, in which case your thing works much better.

So, point taken.

In any case, you sound like you need a hug.

Devin