Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Tom Lord's Decentralized Revision Control System

timothy posted more than 12 years ago | from the interesting-approach dept.

Programming 300

Bruce Perens writes: "He'll have to change its name, but Tom Lord's arch revision control system is revolutionary. Where CVS is a cathedral, 'arch' is a bazaar, with the ability for branches to live on separate servers from the main trunk of the project's development. Thus, you can create a branch without the authority, or even the cooperation, of the managers of the main tree. A global name-space makes all revision archives worldwide appear as if they are the same repository. Using this system, most of what we do using 'patch' today would go away -- we'd just choose, or merge, branches. Much of the synchronization problem we have with patches is handled by tools that eliminate and/or manage conflicts -- they solve some of the thorny graph topology issues around patch management. Arch also poses its own answer to the 'Linus Doesn't Scale' problem. This is well worth checking out." If you're asking "What about subversion?", well, so is Tom.

cancel ×

300 comments

Sorry! There are no comments related to the filter you selected.

fp (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#2958427)

scooby dooby doo!!!

Re:fp (-1)

neal n bob (531011) | more than 12 years ago | (#2958436)

damn dirty ac. This first post rightfully belongs to a logged in troll.

Also - props to whoever came up with way to block cmdertaco. Well done sir - may the dead penis bird watch over you and your house.

Re:fp (-1)

IAgreeWithThisPost (550896) | more than 12 years ago | (#2958506)

someone figured out how to block page widening?

Re:fp (-1)

Fecal Troll Matter (445929) | more than 12 years ago | (#2958523)

Velma's a lesbian.

Has the ban on my IP been lifted yet? (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#2958578)

Cool! I guess it has! Oh damn, this post is going to get it banned again. :-(

Re:fp (-1)

neal n bob (531011) | more than 12 years ago | (#2958536)

for the logged in:

"in your preferences set +1 bonus for long post to 1; make cmdertaco your foe and set foes at -1; then set to browse at 0."

Not sure who came up with it but it works - it bumps all the -1 trolls to 0 except your foes.

If you are a filthy ac then there is no helping you.

Re:fp (-1)

IAgreeWithThisPost (550896) | more than 12 years ago | (#2958564)

wouldnt this also ignore all short posts?

Re:fp (1)

SumDeusExMachina (318037) | more than 12 years ago | (#2958572)

If your post is 1 character long, then yes.

Re:fp (-1)

IAgreeWithThisPost (550896) | more than 12 years ago | (#2958597)

ahh it's so weird seeing my fellow trolls with a 0 score, but it works.

This might be very bad (-1, Offtopic)

Krapangor (533950) | more than 12 years ago | (#2958428)

Decentralization is a communist idea.

Enslave niggers (-1)

Ralph JewHater Nader (450769) | more than 12 years ago | (#2958429)

That's all they're good for. Brute work.

Re:Enslave niggers (-1)

Roto-Rooter Man (520267) | more than 12 years ago | (#2958548)

They're okay at basketball, too.

Re:Enslave niggers (-1, Flamebait)

Anonymous Coward | more than 12 years ago | (#2958766)

haha. man.

Alan Thicke (second poster) DEAD. (-1)

Alan_Thicke (553655) | more than 12 years ago | (#2958430)

I just heard the sad news on CBC radio. Comedy actor/writer Alan Thicke was found dead in his home this morning. Even if you never watched his work, you can appreciate what he did for 80's television. Truly a Canadian icon.
He will be missed :(



Show me That Smile (The Growing Pains Theme Song):

Show me that smile again.
Ooh show me that smile.
Don't waste another minute on your crying.
We're nowhere near the end.
We're nowhere near.
The best is ready to begin.

As long as we got each other [slashdot.org]
We got the world
Sitting right in our hands.
Baby rain or shine;
All the time.
We got each other
Sharing the laughter and love.

Re:Alan Thicke (second poster) DEAD. (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#2958497)

i appreciate you.
cathy.

POSIX! (3, Funny)

ekrout (139379) | more than 12 years ago | (#2958452)

In his FAQ he states it works on any system that's POSIX compliant.

/me high-fives Tom

Re:POSIX! (0)

Anonymous Coward | more than 12 years ago | (#2958543)

Only problem with POSIX is that it doesn't have the sanity and nerdness of function calls such as 'scandir', instead we are rendered to the dummed down 'dirread'. BSD has so much more sanity than all these new fanged, microsoft funded, pseudo standards.

Re:POSIX! (0)

Anonymous Coward | more than 12 years ago | (#2958587)

posix is not a ms standard... its a unix standart...

and your parent is just whoring for karma

Re:POSIX! (0)

Anonymous Coward | more than 12 years ago | (#2958686)

winnt has posix implementaitons. google.

Re:POSIX! (0)

Anonymous Coward | more than 12 years ago | (#2958763)

"Microsoft Corp. (Redmond, WA) funded $35 million in to the creation of the first POSIX.1 standard (REUTERS), though their implementation is limiting."

Re:POSIX! (0)

Anonymous Coward | more than 12 years ago | (#2958755)

He says it should work. When was the last time you saw something work 100% the same on every system that claims to be POSIX compliant?

Re:POSIX! (0)

Anonymous Coward | more than 12 years ago | (#2958851)

Yes, it is written in bourne shell script!

Oh, golly gee! (-1, Troll)

Anonymous Coward | more than 12 years ago | (#2958461)

Yes, but without central planning, Linus and the Cheap Software freaks will be unable to promote their communist agenda! And when true freedom is realized, they will be exposed for the hypocrites that they are! RMS and ESR will be forced to admit wrongdoing for the first time in their pathetic little lives! Oh, lawsy!

-- The_Messenger

why FTP? (5, Insightful)

devphil (51341) | more than 12 years ago | (#2958465)

I guess I'm wondering why arch uses FTP as its network protocol. The FAQ says that it should be workable behind firewalls since the data is all transferred in passive mode, but this still seems like a huge step backwards.

So, what am I missing? I only got to read a little bit of the site before it got DDOS'd by slashdot.

Re:why FTP? (4, Insightful)

Anonymous Coward | more than 12 years ago | (#2958518)

I guess I'm wondering why arch uses FTP as its network protocol.
It's because this "Decentralized Revision Control System" is just a guise for a p2p filesharing. It's really cool: you check in all your files and they automatically get replicated, having become part of the "master tree". No one can shut down the master tree. No one can tell you not to put your files there. (Hey, it's part of my project!)
Slick.

Will RIAA attack me if I put mp3 files in the tree (1)

Grax (529699) | more than 12 years ago | (#2958843)

Will RIAA attack me if I put mp3 files in the source tree?

(with the permission of the author, performer, their music studio, and Aunt Tillie of course)

Re:why FTP? (2, Insightful)

FlowerPotAdmin (541227) | more than 12 years ago | (#2958576)

I guess I'm wondering why arch uses FTP as its network protocol.

Well, the article mentioned that arch consisted of a bunch of shell scripts and some C code, so it looks like ftp was just an "off the shelf" component that the author could make good use of.

Re:why FTP? (5, Insightful)

curunir (98273) | more than 12 years ago | (#2958692)

hmm...

wouldn't rsync over ssh have been a much better choice for an "off the shelf" component? Most ftp servers tend to have a few (read: waaaaay tooooo maaaany) security concerns for my taste.

Re:why FTP? (3, Insightful)

GigsVT (208848) | more than 12 years ago | (#2958801)

or even scp for that matter...

programs or protocol? (3, Insightful)

devphil (51341) | more than 12 years ago | (#2958875)

Well, flowerpot, now I'm wondering whether arch uses the ftp programs, or just the ftp protocol. That is, do you need an ftp client or server installed for arch to work? From what I've seen it wouldn't be too hard to do the protocol yourself.

I still can't get to the site, so oh well.

And others (4, Insightful)

Ed Avis (5917) | more than 12 years ago | (#2958470)

Not only 'what about Subversion' but also 'what about CVS, what about Aegis'. If you include non-free systems then what about Perforce or Bitkeeper.

This is getting worse than journalling filesystems :-(.

Re:And others (0)

Anonymous Coward | more than 12 years ago | (#2958532)

This is getting worse than journalling filesystems :-(.
What do you have against journaling filesystems?
Oh, wait, I know. You like to have a nice long coffee in the morning while you fsck those 80 gigs.

Re:And others (1)

BdosError (261714) | more than 12 years ago | (#2958579)

I believe he was complaining about the proliferation of competing journalling file systems, not about journalling filesystems themselves.

Re:And others (0)

Anonymous Coward | more than 12 years ago | (#2958714)

don't use he to refer to a previous poster. if you know his or her name from nick or .sig, then use it. assuming he is sexist.
your parent was done by me also. I was just making a crack, I knew what Ed meant. Maybe I'll whore +1, maybe not. who knows.

Re:And others (1)

Ace Rimmer (179561) | more than 12 years ago | (#2958585)

This piece of software should kick cvs off the door. It should also provide even something like ViewCVS (cvs web interface by Greg Stein, author of Subversion).

It has about 40k of sources.

Umm, it's either an ingenious piece of software xor bullshit and plain kidding using strong words.

Re:And others (2, Insightful)

FlowerPotAdmin (541227) | more than 12 years ago | (#2958607)

If you include non-free systems...

Unfortunately, for some people/projects that's not a n option.

This is getting worse than journalling filesystems :-(

I can see how you would feel this way, but keep in mind, a healthy number of different implementation ideas and design philosophies can only hasten the development of open source tools.

Re:And others (1)

njm (556768) | more than 12 years ago | (#2958656)

This is getting worse than journalling filesystems :-(. Well, like it or not, that's more or less the sentiment after which this piece of versioning software is going.

Re:And others (3, Informative)

Polo (30659) | more than 12 years ago | (#2958805)

er... (3, Funny)

Anonymous Coward | more than 12 years ago | (#2958472)

A global name-space makes all revision archives worldwide appear as if they are the same repository
I don't know whether to laugh or cry...

Re:er... (2, Interesting)

coyul (119455) | more than 12 years ago | (#2958545)

I don't see this as a big deal (or a big problem) at all. If you simply prefaced the name of each module with the fully qualified domain name of the server it happens to be sitting on, you'd accomplish this painlessly. This is already recommended practice for third-party Java developers (a package called 'widget' developed at acme.com would be called com.acme.widget)

Re:er... (2, Insightful)

FlowerPotAdmin (541227) | more than 12 years ago | (#2958644)

So, if I develop something useful, it would be called edu.cornell.resnet.jmk63.widget? A little unwieldy, methinks. I suppose it works as a unique identifier, but what if I graduate and I no longer have control of that location? Back to the arch example, if merging code trees is done without a full copy, anyone who is patching against my code tree (or even anyone patching against them) is out of luck.

Re:er... (0)

Anonymous Coward | more than 12 years ago | (#2958736)

but what if I graduate and I no longer have control of that location?
I love it! Not "but what about when I graduate?" but "but what if I graduate?"
In these days of LAN addiction, that's becoming a bigger and bigger if.
Paul.
(Currently taking a second bachelors on campus).

Re:er... (1)

FlowerPotAdmin (541227) | more than 12 years ago | (#2958833)

Hey, you know what I mean. If "I" am the average user, then I may or may not be a student, therefore I may or may not graduate.

This sounds like it could be good, if... (3, Interesting)

eric_aka_scooter (556513) | more than 12 years ago | (#2958476)

I used to work for a company (let's call them ACME, because I don't want to be sued) whose hq was on the other side of the contry, and with programming groups all around the world. We used VSS, with the server at HQ, and it literally took 10 seconds or more to change directories, and much longer to retrieve or update! This hobbled our office's ability to work (HQ didn't care, they just made us work weekends to make up for the loss of efficiency).

A more distributed source control system could obviously circumvent problems like these, but with this caveat: the code that different groups work on would need to be sufficiently black boxed that most changes wouldn't require changes in other projects. It's just good programming style, but I know that this wasn't the case at ACME, and given my experiences with Corporate America I doubt it's true in most places. Maybe I'm just being pessimistic...

Anyway, it sounds like a good idea if it's used right.

Visual Sourcesafe (2)

HalfFlat (121672) | more than 12 years ago | (#2958611)

We tried - briefly - VSS in a project involving approximately 15 developers in the same building. It was slow and awful.

CVS may not integrate so prettily into VC++, but it does work! We found switching over to CVS to be relatively painless: the only problem was that sometimes a file would be edited using Notepad or something, that shouldn't have been, which introduced ^M characters that confused CVS.

Extrapolating from our experiences, the reason why VSS worked so poorly for your company might be more due to the quality of VSS rather than the degree of distribution of your developers.

As a replacement for patching? (5, Insightful)

Sludge (1234) | more than 12 years ago | (#2958486)

That sounds like hype. In the real world, selecting the aspects of software we want to compile from on remote sites would have serious implications. The first being security. The second being quality. Linus may not scale, but he has good judgement. That's the fundamental problem.

Re:As a replacement for patching? (5, Interesting)

patnotz (112592) | more than 12 years ago | (#2958562)

Whether Alan Cox (or whomever) uses patches or some other source control (like arch) (a) you still have to download the software from a remote site (i.e., the Net) and (b) Alan still has control over what makes it into his repository.

The point is that it allows separate developers (AC, AA, LT, etc. in the kernal case) all to maintain their OWN trees while enjoying the powers of source control software. The added benefit of arch is that their separate trees are all connected without having to give write-permission to each other.

Re:As a replacement for patching? (0)

Anonymous Coward | more than 12 years ago | (#2958608)

In the real world, selecting the aspects of software we want to compile from on remote sites would have serious implications. The first being security. The second being quality.
I'll let you in on a little secret. The reason Microsoft's bloatware is the most popular is because it's exactly what marketing wants it to be, and marketing consists of people who spend all their time looking at people.
Until you can show me a system where a ten million line source tree will EVOLVE into the slickest overall interface between the computer and the user, you won't convince me that Microsoft is dying on the desktop. Linux coders code well. They don't have direction. They write slick code, slick modules, and cram in every feature that saves them a minute or a keystroke, even at the cost of an hour or two of hard programming.
Microsoft, from what I hear, takes it time about churning out some of the ugliest code you can imagine.
It is a beast, however, with a direct.
And believe me, if The Beast walks by jumping two just steps forward, two feet together, then one just step back, and keeps repeating it, it will get FARTHER toward the mountain than a person doing stunts on a bicycle, with no real idea of where he or she's going, but looking damn fine doing it.
As for your first point ("what about 'security' if you're grabbing source from across the world?"), I'll let you in on another little secret: it's called asymmetrical public key encryption. It means that I can pass you a note the WHOLE WORLD sees, can change, and knows just what protocol we agreed on for passing notes, and you can pass me a note back, which the WHOLE WORLD sees, can change, and knows just what protocol you used to write it, and NO ONE will know what the notes say, and you and I will BOTH know (after one more similar receipt ticket) that we BOTH got EACH message the other person said, and that NO ONE else got it. Furthermore, we know that even if the other person is EVIL, he or she CAN'T mess up our interaction with anyone else, CAN'T understand the content of the messages passed to anyone else, blah blah blah blah blah. You get the point. God, how lame is this.
This is all the information you need (that is, if you trust that you're getting it the same as I'm sending it, which you could, for example, if I'm reading it to you on the phone. But slashdot's pretty reliable usually, unless someone is personally out to get you):
5728 B7C3 EF1F 91F2 E35B
4AB7 C5D2 5BF1 79E9 4382 (fake).
After this, you can send me a message no one else can read. I can reply, no one else can see.
This doesn't interfere with anyone else also sending me independent shit. grow up. I'm drunk.

Re:As a replacement for patching? (3, Insightful)

JabberWokky (19442) | more than 12 years ago | (#2958664)

And believe me, if The Beast walks by jumping two just steps forward, two feet together, then one just step back, and keeps repeating it, it will get FARTHER toward the mountain than a person doing stunts on a bicycle, with no real idea of where he or she's going, but looking damn fine doing it.

Right - and along with that guy doing stunts are three hundred thousand others trying to get to the mountain... some on bikes doing tricks, some with their heads down and pedaling in a direction (it might even be a "wrong" direction, and they find a new mountain), and they might be driving a HumVee, Porche or F-15.

If you look at the recent (and ongoing) Limux VM fight, it looks the exact same as any inhouse coder fight - the exact sort of thing Microsoft encourages (there are often two parallel projects working towards the same goal). The only difference is that the OS designs don't have to be killed by bugetary contraints... they go on until there is a clear winner. And there are branches of code (like GUI design) where there *is* no clear "better" solution. That's where you get many parallel projects, all just getting better and better or heading for different niches (Blackbox vs. KDE for example).

--
Evan

Re:As a replacement for patching? (2)

JabberWokky (19442) | more than 12 years ago | (#2958695)

The only difference is that the OS designs don't have to be killed by bugetary contraints

Addendum: That "OS" stands for Open Source, not Operating System. Just for clarification.

--
Evan

sounds like ClearCASE (3, Interesting)

ethereal (13958) | more than 12 years ago | (#2958489)

The ability to do distributed development, manage multiple (possibly hostile or private) branches at once, good merge and diff tools, etc. sounds sort of like ClearCASE. Except of course that ClearCASE costs money, and doesn't have the global namespace thing going on. Rational had better be careful or their customers are going to move over to arch (especially since their Unix GUIs have sucked more and more with each successive release).

Bravo to the author on this tool - it sounds like a great advance of the state of the art if it works like he says.

Re:sounds like ClearCASE (1)

sirinek (41507) | more than 12 years ago | (#2958546)

You mean Rational even still supports anything on a non-Windows platform?!

Seriously though, I've been a Clearcase user and administrator on both Win2k and Solaris systems, and it will be a LONG time before anything like this beats Rational. MultiSITE (or does it have a different name these days?) is a great product if you are doing distributed development.

Who cares about the UNIX gui anyway, aside from the nice diff tool, its easier to use the command-line Clearcase commands. Lots of commercial GUI development tools support integrating Clearcase anyway.

siri

Re:sounds like ClearCASE (1)

steve_l (109732) | more than 12 years ago | (#2958612)

the trouble with clearcase is in yor post: "clearcase administrator". Its an RCS tool -why does it need full time hand holding to be happy.

Also, regarding their windows support, that sucks too, just differently. Doesnt work on notebooks with DHCP network addresses, for example.

Re:sounds like ClearCASE (1)

ethereal (13958) | more than 12 years ago | (#2958777)

Most of the babysitting the ClearCASE needs is with regards to the multisite/distributed development environment. Since it was originally geared for an environment where sites weren't always connected, it does a UUCP-like synch process where it sends packets of changes with monotonically increasing revision numbers, etc. If you have an import of a packet mess up then you have some work to do to straighten it out, because ClearCASE isn't really smart enough to. This is not a full-time job (well, at least not at my site), just a little trouble-shooting now and then. But if the arch tool can handle multisite development in a distributed and less-coupled way than ClearCASE, then it really might be time to switch.

Oh yeah, ClearCASE does have one nice feature in common with arch that CVS lacks: it does treat directories and files as elements separate from their names, so you can rename things and even remove files from directories without actually losing the element and its associated revision history.

Re:sounds like ClearCASE (1)

Chris Parrinello (1505) | more than 12 years ago | (#2958554)

Pbbbt... who actually uses the Unix GUIs with ClearCase? The only GUI to use with clearcase is xlsvtree and even then only as a reference to compose your cleartool command line command. :)

The cleartool command line command set and options are extremely powerful and highly scriptable. Why waste your time clicking around to do a main line merge from a development branch when one simple findmerge command can do the same thing?

Re:sounds like ClearCASE (1)

ethereal (13958) | more than 12 years ago | (#2958721)

You'd get no argument from me, except that they f*cked up the xlsvtree too :( For example, when doing a merge, you used to get to pick both files in the same window, but now it pops up a separate window and forces you to find the version again. Not to mention the lame tool that comes up (eventually) when you do a describe.

It's true that I wouldn't use the GUI under any OS to do a merge for a bunch of files.

Re:sounds like ClearCASE (2, Informative)

Anonymous Coward | more than 12 years ago | (#2958657)

Except of course that ClearCASE costs money
Actually, I wrote an open-source implementation here [freshmeat.net] (with a few additions: mounting the repository as a filesystem, and a couple of other things as I note them.). Actually, I didn't really "write" it, just cleaned it up a little (besides these additions).. The original "implementation" in open source is just the output of program to turn my reverse engineered bytecode into pretty object code. Then I gave it names and stuff.
NOTE: You can only do this with COPYRIGHTED but UNPATENTED software. You can't circumvent a patent by reimplementing it with different control structures and variable names. You CAN do so with a copyright. If the binary is totally different (based on objectification), then so is the content. (This is the "clean room" reimplementation you sometimes hear about.)

Question (2, Offtopic)

Taco Cowboy (5327) | more than 12 years ago | (#2958502)



Other than CVS and arc, are there any other (GPL)software revision control system available, and how best you rate them ?

Re:Question (2, Funny)

rbgaynor (537968) | more than 12 years ago | (#2958563)

Do yellow Post-It notes stuck to the bezel of my monitor count?

Re:Question (0)

r00tarded (553054) | more than 12 years ago | (#2958987)

hey are we co-workers?

Re:Question (0, Informative)

Anonymous Coward | more than 12 years ago | (#2958566)

Mr. Cowboy,

The only other system in "widespread" use is GNU RCS [gnu.org] . GNU RCS is different in that it's actually used by respectable organizations, not just amateurish Cheap Software projects. This is because it is similar to older, commercial systems which aren't available on modern systems. Unfortunately, development of RCS has fallen by the wayside too, and CVS is almost guaranteed to be the only Cheap Software system available in five years.

But, honestly, if you're have a Real Job at a Real Company, the cost of RCS is usually insigificant. And for personal projects and Cheap Software shit, CVS is more than adequate.

If you're like most Slashdot readers -- i.e. living in their parents basements and "hacking" Perl while living on food stamps -- and thus forced to use CVS, I recommend Fogel's book [red-bean.com] . It's actually available online, but I recommend buying it, because it is unique in two aspects: first, it's the only Coriolis book I've seen that isn't total BULLSHIT; second, it's some of the best-written Cheap Software documentation you'll ever read. If you're poor or stupid enough to use Cheap Software RCS, this book is essential. Fogel is really too good for Coriolis... I'd like to see this book reprinted by New Riders.

HTH, you delicious newbie fag!
-- The_Messenger

Re:Question (0)

Anonymous Coward | more than 12 years ago | (#2958670)

That's the lowest user number of a "newbie" that I've ever seen...

Re:Question (2, Informative)

T-Punkt (90023) | more than 12 years ago | (#2958880)

Are you a troll or just uninformed?

CVS is built upon RCS, they use the same fileformat to store revisions. Actually you can see CVS as "RCS + network support". Using RCS instead of CVS doesn't buy you anything. Since you mentioned the GNU RCS homepage, this is from the GNU CVS homepage:

"While CVS stores individual file history in the same format as RCS, it offers the following significant advantages over RCS:
[...]"
(Read the rest on http://www.gnu.org/software/cvs/ )

So saying RCS is for "Real Jobs" at "Real Companies" and CVS is just for "amateurisch Cheap Software projects" just makes you look pretty dumb IMHO.

Re:Question (1)

lightray (215185) | more than 12 years ago | (#2958589)

There's always PRCS [berkeley.edu] :

PRCS, the Project Revision Control System, is the front end to a set of tools that (like CVS) provide a way to deal with sets of files and directories as an entity, preserving coherent versions of the entire set.

Re:Question (1)

BdosError (261714) | more than 12 years ago | (#2958609)

Offtopic (-1):
How is this question Insightful?

I love calculus (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#2958531)

All this is thanks to Calculus! Praise the integral!

a better question is this: (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#2958552)

Why did they only blow up half the death star?

Why didnt they just blow up the whole thing, then they wouldnt have had to come back and blow up the rest in Episode VI?

Doesnt that make more sense?

Robble Robble.
-Sf

Yeah, fuck authority! (0, Flamebait)

SumDeusExMachina (318037) | more than 12 years ago | (#2958557)

That's the way to stick to the man, Bruce! We don't need some "project manager" telling us what's good for us! Let's just commit anything and everything that we can, because we are always right, right?

Coherent code is for morons. Especially if it works without crashing and corrupting all your data.

Subversion (2)

bfree (113420) | more than 12 years ago | (#2958559)

Call me a dummy but I assumed he meant the possibility of corrupting a distributed global namespace. I presume this features some form of strong authentication system (couldn't reach the site) but it could be pretty hairy if you were doing a make world out of this using any "unofficial" patch sources, but we all audit all the code we run don't we!

ClearCASE (1, Interesting)

Anonymous Coward | more than 12 years ago | (#2958582)

ClearCASE has been doing this for many years now.

Nothing new. not revolutionary...

i know. I'm just an AC, but i am right.

Re:ClearCASE (1)

LarryRiedel (141315) | more than 12 years ago | (#2958718)

I think the revolutionary part is doing it with a small, clean and implementationally transparent solution. Cost aside, I think ClearCASE is far too complex to deserve the widespread adoption of CVS.

I think any solution which supplants CVS should be one where the persistent data model which represents the state of the system is simple and elegant enough that any competent programmer can pretty easily write a completely independent set of software which works seamlessly and correctly with the "official" software to manipulate the data.

The architecture of "arch" seems like it may provide the important advanced features without the inordinate complexity.

Oh for the love of Jesus (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#2958583)

shut the fuck up with all this cathedral and bazaar bullshit. ESR was grasping at straws when he coined the term, it never quite fit, and yet people persist in trying to make it somehow apply to every tom, dick, and harry's freshly invented concept.

Re:Oh for the love of Jesus (-1, Flamebait)

Anonymous Coward | more than 12 years ago | (#2958613)

Word up brutha AC!
You rock da cathedral!

Re:Oh for the love of Jesus (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#2958655)

Have you ever considered therapy? Might help you cope with the anger.

From his faq (3, Interesting)

Anonymous Coward | more than 12 years ago | (#2958596)

On, subversion and arch...


Both systems provide repository transactions with ACID
properties.



ACID (Automicity, Consitancy, Isolation and Durability) is only something that has been implemented and tested well on high read RDBMS such as Oracle.

When you think about that, why is it that no one is using a DB backend to source control? Wouldn't that just get rid of so many ambguities? For one, we wouldn't have to deal with all the nonsence and create a million wheels, when a nice pair of rolls royces resides with a good RDBMS.

People need to think outside their brains, and in regard to source control, I feel we need to make more packages that interface well with a good RDBMS rather than create our own RD functionality in 40ks. What's the use?

Anyone know a good system of incoroprating source control with a databases? Oracle and Postgres would do.

Re:From his faq (1)

BdosError (261714) | more than 12 years ago | (#2958625)

Actually, StarTeam [starbase.com] from Starbase [starbase.com] uses a DBMS as a backend, and it's configurable. I worked at a place that used it with an Access backend <shudder>, but upgraded to a full Oracle DB when we (quickly) outgrew it.

Re:From his faq (2, Informative)

The Man (684) | more than 12 years ago | (#2958654)

Anyone know a good system of incoroprating source control with a databases? Oracle and Postgres would do.

Well, it's certainly not a GOOD source control system, but I know for a fact that starteam [starbase.com] uses a database backend. I'm pretty sure Rational ClearCase does also, and I'm told it sucks a good deal less. Anyway, there are a lot of problems with starteam; one of them being its strong preference for running on microshaft platforms, another its lack of database support (access, sql server, and oracle only - gimme a break!) and its outrageous cost (10s of $k for a small team plus massive server hardware). So, yeah, it's been done, but I'd much rather use even CVS than starteam. ClearCase, well, I'd love the chance to see it, but I never will at this cheapass company.

Re:From his faq (1)

vitesse (218912) | more than 12 years ago | (#2958746)

Well, CMVC (IBM) sits on top of DB2, and I'm pretty sure Continuus uses an RDBMS at the back end.

Re:From his faq (1)

Dave Goldblatt (34584) | more than 12 years ago | (#2958906)

Continuus [telelogic.com] (now owned by Telelogic) uses Informix as its back end.

Runs on Windows, Solaris, Linux, etc. etc. etc.

Re:From his faq (1)

roryh (141204) | more than 12 years ago | (#2958791)

CCC/Harvest from CA uses Oracle at the backend, but I think that's only for version diff info. It's pretty cool for tracking specific revisions throughout different levels of release of code, but it's a pig to use if you're a coder.

Re:From his faq (0)

Anonymous Coward | more than 12 years ago | (#2958824)

I remember ACID from my DB class, but no idea why Consistancy is part of the acronmym. I guess it's just to let it be remembered more easily (see Ullman's DB book for what I mean -- best one ;))

This is pretty nifty (2)

be-fan (61476) | more than 12 years ago | (#2958619)

This looks really cool, if only for the fact that it finally has a sane way to rename files. It's annoying renaming, deleting, removing, and adding with CVS.

THIS is why I read slashdot. (2)

Matt2000 (29624) | more than 12 years ago | (#2958620)


I've been struggling with CVS for a while now, and while it does the job I've always been thinking "There's got to be something out there with recursive add built in."

Now here comes slashdot with an actual useful story about source control and some of the options and development outside of CVS.

The only thing to find out now is if the discussion will be of any use, obviously I'm not helping...

Re:THIS is why I read slashdot. (1)

Cuthalion (65550) | more than 12 years ago | (#2958982)

There are clients for CVS with recursive add built in. At least for windows, TortoiseCVS [sourceforge.net] supports this, and is consistently delightful to use, IMO.

Seems like a big step backwards... (5, Insightful)

mikemulvaney (24879) | more than 12 years ago | (#2958629)

It sounds like it has a lot of nice features, but then you realize the whole thing is written in sh? One of the nice things about CVS is that the client-server nature allows someone to use pretty much any operating system as a client. Subversion takes this to the next step, by making all connections use the client-server model.

Forcing everyone to use sh is a major hassle. I know that it would work with any "reasonably POSIX" OS, but then developers can't get arch accessibility built into their favorite tools, like NetBeans or whatever.

Creating local branches is pretty cool, though.

Mike

Re:Seems like a big step backwards... (-1)

SkullRape (96773) | more than 12 years ago | (#2958961)

ummm.... Every flavor of unix includes sh (the real sh, none of the bullshit link to bash as in linux)

Re:Seems like a big step backwards... (3, Insightful)

LarryRiedel (141315) | more than 12 years ago | (#2958999)

I think a major test of this or any other successor to CVS should be how amenable is the design to alternative implementations which integrate seamlessly with the reference implementation.

I think the fact that the "arch" solution is designed to be so simple and clean that it can be implemented with a few shell scripts bodes well for it.

I would expect it to be pretty easy to integrate the "arch" solution into lots of other tools by writing a little code which manipulates the files the same way the "arch" shell scripts do.

I can suggest a name (2)

Angst Badger (8636) | more than 12 years ago | (#2958679)

He'll have to change its name, but Tom Lord's arch revision control system is revolutionary.

How about polyfork? Sounds like a great way to give equal weighting to every trivial disagreement over design.

Re:I can suggest a name (0)

Anonymous Coward | more than 12 years ago | (#2958815)

How about polyfork? Sounds like a great way to give equal weighting to every trivial disagreement over design.
It's redundant. A fork is already poly (by definition, otherwise it'd be a spoon). Either go with "poly" alone, and save 4 bytes (w00t!) or go with "polyspoon", which is just a circumlocution for "fork", which, of course, is already taken.
ClearFork might work too, since the forking is "transparent".
Paul.

Re:I can suggest a name (0)

Anonymous Coward | more than 12 years ago | (#2958883)

Tracy Lord!

I smell trouble (4, Insightful)

heretic108 (454817) | more than 12 years ago | (#2958732)

From the article, it looks good.
But let me say that I've sometimes been in the position of having to merge branches. In my first hacking job, I had to take code that had been written by 2 crazy Polish programmers, and merge 37 non-working branches into one branch that worked. It was *not* fun, and I enjoyed a well-deserved beer when it was done.
IMO, a distributed system of archive management that doesn't make ongoing reference to a central tree is a sure recipe for chaos, and poses the risk of making software harder to install/use for the non-skilled, and creating a lot of work in merging disparate branches for the skilled.

You want package xxyzz? OK - go to Jim's store in San Diego. It's easy to set up. Oh, I forgot to tell you, you've gotta get some bits from Lucy's store in Manchester, and Frieda's fixed a few bugs too - get her fixes from Bonn. And don't forget Peter's enhancements - his store is at the Adelaide University site. What? it doesn't compile? What kind of idiot are you? Just hack it till it does compile, then put it together in your own tree!

Re:I smell trouble (-1)

SkullRape (96773) | more than 12 years ago | (#2958992)

bah
sounds like every other linux piece of software out there.
In order to get A to work, you must get patch B which only works with lib rev C for which to compile you need patch D which breaks both B and C but is fixed by patch Z which would be available here, if the guy maintaining it would have payed his registrar, but he didn't so you cant access his site - so either way you're fucked.

is arch CVS compatible (like subversion)? (5, Insightful)

e40 (448424) | more than 12 years ago | (#2958747)

It is an important feature of subversion that it will be CVS compatible. I manage a 10+ year old/1+GB CVS repository. CVS has a lot of faults, but I can't throw that version history away. It's too valuable. subversion gives me hope that I'll get something more usable than CVS (we'll see, won't we!) without much pain.

I'm really hoping the subversion developers succeed.

Having said that, I'm all for arch succeeding too. Perhaps it will be better for new projects. Who knows.

Bye Bye Collab.net (0)

Anonymous Coward | more than 12 years ago | (#2958783)

first Sourceforge kills Sourcecast(sourcexchange)... Now subversion gets beat the the punch.

Bet Karl Fogel's peeing his pants right now.

Poor execution Behlendorf... sell the company... get back to what you do best -> apache.

gasp--a mess of shell scripts (4, Insightful)

markj02 (544487) | more than 12 years ago | (#2958854)

The feature list sounds nice, and using the file system in the way it does is also pretty nice. But I just can't deal with 40kloc of shell script for a version control system. How am I supposed to run that sort of system on a non-UNIX system? What kinds of oddball dependencies is it going to have on the shell, path, and environment?

This seems like it's worse than CVS. Functionally, I'm quite happy with CVS. The main complaint I have about it is that it isn't self-contained but invokes rcs and other shell commands in mysterious ways. "arch" seems to make things worse, not better in that regard. What I would like to see is something mostly like CVS, but something that is implemented as a clean, self-contained library with a single command line executable (with subcommands) and a built-in HTTP-based server. Until that comes along, I think I'll just stick with CVS.

Re:gasp--a mess of shell scripts (1)

kenzoid (9370) | more than 12 years ago | (#2958905)

Check out Subversion [tigris.org] , it's shaping up to look pretty good. This article [linuxjournal.com] in Feb '02 Linux Journal does a pretty good job of giving the highlights...they include "real copies and renames", use of Apache as the httpd server, filesystem properties, etc.

Ken

Subversion or Arch or both? (5, Informative)

kfogel (1041) | more than 12 years ago | (#2958923)

I hope both systems (Arch and Subversion) get some widespread use. Like a lot of Subversion developers, I'm genuinely curious to see a) how well the Arch model works in practice, and b) how well Arch's implementation of that model works out. If it turns out to be winning, then that'll be a big step forward for collaborative projects & free software. Arch sounds a lot like Bitkeeper [bitkeeper.com] only without the license problems, and I've talked to some happy Bitkeeper users before (a small sample, so it's hard to know whether we're dealing with a Shift To Better Paradigm or just good software).

Subversion [tigris.org] was deliberately designed to address CVS's shortcomings, not to break new ground. Our philosophy was essentially conservative: CVS basically works, but has some bugs and maintainability problems. Let's keep the model and fix the problems. Result: Subversion.

The ideal situation is a world where both models have good, free implementations. Then we'll all very quickly find out which model works better. :-)

-Karl

Check out Meta-CVS. (4, Informative)

Kaz Kylheku (1484) | more than 12 years ago | (#2958938)

Adds renaming over top of CVS and some other niceties. Can be used to create patches that contain versioning changes. With Meta-CVS, people can restructure directories in conflicting ways, and then resolve conflicts when they merge the structure.

http://users.footprints.net/~kaz/mcvs.html

This doesn't add anything else; no atomic commits or distributed operation over multiple repositories, etc.

Of course, you can use branches to track foreign code streams, as you can with CVS. The nice thing is that you can rename things on your own branch and keep up with an unrenamed source of patches. Or if the other people are using Meta-CVS, they can give you patches that include restructuring.

Meta-CVS is currently about 1600 physical lines of Common Lisp (with some CLISP extensions and bindings to glibc2) scattered in twenty or so files. A lot is done with little!

So what's the best? (1)

Yoda2 (522522) | more than 12 years ago | (#2958959)

We recently started using CVS [cvshome.org] with Chora [horde.org] and WinCVS [cvsgui.org] . While CVS is much better than no revision system at all, I am a little disappointed.

So here it goes...
What is your favorite revision system and why?
What is the URL?
Is it open source or proprietary?

Great Approach! (1)

qbalus (453789) | more than 12 years ago | (#2958960)

Having just gone thru the regexps arch docs it looks like Tom has done an excellent job.

The concepts Tom discusses are right on target. It appears there is plenty of flexibility to implement policy based on project requirements.

At first glance (have not installed yet) 'arch' has many of the same concepts as does BitKeeper and Sun's Teamware.

I'd like to see software like this dual licensed i.e Qt/BitKeeper style licenses.

Regards,
Kramer
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>