Slashdot Mirror


Subversion 1.0 Released

Phil John writes "Subversion 1.0 has finally been released. The people who maintain CVS have given us a viable replacement for our de-facto (and aged) versioning system. If you're new to Subversion its feature list looks like fixes for everything that is wrong in CVS, renaming, directory structure and metadata version tracking, file deletion, proper management of binary files and it's pretty portable to boot." According to the download page, binaries may take a few days to appear.

587 comments

  1. What's with that? by Anonymous Coward · · Score: 5, Funny

    According to the download page, binaries may take a few days to appear.

    What's so good about a version control system that takes days for binaries to appear? That's a pretty big bug to work out. (fp)

    1. Re:What's with that? by hackel · · Score: 1, Insightful

      The question is, what kind of developer that would need version control relies on binaries, hmm?

    2. Re:What's with that? by Cereal+Box · · Score: 3, Insightful

      Are you being serious?

      It's very common to work on a piece of software that might rely on some third party library that you don't have source for. In order to get your source tree to compile you're pretty much going to need a copy of that library. Seems pretty convenient to keep it around in CVS.

      But besides that, you might have some binary data file that needs to be part of your distribution, i.e. PDF documentation.

    3. Re:What's with that? by after · · Score: 5, Insightful

      A "binary" does not ultimately mean an executable. A binary, as you probobly know, can be any binary file sutch as a PNG image or compressed text file. The defenition is monolithic, so I can already see a mod disagreeing with me.

    4. Re:What's with that? by sirsnork · · Score: 3, Interesting

      It's slashdotted already but I'm pretty sure the bianries they are talking about are binaries of the server itself (so you don't have to download the source and compile it yourself to run it, rather than it not supporting binary files in the tree itself.

      --

      Normal people worry me!
    5. Re:What's with that? by mithras+the+prophet · · Score: 4, Insightful

      I think he meant: if you're a programmer that plans on using Subversion, surely you can compile the damn thing yourself, rather than waiting for somebody else to do it for you.

      --
      four nine eighteen twenty-7 thirty-nine forty-7 fiftyeight sixty-nine seventy-9 eighty-8 one-hundred-and-nine one-twenty
    6. Re:What's with that? by homeobocks · · Score: 1

      It's very common to work on a piece of software that might rely on some third party library that you don't have source for.

      That is true, but it always worries my when open source software relies on closed-sources or standards.

      --
      MOUNT TAPE U1439 ON B3, NO RING
    7. Re:What's with that? by Anonymous Coward · · Score: 0

      Yeah, we already get that.

    8. Re:What's with that? by Anonymous Coward · · Score: 2, Insightful

      What worries me more is when people assume that all software being developed is open source.

    9. Re:What's with that? by Anonymous Coward · · Score: 0

      Maybe the same kind that has absolutely no sense of humor!

    10. Re:What's with that? by notsoclever · · Score: 5, Insightful
      And I suppose plain text files are decimal? Or maybe they're analog?

      All files are binary. What most people mean when they say "binary file" is "non-plaintext."

      --
      There are 10 kinds of people: ones who understand ternary, ones who don't, and ones who think this joke is about binary
    11. Re:What's with that? by Jacek+Poplawski · · Score: 2, Interesting

      The question is, what kind of developer that would need version control relies on binaries, hmm?

      Windows one.

    12. Re:What's with that? by sashang · · Score: 1

      The people that use Alienbrain perhaps. Game Developers.

    13. Re:What's with that? by coopaq · · Score: 2, Funny
      I think he meant: if you're a programmer that plans on using Subversion, surely you can compile the damn thing yourself, rather than waiting for somebody else to do it for you.

      Dude! I'll wait for the binary. We have a whole
      project written in BASIC that needs to get checked
      in. We're not risking compiling this thing.

      what does compile mean anyway?

    14. Re:What's with that? by ehack · · Score: 4, Funny

      The source for Subversion is in a Subversion archive, so the usual supect who build binaries cannot check it out because they themselves haven't built Subversion yet :)

      --
      This is not a signature.
    15. Re:What's with that? by Arild+Fines · · Score: 1

      There's a tarball available...

    16. Re:What's with that? by sik0fewl · · Score: 1

      All files are binary.

      Well, technically yes. The reason people call a plain-text file as non-binary is because Windows treats text files different from other ("binary") files when reading and writing them. "Binary" files have to be opened with a special binary flag.

      --
      I remember when legal used to mean lawful, now it means some kind of loophole. - Leo Kessler
    17. Re:What's with that? by notsoclever · · Score: 1
      Yes, and that goes all the way back to MS-DOS 1.0.

      That still doesn't make the terminology correct.

      --
      There are 10 kinds of people: ones who understand ternary, ones who don't, and ones who think this joke is about binary
    18. Re:What's with that? by benb · · Score: 1

      can != want to

    19. Re:What's with that? by Bingo+Foo · · Score: 1

      Shhh... You'll ruin his smug sense of irony.

      --
      taken! (by Davidleeroth) Thanks Bingo Foo!
    20. Re:What's with that? by Anonymous Coward · · Score: 0

      It's better than that other brain-damaged windowsism; calling 24 bit depth truecolor images bitmaps.

  2. It's not out yet... by jsquyres · · Score: 3, Funny

    This story seems to have jumped the gun a few hours; the 1.0 tarballs don't seem to be available yet.

    However, you can download the latest Subversion sources from its Bitkeeper repository... no, wait...

  3. Re:Not bad, but... by Anonymous Coward · · Score: 1, Flamebait

    Why? It's not like it's licensed under the new Apache/BSD license, is it?

  4. Mirror? by RoadkillBunny · · Score: 0

    Does someone have a mirror? This story is 5 minutes new, and the site it slowing down (aka took-me-5-minutes-to-load).

    --
    Cheers,
    RoadkillBunny
    1. Re:Mirror? by OverlordQ · · Score: 4, Informative

      Quasi-Mirror Didn't get the style-sheets, so the formatting is a bit whack.

      --
      Your hair look like poop, Bob! - Wanker.
  5. Comparing the software by superpulpsicle · · Score: 1, Redundant

    Does anyone have a good website to compare subversion, cvs, perforce, clearcase and other software of this type?

    1. Re:Comparing the software by Anonymous Coward · · Score: 5, Informative
    2. Re:Comparing the software by Anonymous Coward · · Score: 5, Informative

      try this.

      Note: written by a subversion dev :)

    3. Re:Comparing the software by Anonymous Coward · · Score: 1, Informative

      Hardly an unbiased evaluation.

    4. Re:Comparing the software by cos(0) · · Score: 5, Informative
    5. Re:Comparing the software by truth_revealed · · Score: 4, Funny

      Hardly an unbiased evaluation.

      You're right - ask for your money back.

    6. Re:Comparing the software by Anonymous Coward · · Score: 1, Informative

      This page compares SCM to each other. Very nice. But as always before reading comparisons, take a grain of salt.

      http://better-scm.berlios.de/comparison/comparis on .html

    7. Re:Comparing the software by Anonymous Coward · · Score: 0

      By the profanity-emitted-by-developers metric, cvs and sourcesafe rank low, but clearcase broke the meter.

    8. Re:Comparing the software by tsager · · Score: 1

      The category I like most of the comparison:
      "Project Leader is an Asshole"

    9. Re:Comparing the software by Megasphaera+Elsdenii · · Score: 1

      Very sporting ... contents of this page have been
      removed altogether. Can't find a way to revert it
      either ...

  6. Re:Not bad, but... by OverlordQ · · Score: 5, Informative

    It's not released under the Apache/BSD License . . .

    It's released under an Apache Style license.

    Google Cache since the site seems to be dying as we speak.

    --
    Your hair look like poop, Bob! - Wanker.
  7. with WebDAV as well by stonebeat.org · · Score: 2, Informative

    I think this can be used with WebDAV to provide the missing versioning functionality as well.

    1. Re:with WebDAV as well by John+Hurliman · · Score: 5, Informative

      Just like WebDAV is an extension of HTTP 1.1, Subversion is an extension of the WebDAV protocol. This means that:

      * It can run as an Apache module or a standalone server
      * It can go anywhere HTTP goes (including caching proxies) as it runs entirely over port 80 with WebDAVish calls.
      * It implements part of the WebDAV protocol, and in the future might fully implement it meaning seamless integration in to software like Macromedia Dreamweaver.
      * Uses Apache for the authentication, so you can authenticate with any module you find/write.

      Right now our WSU Linux User Group is using Subversion for development. Authentication is tied to a PostgreSQL backend that is shared with the Zope/Plone server, so an admin can login to the Member panel and add/remove people from the developer group to give or take Subversion access. A real WebDAV folder is also setup that shares the same authentication method. Now we just have to tie in mail server and ssh authing...

    2. Re:with WebDAV as well by SewersOfRivendell · · Score: 5, Informative
      All of the above is true, but I'd like to clarify that Subversion is a set of version control libraries, on top of which are built the clients and servers, it's not just an implementation of the WebDAV DeltaV protocol for Apache.

      For example, there's also a supported custom network protocol server (svnserve, uses "svn://" URIs) for those that don't/can't maintain Apache w/mod_dav.

      (And everything else people say about how cool Subversion is -- is true! Really, check it out. Sourceforge should switch over ASAP.)

    3. Re:with WebDAV as well by Anonymous Coward · · Score: 0
      Sourceforge should switch over ASAP.

      I'm not so sure about that. Funny thing is, I was discussing this with a couple other folks the other day.

      SVN is more disk-intensive than CVS, it has problems with Berkely DB lockfiles lying around if anything goes wrong, and Berkely DB doesn't scale all that high. It could be a real problem from a sysadmin point of view, given the sheer number of projects SF hosts.

      That being said, in principle I agree 100% that it would be much nicer for SF. Less bandwidth on their end, and they could probably do individual repos for each project.

      And if they were ambitious, I bet they could move off of db and onto DB2 (which IIRC is what they use for their database back-end anyways).

  8. Re:Not bad, but... by MillionthMonkey · · Score: 4, Interesting

    What is the matter with an Apache/BSD license? Why must it be GPL?

  9. Have they fixed the checkin corruption bug? by Anonymous Coward · · Score: 1

    that was on their website six months ago?
    (It's Slashdotted at the moment or I would check for myself)

    1. Re:Have they fixed the checkin corruption bug? by Anonymous Coward · · Score: 1, Informative

      yes, there are no serious bugs and there haven't been for months

  10. Re:Not bad, but... by Anonymous Coward · · Score: 5, Informative

    There is always GNU arch. It's got some nice features that subversion does not have to boot! Such as distributed repositories, advanced merging, and GPG signed patches.

  11. sf.net by RoadkillBunny · · Score: 5, Interesting

    Is sourceforge gonna offer this service in their project hosting instead of CVS now? Or will they allow both?

    --
    Cheers,
    RoadkillBunny
    1. Re:sf.net by jdavidb · · Score: 3, Informative

      I seem to recall that several years back (2001) sourceforge did some tests for subversion where they imported all of their repositories into a subversion repository as a stress test. (Yes, subversion has been working as a minimally functional VCS since then ... since then they've been adding features, refining protocols, and most importantly making it more robust.) I'm pretty certain sourceforge will want to be moving to subversion, or at least making it an option.

    2. Re:sf.net by Argon · · Score: 1

      Alioth (http://alioth.debian.org/), the Debian free software development site based on sourceforge code does give the option of subversion repositories. Currently you need subversion version 0.33, but I am sure they'll upgrade to 1.0 pretty soon.

    3. Re:sf.net by Anonymous Coward · · Score: 0

      >Alioth (http://alioth.debian.org/), the Debian[...] I am sure they'll upgrade to 1.0 pretty soon.
      Wanna bet?

    4. Re:sf.net by jaaron · · Score: 1

      They should. If nothing else it eliminates all of those Unix accounts they have to maintain. And it would probably decrease bandwidth. SF's CVS server can get bogged down at times.

      The ASF has some projects using SVN and will probably move all of them over at some point.

      --
      Who said Freedom was Fair?
  12. Yeah it's nice by barenaked · · Score: 1, Informative

    I've been using Subversion successfully for about a month (http://svn.pdtp.org). Unlike CVS, Subversion is actually sane. You can *gasp* delete directories from the repository! You can rename/move files within the repository without losing versioning (possible but highly cumbersome in CVS). Branching makes sense. It still lacks some of the features of Perforce/BitKeeper but overall quite nice.

    1. Re:Yeah it's nice by damiam · · Score: 3, Funny

      Thank you, Mr. Cut-and-Paste (7th comment down).

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
    2. Re:Yeah it's nice by barenaked · · Score: 1, Troll

      Yes. Those are my words on osenews.com I thought I would be able to use something that I wrote on there and apply it to the smae subject matter on here? No?

    3. Re:Yeah it's nice by PeekabooCaribou · · Score: 2, Informative

      What about this comment of yours, which is a verbatim copy of part of this post to the debian-legal list? You got +5 for that one, congrats.

      --
      "I'll say it again for the logic-impaired." -- Larry Wall.
    4. Re:Yeah it's nice by Trejkaz · · Score: 2, Interesting

      So supposing I'm currently stuck having something like 50Mb of source code in CVS. Is there a migration tool to move it into SVN with all the versions maintained?

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    5. Re:Yeah it's nice by Anonymous Coward · · Score: 0

      I have to ask, how did you find out that he was re-using a comment?

    6. Re:Yeah it's nice by caluml · · Score: 1

      How do you know that he/she isn't "Bascule"?

    7. Re:Yeah it's nice by Eric+Smith · · Score: 2, Informative
      Is there a migration tool to move it into SVN with all the versions maintained?
      Yes, cvs2svn comes with Subversion.
    8. Re:Yeah it's nice by nich37ways · · Score: 1

      Yes and then again no...

      The tools exist as part of the project but they do not claim they are perfect, see here

      Although 50mb is hardly anything really, we are looking at transferring ~5GB of data out of CVS and into subversion at the moment, testing for stability and conversion ability should begin now that they have got to 1.0.

      --
      37 - what does it stand for really...
    9. Re:Yeah it's nice by martingunnarsson · · Score: 1

      No.

      --
      Martin
    10. Re:Yeah it's nice by Anonymous Coward · · Score: 0

      Because this is Bascule Bascule is a "prolific" poster on OSNews too; he's easily recognisable.

    11. Re:Yeah it's nice by You're+All+Wrong · · Score: 1

      Just Foe him, and you'll be less likely to see his regurgitations.

      YAW.

      --
      Your head of state is a corrupt weasel, I hope you're happy.
    12. Re:Yeah it's nice by damiam · · Score: 1

      I don't, but most people use the same username in multiple places (Bascule has it as his email address, for example). Further, several of his other posts are cut-and-pasted from other online forums, where they were generally posted either anonymously or from different-named accounts.

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
  13. GREAT! by mehaiku · · Score: 2, Flamebait


    So when does it replace Bitkeeper for the kernel?

    1. Re:GREAT! by be-fan · · Score: 3, Insightful

      It won't. Subversion is a traditional, centralized system. Linus wants a distributed system, which Bitkeeper is.

      --
      A deep unwavering belief is a sure sign you're missing something...
    2. Re:GREAT! by Anonymous Coward · · Score: 5, Informative

      Subversion can be centralized (used as-is) or it can be decentralized (used with svk).

      More info on svk: http://svk.elixus.org/

      The beauty of being designed from the ground up to be a set of C APIs allows it to be used in any way you want.

      For me, I like using it with ViewCVS and TortoiseSVN (similar to the awesome TortoiseCVS extention to Windows Explorer).

    3. Re:Great! by psykocrime · · Score: 1

      As bad as CVS *might* be in some ways, it's 2000000000 times better than that load of shit, SourceSafe.

      --
      // TODO: Insert Cool Sig
    4. Re:GREAT! by Anonymous Coward · · Score: 0

      If you like ViewCVS, you might want be interested in Trac, a combined bug tracker and wiki that uses Subversion. It's pretty neat.

  14. Works well by Anonymous Coward · · Score: 5, Informative

    I've been using earlier builds for my own codebase stuff, and while there are a few new concepts to get your head around, overall the system works very well. I haven't had any problems with corruption or loss, and everything I've needed to do has worked perfectly.

    My congrats to the dev team for a good solid product.

    For those looking to use it, befor eyou do, work out your versioned directory structure, it *is* kinda important (although not critical, you can move things around afterwards). For example, I have:

    trunk/(project name)
    tag/(project name)/(tag)
    branch/(project name)/(branch name)

    as my general layout. Other people may have other recommendations, but tags and branches etc are no longer this explicit thing, its just about where you put them in the "filesystem".

    1. Re:Works well by Anonymous Coward · · Score: 0

      I typically use that layout as well. However, copying is a constant-time operation so moving things around later on is just as good.

      Doing that kinda' stuff in CVS would take forever...

    2. Re:Works well by evvk · · Score: 2, Informative

      There's a rather big problem, perhaps the one single big problem of SVN with this: svn diff and svn merge don't follow history over copies, only svn log does.

    3. Re:Works well by smithmc · · Score: 1

      trunk/(project name)
      tag/(project name)/(tag)
      branch/(project name)/(branch name)

      Just curious, why this way as opposed to:

      (project)/trunk
      (project)/tags/(tag)
      (project) /branches/(branch)

      I.e. keeping all code related to a given project together?
      --
      Downmodding is the refuge of the weak. Don't downmod, make a better argument!
  15. still waiting by bcrowell · · Score: 4, Funny

    I don't think I'm going to try this version. I think I'll wait until they get to Superversion 1.0. Or maybe Superversion Platinum/Pro++ 1.0.

  16. Re:Not bad, but... by Anonymovs+Coward · · Score: 5, Insightful
    Subversion overall looks very nice. However, I do have some issues with it. Namely, it's released under the Apache/BSD license, which I'm not completely comfortable with.

    What a strange statement. Do you use XFree86? OpenSSH? There's any amount of such software out there under similar licences, and if the original BSD TCP/IP stack hadn't been under such a licence, it's doubtful the internet would be as interoperable as it is today, and if X hadn't been under the MIT licence, we'd be stuck with a bunch of incompatible proprietary windowing systems.

  17. It runs on top of Apache? by VE3MTM · · Score: 1, Redundant

    If I get this straight, Subversion runs on top of Apache. Isn't that a bit heavyweight for their purposes? It seems a bit odd to run a VCS on top of a webserver.

    --
    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 Whoops, silly middle mouse button...
    1. Re:It runs on top of Apache? by sploxx · · Score: 5, Informative

      According to their website, Subversion also supports a standalone server mode, much like cvs pserver/ssh.

    2. Re:It runs on top of Apache? by rfmobile · · Score: 2, Informative

      One if you want to access SVN over a network. You don't need Apache if the repository is local.
      -rick

    3. Re:It runs on top of Apache? by kellman · · Score: 5, Informative

      Yes, because it uses WebDAV for file transfers. This requires more overhead obviously, but it also makes it more extensible.

      --
      I don't want to sell anything, buy anything, or process anything. I don't want to sell anything bought or processed...
    4. Re:It runs on top of Apache? by Anonymous Coward · · Score: 1, Informative
      If I get this straight, Subversion runs on top of Apache. Isn't that a bit heavyweight for their purposes? It seems a bit odd to run a VCS on top of a webserver.

      No, you dont have it straight. There is an apache module if you require web access, but it is optional. You can use subverion stand alone, using a directory on the filesystem as a repository, like cvs.
    5. Re:It runs on top of Apache? by efbrasil · · Score: 2, Informative
      Subversion runs on top of Apache.
      You can run it under Apache, as you can run it using a ssh tunnel, and you can even run it using subversion's own server, svnserve.
    6. Re:It runs on top of Apache? by Anonymous Coward · · Score: 2, Informative

      No, it doesn't require apache. In fact, it's far easier to install if you don't use apache--it has a standalone server which is quite easy to compile and set up. I wouldn't recommend using the apache interface unless you have some reason to want other features of apache. The standalone server supports a primitive form of authentication, but more importantly, you use ssh for authentication and communication. This is trivial to set up and works great.

      I've been using it for several months now, for several projects and also all my dot files in my home directory. Big improvement over CVS. Thanks, subversion developers!

    7. Re:It runs on top of Apache? by cduffy · · Score: 1, Troll

      More extensible? Bah!

      Look at Arch. You can access your repository via WebDAV (and thus apache -- this time without any extra modules), or sftp, or ftp, or raw filesystem access, and adding more is as simple as adding a new backend to the pfs layer. I'm not sure how depending on WebDAV + a svn module for your server is supposed to be _more_ extensible.

    8. Re:It runs on top of Apache? by coldtone · · Score: 3, Informative
      According to their website, Subversion also supports a standalone server mode, much like cvs pserver/ssh

      Yes! And it rocks. Once setup commands are simple and so much better then cvs. For example a current anonymous checkout from sourceforge requires the following commands.
      cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ hsqldb login

      cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ hsqldb co modulename
      While the subversion command would be
      svn co svn://svn.sourceforge.net/hsqldb/modulename
      That in itself is enough to sell me.

      See for yourself. Setup takes just a few minutes.
    9. Re:It runs on top of Apache? by 0x0d0a · · Score: 1

      Don't you mean ssl instead of ssh?

    10. Re:It runs on top of Apache? by Anonymous Coward · · Score: 1, Informative

      Using svn through apache can obviously use ssl based http connections if you want.

      You can also use Subversion without Apache, using ssh, which more or less works exactly the same way CVS runs over ssh.

    11. Re:It runs on top of Apache? by kellman · · Score: 2, Informative

      I only meant more extensible than without. Or, for example, compared to CVS. I'm not familiar with Arch, although I am a little bit now and I'm sure it's a fine VCS. Having it as a server module does allow you to do things that you can't do with WebDAV alone. *Somewhat* like the difference between, say, perl CGI and mod_perl.

      --
      I don't want to sell anything, buy anything, or process anything. I don't want to sell anything bought or processed...
    12. Re:It runs on top of Apache? by lifeless · · Score: 1

      How is this a troll? Arch is about to do it's third stable release, with features that the svn guys are only starting to cotton onto and copy. Extensability is essentially the ease with with new functionality can be added. Ask any of the arch hackers how easy it is to add features. Talk about external use of arch in scripts, talk about mail queues, talk about hook points. Talk about any of the features that have been added first as extensions, then integrated into the core only after their design has been proven. The use of WebDAV and Apache really has nothing to do with extensability - and SVN may be very extensible... I'm not saying anything about is or isn't. Just that the webDAV stuff is unrelated.

    13. Re:It runs on top of Apache? by Anonymous Coward · · Score: 0

      Informative? How about -1, misleading.

      Subversion does NOT require Apache! It can use Apache, which is useful in some cases, but it also has a stand-alone server.

    14. Re:It runs on top of Apache? by cduffy · · Score: 1

      I only meant more extensible than without.

      Okay, I can grant that. One ongoing development item with Arch is development of a smart server; this will permit queries like "provide the set of all changes between patch-3 and patch-50" to return a single stream with redundant data permitted. That said, I still don't think depending on a smart server is a good idea, at least in a Free Software context: there's a whole lot to be said for being able to use (for instance) your Savannah account to host at Arch repository, even if the Savannah admins aren't willing to install any software specifically to support it; further, a dumb-server-based hosting service isn't going to have the same kinds of scalability problems SourceForge has had lately with CVS.

      (I'm also unconvinced as to the value of using WebDAV for such a smart server protocol rather than building it ground-up, but that's a topic for a whole different discussion).

  18. Filesystem driver? by sploxx · · Score: 5, Interesting

    Is there a filesystem that uses subversion as it's underlying "device"? For linux?
    Some time ago I worked with Rational ClearCase and the filesystem integration was really nice.

    1. Re:Filesystem driver? by Anonymous Coward · · Score: 4, Interesting

      see Katie

      It's a revision control system masquerading as an NFS filesystem/server. Pretty damn cool. It's 99% written in Perl.

    2. Re:Filesystem driver? by mohaine · · Score: 4, Funny

      Wow, there is a first for everything. The one statement I would have bet large sums of money that I would never hear is that ClearCase's filesystem integration is really nice.

      --
      (appended to the end of comments you post, 120 chars)
    3. Re:Filesystem driver? by blair1q · · Score: 0, Troll


      Clearcase is a horrible botch.

      Please don't compare it to a modern CM system.

    4. Re:Filesystem driver? by Dragonmaster+Lou · · Score: 2, Informative

      You're kidding, right? One of the most annoying things about ClearCase is that it requires a kernel-mode driver to run (and that also makes it a bitch to get up and running).

      That said, Subversion uses a database, not a filesystem, for its underlying device -- although the database is structured like a filesystem. Also when you check out files, you just check them out as normal directories on your local file system.

    5. Re:Filesystem driver? by warkda+rrior · · Score: 3, Funny

      You lost me at "[...] filesystem [...] written in Perl"...

      --
      You need to install an RTFM interface.
    6. Re:Filesystem driver? by Brandybuck · · Score: 1

      One of the most annoying things about ClearCase is that it requires a kernel-mode driver to run

      It may be annoying, but I know of no way around it. To be (or pretend to be) a filesystem for most UNIX systems, you need to be part of the kernel. You can fake it with a front end (eg. a KDE kio module), but it's not the same thing.

      --
      Don't blame me, I didn't vote for either of them!
    7. Re:Filesystem driver? by Dragonmaster+Lou · · Score: 1, Interesting

      That's not necessarily true. There's a product I work on at my job that presents itself as a Unix filesystem without a kernel driver. It does this by setting itself up as an NFS server and running entirely in user mode. While there are some things where you'd want to create a filesystem driver, version control isn't one of them in my opinion.

    8. Re:Filesystem driver? by silence535 · · Score: 1

      I second that.

      -s

      --
      Dyslectics of the world, untie!
    9. Re:Filesystem driver? by Ian+Bicking · · Score: 2, Informative
      In theory the WebDAV interface could be used in this way, and the filesystem client would be much more general than just Subversion. Unfortunately, there's not generally support for versioning in WebDAV clients (versioning itself is part of another standard which extends WebDAV). While you can use it without the versioning (e.g., with Windows Web Folders, or Mac's WebDAV support), you don't get all the version control goodness, like atomic multi-file commits, log messages, etc.

      There is an Explorer extension for Windows, which might be somewhat akin to filesystem support. I don't think you'd need quite as much filesystem support for Subversion, because it handles all the tags and branching in filesystem terms -- a branch or tag is just a copy of the tree (literally copied to another location in the repository), so it's naturally exposed as a filesystem-like interface (unlike, say, CVS, where the branch is a separate concept from the filesystem layout).

      Copies and deletes still require tool support, but that can be solved in the UI (e.g., Explorer, Konqueror, Nautilus), instead of at the kernel level.

    10. Re:Filesystem driver? by myg · · Score: 1
      Ohhh would I be happy if Katie used SVN as its back end. ;-)

      This could be done and would be really great. Ohh, lets see what foo.c looked like yesterday:

      cat foo.c@@yesterday

    11. Re:Filesystem driver? by David+Kennedy · · Score: 4, Informative

      It is a pain to set up and configure, but I agree with the grandparent that as a developer USING it, ClearCase is really nice.

    12. Re:Filesystem driver? by Anonymous Coward · · Score: 0

      Sounds nice, to be able to check out different version by looking at directories (like with mc)...

    13. Re:Filesystem driver? by lobsterGun · · Score: 3, Informative
      Before you get too excited here's a note from the Katie web page:


      Katie is currently in a rather pre-alpha state. The functionality that has been implemented so far (checkin, checkout, labels, branches, dynamic views, configuration specifications, comments) works very nicely, but there is much still to do. See doc/TODO in the distribution for details of what needs to be done, and doc/QUICKSTART for an introduction to what is currently working.
    14. Re:Filesystem driver? by Anonymous Coward · · Score: 0

      As a developer USING it, ClearCase makes me want to beat my coworkers about the head and neck. Not that I have a suggestion of something better, but the way files can disappear and reappear based on user error drives me up the wall, as user error is my coworkers favorite kind.

    15. Re:Filesystem driver? by pcraven · · Score: 1

      Dude, I'm with you there. TortoiseCVS, now that is nice integration. Isn't there a subversion version of it somewhere?

    16. Re:Filesystem driver? by TeamSPAM · · Score: 2, Insightful

      One of the companies I worked for put the money out for Clearcase and I really liked using it. Granted the vob filesystem was kinda slow, but I could my unix tools against specific versions of the file, not just the latest. The thing that boggled my mind was that we threw it aside when we started using all open source development tools, and thus CVS. I think some of our deployment processes suffered since CVS is not as good at the configuration management that Clearcase was.

      --
      Brought to you by Team SPAM! where we believe: "Information in the noise!"
    17. Re:Filesystem driver? by bstil · · Score: 1

      TortoiseCVS, now that is nice integration. Isn't there a subversion version of it somewhere?

      Yes, it's TortoiseSVN. I've used it on some small projects and it works well. It's basically the same as TortoiseCVS.

    18. Re:Filesystem driver? by ckaminski · · Score: 1

      mount -t svnfs localhost:/repos/project/branch3.1 /work

      umount /work == commit.

      Works for me.
      -Chris

  19. Does Subversion require a UNIX account per user? by Anonymous Coward · · Score: 3, Interesting

    I've always hated that about CVS and Arch.
    A revision control system should simply work in one UNIX account across all users - it's easier to administer and is much more secure.

  20. 10 revision control system comparison by Anonymous Coward · · Score: 5, Informative

    Here's a comparison with 10 popular replacements

    http://better-scm.berlios.de/comparison/comparison .html

    1. Re:10 revision control system comparison by Anonymous Coward · · Score: 0

      Note: above written by a subversion dev.

    2. Re:10 revision control system comparison by Webmonger · · Score: 4, Informative

      Note that at least some of this is out of date. For example, Arch has now been ported to win32.

    3. Re:10 revision control system comparison by Anonymous Coward · · Score: 0

      While there is some useful (perhaps dated) information in that comparison, it is badly broken.

      Why? No discussion of merges, for starters. What were they thinking!

    4. Re:10 revision control system comparison by Anonymous Coward · · Score: 0

      That is an utterly crap comparison, written by a SVN developer. Amusingly, even OTHER SVN developers think it is crap, as do at least some Arch and Monotone developers.

    5. Re:10 revision control system comparison by thames · · Score: 3, Informative

      This comparison is wrong is several places. For one it states that Arch does not "support copying files or directories to a different location at the repository level, while retaining the history" Arch does that very well.

    6. Re:10 revision control system comparison by axlrosen · · Score: 2, Informative

      Well kind of. The Win32 page on the Arch wiki says "Arch was never intented to run on a non POSIX system. Don't except to have a full blow arch on your Microsoft computer."

    7. Re:10 revision control system comparison by Webmonger · · Score: 1

      The wiki also says:

      "1.4. Things working: Pretty much everything, I hope. "

      It's a wiki, not Word from On High

  21. FreeBSD by Anonymovs+Coward · · Score: 5, Interesting

    Some time ago Doug Rabson posted a wishlist of features that would be needed to move FreeBSD to subversion (from CVS). Any idea on progress on these features? The site seems to be slashdotted.

    1. Re:FreeBSD by Anonymous Coward · · Score: 0

      Slashdotted, yeah, anyone got a torrent for the source?

    2. Re:FreeBSD by cduffy · · Score: 4, Informative

      Heh -- having been on the Arch list for a while, I distinctly recall watching the feature requests from Linux kernel developers ("we need $THIS before we can migrate away from BitKeeper" sort of thing).

      Their objections (other than performance, which has been dramatically improved lately) have been largely silly things, not related to the Arch core itself (which is most excellently designed; thanks Tom!), but rather mostly UI-type issues ("we want built-in a graphical 3-way merge tool!" type items).

      That's the case for Arch, anyhow. As for the post you just mentioned, its objections to SVN happen to be things that either don't hinder Arch at all or should be non-issues altogether (ie. better solution available):

      1. Equivalent to cvsup. Arch has this functionality built in, implicit in its mirroring and distributed support features.

      2. Support for (user-supplied) keywords. The general consensus on the Arch list is that it's a bad idea for any revision control system to support this "feature" at all, and that there are better ways to do anything one could want them for.

      3. Converting the repository -- cscvs, a tool I help to maintain, does just that.

    3. Re:FreeBSD by Anonymous Coward · · Score: 0

      Custom keyword substitution still isn't in, so I would guess 'no'.

    4. Re:FreeBSD by Samrobb · · Score: 3, Interesting
      2. Support for (user-supplied) keywords. The general consensus on the Arch list is that it's a bad idea for any revision control system to support this "feature" at all, and that there are better ways to do anything one could want them for.

      Out of curiosity, could you repeat some of the reasons for opposing this? In this particular case, it seems that it's viewed as a fairly significant stumbling block by a large and influential potential adopter (FreeBSD).

      I've never worked in an environment where we specifically needed this capability, but my general experience is that it's a poor choice to sacrifice flexibility unless there's a strong technical reason for doing so.

      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    5. Re:FreeBSD by Permission+Denied · · Score: 1
      2. Support for (user-supplied) keywords. The general consensus on the Arch list is that it's a bad idea for any revision control system to support this "feature" at all, and that there are better ways to do anything one could want them for.

      1. Why is this a bad idea?

      2. What are these better methods for doing the same thing?

      For those who don't know what we're talking about, this is the $FreeBSD: $ tag you see in source files. XFree86 also uses this as $XFree86: $. It basically replaces the $Id: $ or $Header: $ keyword.

      Projects like FreeBSD need this because they maintain separate trees for a number of projects maintained by other people. They do this because:

      1. It facilitates distributing this code to end-users. I can cvsup my FreeBSD tree and pull in the correct version of OpenSSL. I don't have to cvsup my FreeBSD tree, then go download the right version of OpenSSL and apply it to the tree.
      2. Sometimes certain projects need portability fixes to work with FreeBSD. These fixes are applied to the FreeBSD tree before they're distributed in the project's branch. Sometimes security fixes also come in here.
      3. Sometimes FreeBSD-specific features are added. For instance, some network code could use sendfile(2) which is BSD-specific but has parallels in Linux and Windows. This code might never make it into the project's main branch but has to be patched in whenever the project releases a new version.

      It makes perfect sense that one would want to see what version a particular file is in FreeBSD's tree and in the project's tree.

      Example (older tree):

      RCSID("$OpenBSD: ssh-agent.c,v 1.97 2002/06/24 14:55:38 markus Exp $");
      RCSID("$FreeBSD: src/crypto/openssh/ssh-agent.c,v 1.2.2.7.4.1 2002/07/16 12:33:09 des Exp $");

      So how do you do this with subversion?

    6. Re:FreeBSD by dfr · · Score: 2, Informative

      In the FreeBSD project, we have a significant amount of code which is shared between several similar projects (NetBSD, OpenBSD, DFBSD and others). Having shared files include version control tags from all sharing platforms life a lot easier for the people who merge changes back and forth between the systems.

      Still, I don't speak for the FreeBSD project and while it is my opinion that the lack of user-defined keywords is significant, the need for a viable cvsup replacement is a much bigger problem. Whatever, the decision to change version control products is not mine to make. If the project does move to subversion, I imagine it would only happen after a long process of testing and evaluation and that process hasn't even started.

    7. Re:FreeBSD by ivoras · · Score: 2, Informative
      DragonflyBSD (a new-technology fork of FreeBSD 4) had a discussion about using subversion here.

      They were not impressed :) but that was primarily because the lack of cvsup-like tool and 3dparty support.

      --
      -- Sig down
    8. Re:FreeBSD by Anonymous Coward · · Score: 0

      SVN supports "external", i.e. linking into a different place of the repository, or a different repository altogether.

      Unless I misunderstood, you should be able to use this to mimic the behaviour you want.

    9. Re:FreeBSD by Anonymous Coward · · Score: 0

      There was no discussion on the DragoFlyBSD lists: Matt Dillon likes CVS.

      The HUGE advantage of subversion is that it is under a BSD/Apache-like license, not the GPL.

    10. Re:FreeBSD by cduffy · · Score: 2, Informative

      Modifying files on checkout/checkin is incompatible with some of Arch's most interesting (and very effective) performance and space optimiziations, some of which are available in no other source control system existing. Creating working directories as hardlink trees out of the revision library is suddenly impossible; checking inode signatures to determine quickly which files changed becomes more complex; and these tags simply don't do anything useful that Arch's patchlog approach can't or won't.

      Strong enough reason?

    11. Re:FreeBSD by cduffy · · Score: 1

      Arch has "patchlog" support to track which patches have been applied to a repository; instead of determining what the current version is (as a snapshotting system such as CVS is inclined to do), it tracks what patches have been applied to get there. When one merges files between projects (as between the various BSDs) with Arch, one merges the patchlogs as well, and the file's ID tags as well. This is sufficient to permit Arch changesets made against (say) NetBSD apply to OpenBSD, if OpenBSD has files with the same tags as those that were modified in NetBSD and the patches still apply cleanly.

      Unlike the user-defined tags that are mentioned here, Arch ID tags don't change -- they're typically UUIDs, static for a file's lifetime and globally unique; this means they aren't incompatible with Arch's performance and space optimizations in the same way that tags which get expanded and "shrunk down" during checkin and checkout are.

    12. Re:FreeBSD by cduffy · · Score: 1

      I can't comment on how to do this with Subversion, but I can certainly comment on how it works in Arch.

      Every file in Arch has a globally unique, unchanging ID tag. This tag persists between moves and copies -- even between files in completely different repositories. Arch projects also have patchlogs, which track which patches have (and have not) been applied. Patchlogs aren't per-file, but global to the repository -- just as changesets themselves aren't per-file, but may include any number of modifications to the repository's contents.

      As for "what version a particular file is" in whichever tree, that entire concept is a bit specific to CVS. Subversion doesn't version files; it snapshots trees. Arch doesn't version files; it manages changesets. As for determining which patches have been applied, the patch logs cover that -- but there really is no concept of a file version at all.

      As for managing FreeBSD-specific features, this is easy with Arch. Just merge in the feature; when OpenBSD pulls the tree, they notice that it includes a patch they don't want (or can't accept), so they back out the patch but keep its patchlog (indicating that they don't want the revision control system to try remerging it later)... and volia! Arch knows that OpenBSD doesn't want this FreeBSD-specific patch, but will potentially try to merge other changes on request.

      As for cvsup and company, as before, Arch has all that functionality built-in.

      Question adequtely answered?

    13. Re:FreeBSD by Samrobb · · Score: 1

      Hmm. No, I don't think so. If all that are affected are performance and space optimizations, I'd:

      • Add the feature,
      • Have the feature turned off by default,
      • Document that enabling this feature will result in decreased performance and increased disk space usage,
      • Strongly advise against using it, and
      • Provide examples of alternative ways to get the same or similar behavior using other features.
      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    14. Re:FreeBSD by Samrobb · · Score: 1

      Taking a look at a couple of your other comments, I think you're specifically referring to how arch does business - if that's the case here, then maybe my above argument doesn't make sense :-/ I was tallking about supporting custom keyword expansion in subversion, not arch.

      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    15. Re:FreeBSD by Anonymous Coward · · Score: 0
      Their objections (other than performance, which has been dramatically improved lately) have been largely silly things, not related to the Arch core itself (which is most excellently designed; thanks Tom!), but rather mostly UI-type issues ("we want built-in a graphical 3-way merge tool!" type items).

      UI issues aren't silly. The fact that you think so is exemplary of the sort of programmer shortsightedness that is going to ensure that SVN builds mindshare and arch gets ignored.

    16. Re:FreeBSD by cduffy · · Score: 1

      That's quite a lot of work. It means making optimizations optional (ie. having a separate, nonoptimized version of the same algorithms). Furthermore, cases like FreeBSD (projects w/ large numbers of files) are *exactly* why the performance optimizations were implemented in the first place. Adding support for taking them out for precisely the same projects seems... well, perverse.

      And frankly -- even if someone did write this feature, Tom has said up front that he wouldn't accept it into Arch.

      All that said -- adding documentation on "why arch doesn't need user-defined tags" to the wiki, at a minimum, would probably be useful.

    17. Re:FreeBSD by cduffy · · Score: 1

      Yup. Sorry for coming with something that was a bit of a non sequiteur -- I only track the Arch list, and it's in our own context that we'd decided that keyword expansion was a Bad Thing. That said, hopefully it manages to bear at least somewhat on what you were discussing. Sure, SVN doesn't have the optimizations I mentioned -- but the general "there's better ways to do this" objection probably still applies there.

    18. Re:FreeBSD by Permission+Denied · · Score: 1
      Question adequtely answered?

      Absolutely. Sounds like a much more elegant way of doing things.

      Quite a bit different, however. Certainly takes a different frame of mind and sounds like a different workflow as well.

      I have a largish tree that's in dire need of some revision control. If things go as planned, it will be developed in multiple branches and will have automated remote checkouts (maybe even automated unit testing). I was just going to go with CVS, but I'm interested enough that I'll experiment with some of these new-fangled revision control systems. It looks like FreeBSD et al. will have a more difficult time changing systems, but I have a perfect opportunity for experimentation.

    19. Re:FreeBSD by cduffy · · Score: 1
      I have a largish tree that's in dire need of some revision control. If things go as planned, it will be developed in multiple branches and will have automated remote checkouts (maybe even automated unit testing).
      Working with multiple branches in modern source control systems is a breath of fresh air if you've had the misfortune to do it in CVS previously; I'm sure you'll be pleased.

      I've mentioned this in a few other posts, but if you want your unit tests to pass before a checkin is allowed, you might want to use arch-pqm (previously tla-pqm but recently generalized to work with the /other/ arch fork, and thus renamed) to manage your official archive rather than letting users commit directly; it permits you to define a precommit hook (which can validate, for instance, that the automated tests pass) which runs before accepting a merge request. It's pretty trivial to manage specific branches this way, so you can set individual policy easily -- indeed, arch is pretty good about that in general. (Example set of policy that would be fairly straightforward to create: "the --dev branch can be committed to by any developer with a valid user account as long as the test suite passes, or the dev lead under any conditions whatsoever; the --qa-accepted branch can be committed to by any member of the QA staff but nobody else; the --release branch can be committed to by deployment staff", and so forth along those lines).
  22. Apache/BSD is not bad idea by veggiespam · · Score: 2, Redundant

    i assume the client libraries are apache/bsd licensed. if they were GPL, then SunOne/Forte, Visual Studio, C++ Builder, and other systems could not include plugins for Subversion. So, we'd be stuck with either propritary solutions like source safe and clear case, or stuck with CVS access via fork() as many applications do now.

    If you're really annoyed, write tirgis and tell them GPL with LGPL client.

  23. Why Subversion Kicks Ass by Catharsis · · Score: 5, Informative

    This news post really does nothing to explain why Subversion is so much better than CVS.

    Subversion is, in essence, a reimplementation of CVS without the limitations of CVS.

    It has basically the same functionality as CVS, but is based on a BerkeleyDB backend instead of a simple filesystem approach like CVS. This means, among many other things, that you can move files from directory to directory and rename them without orphaning them.

    This is, IMHO, reason enough to switch. (And was reason enough to switch for me a while ago.)

    SVN can do binary-file diffs, tracks submissions of multiple files as part of the same revision, and if memory serves me correctly, does O(1) branching and tagging.

    For those of you who, like me, use TortoiseCVS to do version control in windows, there is TortoiseSVN which works like a charm and provides all the functionality you're using in TortoiseCVS with some nice extras.

    I could go on at great length, but the Subversion team can probably do a much better job explaining this than I can, so go to their web site instead.

    Quite honestly, I think that Subversion is so much superior to CVS that it will completely replace it, and I haven't got anything to do with the project. Once I switched over, I never looked back.

    1.0 release means that SVN now supports everything that CVS does, with a few extras. From here, they are planning to work on new features.

    I've heard some bellyaching over the license already (boo hoo). BSD code is Gratis and Libre, and if the Subversion team isn't losing sleep over MicroSomeone ha>oring their project into one of their own, I won't either.

    Please don't turn this discussion into another license vs. license argument, and have a look at the project for its real merit.

    --

    "The wise man proportions his belief to the evidence." -- David Hume

    1. Re:Why Subversion Kicks Ass by cduffy · · Score: 4, Interesting

      It has basically the same functionality as CVS, but is based on a BerkeleyDB backend instead of a simple filesystem approach like CVS. This means, among many other things, that you can move files from directory to directory and rename them without orphaning them.

      Bogus. GNU Arch is based on a filesystem-based repository as well, but can revision file moves, permissions, symlinks, and so forth.

      Further, even if the Arch tools were to disappear tomorrow, I could still retrieve the contents of my files using tar, patch and similar tools -- something I can't do with a tool that backends into BerkeleyDB. (Yes, call me paranoid -- but I don't trust my source to big binary blobs managed by the same library that's destroyed my RPM database so many times). The repository format is write-once, so the files in the repository, once created, are never overwritten or modified as new history is added (unlike CVS's ,v files or Subversion's database backend).

      There are other reasons to prefer Arch as well, including distributed repository support, history-sensitive merge operators, and arguably superior core design.

      Yes, I'm glad to look at SVN on its merits alone -- and while it's a huge improvement over CVS, I still find it lacking compared to the other modern revision control systems out there.

    2. Re:Why Subversion Kicks Ass by Anonymous Coward · · Score: 0

      Eh, why was this modded down, it raises a good point .. whenever I see berkeley DB's (or SQL DB's) used in an open source project, alarm bells go off in my head "wait a minute, is that the simplest solution". The answer is usually NO.

      I still actually can't figure out why svn uses berkeley DB at all!

    3. Re:Why Subversion Kicks Ass by Ian+Bicking · · Score: 2, Interesting
      ...and if memory serves me correctly, does O(1) branching and tagging.
      I don't think that's very exciting. It's more exciting that it does O(1) copying, including O(1) copying of entire trees. They build branching and tagging on top of that functionality, which is the clever part.
    4. Re:Why Subversion Kicks Ass by Eric+Smith · · Score: 1
      ...and if memory serves me correctly, does O(1) branching and tagging.
      I don't think that's very exciting.
      It's very exciting when you've been stuck with CVS for a large repository, where branching and tagging take a long time.
      It's more exciting that it does O(1) copying, including O(1) copying of entire trees. They build branching and tagging on top of that functionality, which is the clever part.
      That's not more exciting to me. I branch and tag frequently, so I care how long those operations take. I only very rarely do a copy for some reason other than a branch or tag. Therefore, I would have been satisfied if branching and tagging were implemented in some mysterious O(1) manner other than copying, and copying took O(n) or even O(n*log(n)).

      The fact that Subversion does O(1) copying is a nice bonus, but its main benefit is that it makes the O(1) branching and tagging possible.

    5. Re:Why Subversion Kicks Ass by Eric+Smith · · Score: 5, Insightful
      Further, even if the Arch tools were to disappear tomorrow, I could still retrieve the contents of my files using tar, patch and similar tools -- something I can't do with a tool that backends into BerkeleyDB.
      I was concerned about that when I started using Subversion. They supply a command, "svn dump", that outputs a flat text file version of a repository in an easily parsed format. I have a cron job to do this periodically for backup. If a was more paranoid, I'd set it up to do it after every commit.

      However, I've been using Subversion for quite a while, and it has never yet lost any of my data.

      but I don't trust my source to big binary blobs managed by the same library that's destroyed my RPM database so many times).
      I have had occasional RPM database problems, but as far as I can tell they have been due to RPM problems, not due to Berkeley DB problems. In my experience Berkeley DB is fairly robust.

      In principle, there is no reason why Subversion can't use your favorite relational database as the back end. The Subversion developers chose Berkeley DB as the first back end implementation, but there may be others in the future.

      arguably superior core design
      That's rather vague. What's better about Arch's core design? (I'm not trying to knock Arch; I just don't know much about it.)
    6. Re:Why Subversion Kicks Ass by mgm · · Score: 2, Informative

      Subversion implements branching and tagging as copy operations, hence they're all fast "cheap" copies. By convention, you don't commit changes to a tag, which is just a directory. It's possible to actually disallow changes to a tagged directory to people can't accidentally change a tag, of course.

      So if you have your project at

      svn://myserver/projects/myProject/trunk

      you can create a tag by doing

      svn cp svn://myserver/projects/myProject/trunk svn://myserver/projects/myProject/tags/1.0.0/

    7. Re:Why Subversion Kicks Ass by Anonymous Coward · · Score: 0

      GNU Arch born with a good idea and with a broken architecture that was a mixture of unix shell scripts and external programs. Now, after a while (since the main developer needs time to grok things), it has been partially converted to C. But, still diff+patch+tar are external and the thing requires cygwin to run on Windows (and it is broken there). Overall, the only good thing of Arch is the idea (not new) of detached developement, but sadly the implementation suck. I started as BK enemy because of its license and because of LM attitude, but overall BK gives me what I want. And, LM has an attitude bu he also has a clue, while in TL you can only find attitude w/out any clue.

    8. Re:Why Subversion Kicks Ass by Anonymous Coward · · Score: 0

      I agree. I sing of the broken architecture is also the huge amount of commands, born to fix Arch deficiencies. Too bad someone does not pickup detached developement and change-set oriented ideas and does not re-implement the thing in a sane way. Meanwhile I'll stick with BK.

    9. Re:Why Subversion Kicks Ass by Eric+Smith · · Score: 2, Interesting
      I fully understand that, and I still don't think it's all that important to me as a Subversion user. It's the effect, cheap tagging and branching, that is important to me, not the cause, cheap copying. The cheap tagging and branching could just as well be implemented by magic pixie dust, and as long as it worked well and reliably, that would suit me fine.

      Just as I care that my car gets me where I want to go, not how the engine works. (Yes, I know some people care how the engine works, and I'm not trying to be critical of that.)

    10. Re:Why Subversion Kicks Ass by cduffy · · Score: 1

      Eh? Arch has been fully converted to C; its modern implementation, tla, uses a number of performance optimizations that simply couldn't be done in shell. There's a full separately maintained branch for Cygwin support that (I understand) works quite well, and TLA itself works great under WSU.

      I disagree -- massively -- with the allegation that the "implementation suck[s]", or that Tom is in any way lacking clue. Perhaps you could ellaborate a bit on these statements? Or even put your name behind them?

      (BTW, I once worked at a BitKeeper shop; not only did I have issues with frequent repository corruption [probably fixed by now, this was about 4 years ago], but LMV did all kinds of nasty things like changing the licensing such that our company, at the time a small startup, which was professionally writing OSS, no longer qualified for the free one).

    11. Re:Why Subversion Kicks Ass by cduffy · · Score: 2, Insightful

      That's rather vague. What's better about Arch's core design?

      Well, for instance, it actually can support things like history-sensitive merges without substantial rearchitecting. After RMS asked for a revision control system with digital signature support, Arch's design was flexible enough that it had a finished implementation while the SVN folks were still debating over how they wanted to implement it. Those are just examples, though.

      If you want something a bit better, let me point you to a missive by Tom Lord (the Arch maintainer), entitled Diagnosing SVN, and a refutation by Greg Hudson, Undiagnosing SVN. Note in particular Greg's response to Tom's "under-developed notion of version control" claim.

    12. Re:Why Subversion Kicks Ass by Anonymous Coward · · Score: 0

      Yes, call me paranoid -- but I don't trust my source to big binary blobs managed by the same library that's destroyed my RPM database so many times

      RPM's backend last i looked gdbm, not to be confused with the far superior sleepycat berkeley db, the "true" successor to the *dbm legacy. Perforce uses a dbm backend as well, and I don't hear complaints about data corruption.

    13. Re:Why Subversion Kicks Ass by Anonymous Coward · · Score: 0

      Really? Try to remove diff, patch and tar from your hd and let me know how it goes. I really don't know what you're talking about when you say that TLA works well on Windows. It is fairly broken, and the fact that it requires cygwin is due a broken design too. Why the heck an SCM should need deep involvement with the OS? A thin, and I mean really thin, abstraction layer should do the job pretty nicely w/out requiring to install the clunky cygwin. I fully agree with the SVN approach of using APR. it's a thin library, gets linked to the executable and gives upper layer the full OS independence.

    14. Re:Why Subversion Kicks Ass by cduffy · · Score: 1

      I didn't say that it works without dependencies, I said that it's been fully converted to C. Stop putting words in my mouth.

      Why does the SCM care about the OS? It doesn't, really, beyond caring about POSIX compliance. Slap WSU on WinXP and it's suddenly on a POSIX compliant OS, and reportedly functions perfectly. (By the way, I said "WSU", not "Cygwin"; listen carefully, please; Cygwin is not required).

      As for the Cygwin branch, see here. Is it a hack? Sure. Does it work? Reportedly so (and yes, its archives are compatible with the UNIX version).

    15. Re:Why Subversion Kicks Ass by cduffy · · Score: 1

      I sing of the broken architecture is also the huge amount of commands, born to fix Arch deficiencies. Too bad someone does not pickup detached developement and change-set oriented ideas and does not re-implement the thing in a sane way

      Huh?

      Show me an Arch command, and I'll show you a good reason for having it. The only exceptions that comes to mind is perhaps make-{category,branch,version} (which are now replaced by archive-setup functionality and exist pretty much strictly as legacy code), and the abrowse/rbrowse distinction (which will go away after rbrowse finishes taking over the world and abrowse is deprecated and removed). Those are just UI issues, though; I don't see anything here that bears on Arch's core design.

    16. Re:Why Subversion Kicks Ass by bill_mcgonigle · · Score: 1

      I disagree -- massively -- with the allegation that the "implementation suck[s]", or that Tom is in any way lacking clue. Perhaps you could ellaborate a bit on these statements? Or even put your name behind them?

      Eh, you realize you're arguing with somebody who has a vested interest in Bitkeeper, something to fear from Arch, accolades for LM, enmity for Tom, and bothers to check this thread for replies. I'm not naming any names, but I think the list of suspects is small and you're shouting into the wind.

      Anyway, thanks for the info on Arch. I've got it downloading now. :)

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    17. Re:Why Subversion Kicks Ass by cduffy · · Score: 1

      I was just rereading bits of this thread, and have a simple question: What is POSIX if not an OS abstraction layer? Isn't any sort of need to add additional abstraction on top of it indicative of breakage?

      And btw, there's a native win32 port of tla; see here.

  24. more information by j1m+5n0w · · Score: 5, Informative

    The main site seems to be slashdotted. There appears to be an online book on the subject here

    Version Control with Subversion
    Draft Revision 8770
    Ben Collins-Sussman
    Brian W. Fitzpatrick
    C. Michael Pilato

    -jim

    1. Re:more information by Camel+Pilot · · Score: 1

      Kudo's to these folks and the rest of the development team. I experimented awhile back with svn in the 0.8x days and was pleased with what I found. I have been waiting for 1.0 before I start the transition from CVS and Razor at work.

    2. Re:more information by be-fan · · Score: 2, Funny

      Ha ha. There never was a subversion 0.8x. The last release before the 1.0 release-candidate was 0.37 :)

      --
      A deep unwavering belief is a sure sign you're missing something...
    3. Re:more information by cduffy · · Score: 1

      If you're looking at switching to a more modern RCS, please consider Arch as well.

    4. Re:more information by Arild+Fines · · Score: 1
      Uhm...:
      Subversion 0.8 (14 January 2002): Commit system rewrite (issue #463); diffs over the network in both directions (issue #518); newline conversion and keyword substitution (issue #524); and code migration from libsvn_fs to libsvn_repos (issue #428).
    5. Re:more information by be-fan · · Score: 1

      That's Subversion 0.8, not Subversion 0.8x. The 'x' implies a series of ten. So Subversion 0.8x means the eighties versions: 0.81, 0.82, 0.83, 0.84, etc. Subversion only ever got into the thirties: 0.31, 0.32, 0.33...

      --
      A deep unwavering belief is a sure sign you're missing something...
  25. Subversion is great by Anonymous Coward · · Score: 1, Interesting

    My project team has been using subversion for over a year and has nothing but good to say about it. I am really surprised so few people have heard of the project.

  26. Re:Does Subversion require a UNIX account per user by afidel · · Score: 2

    More secure to have a patchwork of internal user tracking built into the app instead of using the OS's user tracking?!?!? I don't think so, especially since you can use advanced permissions like ACL's to block access to subtrees despite what the version tracking system might think.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  27. RCS can handle binary data since v5.7 by Anonymous Coward · · Score: 0, Redundant

    And CVS uses RCS as a back-end. So... what's the big deal with binary files?

    1. Re:RCS can handle binary data since v5.7 by ewhac · · Score: 4, Informative

      It's possible, through a variety of easily-made missteps, for a file to lose the tag that marks it as binary. Suddenly, fresh checkouts of the file have newline translations done on them, and all hell breaks loose. And, if you edit the ,v file that stores the revision history, you'll discover that the binary file is actually stored as a raw byte range within a text file.

      So, yeah, RCS supports binary files. It just doesn't do it very well.

      Schwab

    2. Re:RCS can handle binary data since v5.7 by cant_get_a_good_nick · · Score: 2, Informative

      cvs does not (no longer) use rcs as a back end. It used to be a collection of scripts on top of RCS, but it's had it's own back end for a while now.

    3. Re:RCS can handle binary data since v5.7 by Anonymous Coward · · Score: 0

      AFAIK neither RCS nor CVS every supported binary-file diffs. Yes, they do store binary files in the repository, but for every revision they store the entire binary all over again. I haven't tried subversion, but their list of features includes true binary diffs, which means that storing binary files in Subversion should take a small fraction of the disk space that RCS and CVS would need for the same data. Even though disk space is cheap these days, it quickly adds up if you frequently update say, a 10 megabyte binary file, into a new revision.

    4. Re:RCS can handle binary data since v5.7 by Anonymous Coward · · Score: 0

      This isn't so much a problem on Unix systems, since Unix file semantics treat all files as buckets of bytes (binary). It's only a problem with operating systems that treat text files specially (as a list of record fields). I don't know many people who use RCS on non-Unix systems, so this whole problem with binary-ness isn't too big a deal.

      CVS is a little more problematic, since it's designed for sharing, which is why I try to avoid using the cvs admin command.

      IMHO, the biggest problem with binary file handling is that they can potentially match RCS keywords. Since you don't want your SCM mucking around with binary files, that's kinda bad.

    5. Re:RCS can handle binary data since v5.7 by aled · · Score: 1

      "It used to be a collection of scripts on top of RCS, but it's had it's own back end for a while now."

      Which just happens to implement the same RCS and diff functionality.
      For me is better that way, I prefer sharing behaviour by reusing libraries than by executing programs.

      --

      "I think this line is mostly filler"
  28. Yay! by ljavelin · · Score: 1, Interesting

    My group uses CVS every day. It does a great job for us.

    However, some other groups in my organization like alternatives like PVCS. Now I have little against PVCS (price tag being one thing, and some crappy network functionality that likely has been resolved by now).

    These people mostly like PVCS because it can do stuff like renames.

    And I like renames too. And therefore, Subversion is pretty compelling. Yay! Congrats to the team, this is pretty exciting, I've been watching subversion for a couple years now. Yay!

    1. Re:Yay! by catch23 · · Score: 1

      I'll use it when eclipse adopts it. All of our programmers use eclipse so without integration, I doubt we'll ever see it ever!

    2. Re:Yay! by blincoln · · Score: 2, Interesting

      Now I have little against PVCS (price tag being one thing, and some crappy network functionality that likely has been resolved by now).

      If you mean how it takes something like 24 hours to upload a 2-3GB file (across a ~100MB/sec link to a remote server), then no, it hasn't been resolved.

      PVCS has to be the most overrated piece of software ever. When I had to act as a liason between developers who were forced to use it and the PVCS administrators at work, I asked the PVCS admins to speak to the vendor about the insultingly slow performance. Their answer? That we should buy a cluster of Windows machines running Citrix that was local to the Unix database server which hosted PVCS and have all of the developers run the client from there instead of their desktops.

      That was just the most laughable experience with their "support" team, since usually they wouldn't answer questions at all.

      Buying PVCS is like buying an alarm clock that wakes you up by stabbing you in the eye with an icepick repeatedly. I'm sure it will do its job (sort of), but there are much better ways to get what you need.

      --
      "...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
    3. Re:Yay! by 0x0d0a · · Score: 2, Interesting

      However, some other groups in my organization like alternatives like PVCS. Now I have little against PVCS (price tag being one thing, and some crappy network functionality that likely has been resolved by now).

      PVCS does, however, lack a lot of CVS functionality, much less SVN functionality. I'm rather pleased to see another good reason to get rid of PVCS coming up.

    4. Re:Yay! by dedazo · · Score: 1

      Yay!

      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    5. Re:Yay! by Anonymous Coward · · Score: 0

      My sentiments exactly.

      Oh and the web interface, it only works in windows using IE or under Netscape Navigator 4.07. How dumb is that?

      And no automation, I mean when I want to build a project, I have to MANUALLY go click some buttons ona gui to check out a project. No command line interface.

      Not only does that 'clock' poke you in the eye every morning, it grabs a $1 from your pocket too.

      JoeR

  29. CVS and others by ModernGeek · · Score: 2

    Can someone give me a quick overhaul of what CVS acutally is and does? I am just starting to move from Proprietary to Open Source for my developments, and wonder what exactly CVS is, in the Proprietary world, most people just use a WinServer/SMB to share code, how different is CVS? I know it is pretty hard, but I want to know the exact concept of it and how exactly it will help improve efficiency/etc. Once I am done migrating from prop/opensource, i will probably write a paper or article on it, it is a rough journey but once you are halfway there, you fell like you just took on the world and won.

    --
    Sig: I stole this sig.
    1. Re:CVS and others by Dragonmaster+Lou · · Score: 5, Informative

      CVS has nothing to with sharing code (although it can be used for that, but that's not its primary purpose). CVS is a version control system, more akin to something like Visual Source Safe.

      Basically, it serves two functions. First, it tracks changes made to files in your source tree, so that if the latest tracked version of a particular piece of code is broken, you can compare it to or even roll back to an older version of the code to either work around or diagnose what broke. Second, it allows multiple users to work on the same file at the same time without stepping on each others toes too much. This works by having each user check out a copy of the code from the main repository which contains the "master" copies of the code. When they're done working on the code they can check it back in to the repository where (often with a little human intervention) the changes are merged with the most recent copy stashed in the repository.

      Part of that does involve a central server to store repository in -- on a local network this is could often be a commonly accessable directory or mounted drive off of a WinServer/SMB or NFS server. CVS also allows for internet checkouts and checkins, which is how a lot of open source stuff is handled.

      CVS and other version control programs have lots of other features I haven't mentioned here, such as branches, labels, etc., but I figured this gives you a good idea of what's going on.

      Hope this helps.

    2. Re:CVS and others by PacoTaco · · Score: 3, Informative

      Here's the overview from the manual.

    3. Re:CVS and others by cduffy · · Score: 5, Informative
      [Yes, you hit the basics -- but the implicit per-file assumption a la CVS just hit my "rant" button... hopefully some of what I'm throwing out here is actually useful].


      First, it tracks changes made to files in your source tree [...]

      While CVS tracks changes made to individual _files_ in the source tree, some other revision control systems (ie. Arch, BitKeeper, etc) store changes to the tree state atomically. That is to say, if you have file1.c and file1.h and you make a change that touches both of them, you can bundle both those changes together into one atomic operation, so that they show up as just one changelog entry and that every developer who applies one of these changes always gets both of them.

      In CVS, to know that file1.c version 1.13 and file1.h version 1.2 both belong in the same tree, you need to "tag" each file in the tree -- adding notation to the backend store for each individual file indicating that they both are tied to THIS_TAG_VERSION. In the case of a changeset-oriented system, on the other hand, the appropriate version of both files is just another element of the repository state -- so instead of a set of individual file states, you just have one big repository state that holds everything together.

      This also makes updates very fast, since instead of checking for each file "is there an updated version of this file?" for each and every file in the repository, you can just check "are there new patches for this repository?" and download that.

      There are other things one can reasonably expect of a modern revision control system, as well. For instance, a site using tla-pqm to manage their Arch repository can be set up such that only code which compiles and passes the unit tests can be merged into the primary repository; this is exceedingly good practice, especially on big teams.

      Another nifty thing good revision control systems can do (well, some of them -- Subversion, for instance, lacks this) is distributed operation. For instance, this means you can make a branch of someone else's code stored on your own server, make revision-controlled changes on that server, and then ask them to merge your changes back into their branch -- without yourself having any access to their server at all! Distributed branching, in combination with good branch and merge operators, enable quite a lot of workflows that would otherwise be quite impractical. In terms of release-quality revision control systems, the only two that really have this support are Arch and BitKeeper (svk and darcs do something similar, but neither is exactly mature or in posession of a substantial userbase; that said, I think darcs is quite interesting from a research-project point of view).


      By the way, I'm currently the maintainer of cscvs (a tool for building a SQLite database with inferred changeset information from analyzing a CVS repository's history, and then doing interesting things in it -- ranging from reporting to importing the archive into Arch), making me an interesting combination of "informed" and "biased" in this discussion. If you're interested in revision control and possibly interested in a continuation of this rant (or disagree with some part of it), please drop me an email.

    4. Re:CVS and others by DAldredge · · Score: 1

      CVS is a major drugstore chain! :->

    5. Re:CVS and others by Compuser · · Score: 3, Informative

      You don't want atomic commits you want changeset
      functionality. Just so the terminology is in tune
      with others. And subversion seems to have partial
      support for that. If you figure out what "implicit
      changeset" functionality is exactly...

    6. Re:CVS and others by Anonymous Coward · · Score: 2, Interesting

      First, it tracks changes made to files in your source tree [...]

      Actually, the parent poster made *two* errors: one is the per-file behaviour, which you corrected, but the second mistake is that svn tracks *changes* .. it doesn't. It tracks *source tree snapshots* which is a subtle but important difference.

      And which makes it less useful, and makes the code more complex.

      Arch, as an example, literally tracks the differences between revisions, rather than the revisions themselves. From both an abstract point of view, and in the implementation.

    7. Re:CVS and others by Emil+Brink · · Score: 2, Informative

      There seemed to be several helpful replies to this, but I didn't see anyone linking you to the book, so there. It's good.

      --
      main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
    8. Re:CVS and others by SJS · · Score: 2, Interesting
      Part of that does involve a central server to store repository in -- on a local network this is could often be a commonly accessable directory or mounted drive off of a WinServer/SMB or NFS server. CVS also allows for internet checkouts and checkins, which is how a lot of open source stuff is handled.
      CVS over NFS is problematic and should be considered unwise. Most of the really strange problems with CVS I've encountered (from hanging in #java) have been with CVS over NFS. I've never bothered to run CVS over NFS myself, but when someone starts asking how their repository got corrupted, so far every time has been that they were using NFS.

      (On the other hand, most of the problems involved with setting up CVS involves pserver -- most of the people somehow decided that pserver is simpler than ssh, even if they already have ssh set up on the respository box. Go figure.)

      --
      Pick One: http://www-rohan.sdsu.edu/~stremler/sigs/sigs.html (Note - disable Javascript first!)
    9. Re:CVS and others by sashang · · Score: 0, Flamebait

      Aren't you working in the stone age. Always shocking when I go into development places and find they're not using any form of version control. CVS isn't hard, neither is subversion, nor Bitkeeper (ok Bitkeeper's probably a bit harder relative to the other 2). And most people on Windows use SourceSafe for version control, not WinServer/SMB. Saying that makes you sound like a newb.

    10. Re:CVS and others by SJS · · Score: 1
      While CVS tracks changes made to individual _files_ in the source tree, some other revision control systems (ie. Arch, BitKeeper, etc) store changes to the tree state atomically. That is to say, if you have file1.c and file1.h and you make a change that touches both of them, you can bundle both those changes together into one atomic operation, so that they show up as just one changelog entry and that every developer who applies one of these changes always gets both of them.
      Well, that's misusing the term atomic. By atomic, we traditionally mean that it's not interrupted -- it all goes in as a unit. CVS, to my knowledge, does this (that's what all the locking is about). "Atomic" and "changeset" aren't synonyms, although a non-atomic changeset would probably be pretty silly.

      That being said, I find that I commit files on a file-by-file basis, and rarely, if ever, commit groups of files as a unit. So changesets are (according to the way I currently work) utterly useless to me. Mostly, I diff the current file against the repository, make a few notes about what I had changed in the file and why, and commit that file. Lather, rinse, and repeat.

      In the case of a changeset-oriented system, on the other hand, the appropriate version of both files is just another element of the repository state -- so instead of a set of individual file states, you just have one big repository state that holds everything together.
      Is it really common practice to develop in something other than the current tree? In my experience, everyone involved in a project is expected to work in the most current version of the tree, and to update their local working copy first thing every day (and several times throughout the day). People working on the sorts of changes that would break the tree are supposed to be working in a branch, and support of older versions are also done in branches.

      Of course, the way we work has been influenced heavily by CVS, but it's a pretty sensible and solid process. I can't say that I've ever had a desire for some of those "alternate workflows" that everyone else seems so keen on.

      --
      Pick One: http://www-rohan.sdsu.edu/~stremler/sigs/sigs.html (Note - disable Javascript first!)
    11. Re:CVS and others by arkanes · · Score: 4, Informative
      CVS is atomic per-file but not per-changeset. Arch and svn both make multiple-file commits atomic (because they're changeset-oriented rather than file-oriented). It's not a misuse of atomic ;)

      The work environment you're descriping is more typical of a small project or an in-house effort, not a broad distributed project. Think about needing to maintain released versions, to handle patchs and bug reports against that version, and to backport fixes to the current tree against that version.

      Also, I don't know what language you primarly use, but as a C++ developer I don't remember the time I checked in just 1 file, unless I'm chugging through one-liner bugfixes. Changesets make sure that .h/.cpp (as a trivial example) commits are atomic, and have the aditional advantage of being much more efficent to update on the client.

    12. Re:CVS and others by __past__ · · Score: 1
      Working in your own tree, and merging that tree with the "official" one only when you are done, is especially usefull if your connectivity sucks. In a centralized model you don't have a chance to version-control your local changes unless you can connect to the CVS-(or whatever-)Server, you basically work without the safety net until you can commit.

      This is probably more of an issue for free software projects, where contributors might feel a desire to hack while travelling, or live in areas without good connectivity. If everyone has a dedicated development workstation connected to a CVS-server in the same LAN, it doesn't matter much.

    13. Re:CVS and others by aled · · Score: 1

      Real programmer don't need any bloated version control. Real programmers just need one source file.

      --

      "I think this line is mostly filler"
    14. Re:CVS and others by jonadab · · Score: 2, Insightful

      > Is it really common practice to develop in something other than the
      > current tree? In my experience, everyone involved in a project is expected
      > to work in the most current version of the tree, and to update their local
      > working copy first thing every day (and several times throughout the day).

      This expectation is problematic, because it effectively prevents anyone on
      a dialup connection from being able to contribute. By the time they get
      their CVS tree updated, it's well past time to start updating it again.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    15. Re:CVS and others by MrR0p3r · · Score: 1

      [Yes, you hit the basics -- but the implicit per-file assumption a la CVS just hit my "rant" button... ...In CVS, to know that file1.c version 1.13 and file1.h version 1.2 both belong in the same tree, you need to "tag" each file in the tree -- adding notation to the backend store for each individual file indicating that they both are tied to THIS_TAG_VERSION. In the case of a changeset-oriented system, on the other hand, the appropriate version of both files is just another element of the repository state -- so instead of a set of individual file states, you just have one big repository state that holds everything together.

      "what the hell does rant mean?"

      --
      Whatever man, I spelled it write!
    16. Re:CVS and others by srussell · · Score: 2, Interesting
      Another nifty thing good revision control systems can do (well, some of them -- Subversion, for instance, lacks this) is distributed operation. For instance, this means you can make a branch of someone else's code stored on your own server,
      Distributed repositories is a really nice feature for some development models, like open source, but it is a nightmare for corporate environments, where having a central repository is critical.

      You'll find a lot of corporate developers out there who reject the very idea of concurrent version control; they want a system where you have to lock a file to be able to edit it (like RCS). They want to be able to see, easily, who's working on what at any given time. They don't want to resolve conflicts -- they want to avoid them in the first place. Concurrent version control is a "bad idea" to them, and the idea of distributed repositories makes them shudder.

      Now, I disagree with the lock-to-use philosophy; I know, from experience, that it causes more problems and frustration than it solves. However, the central repository architecture does have a number of benefits, not least of which is cheap copies, which leads to intuitive and elegant tags and branches.

      I use darcs for my open source projects, but Subversion at work. They both have strengths arising from their unique architectures that are conducive to different development models.

    17. Re:CVS and others by stripes · · Score: 3, Informative
      Is it really common practice to develop in something other than the current tree?

      Yes. There are a few reasons I can think of to do it:

      • Putting important bugfixes in older versions of code. This use to be common in commercial software, but is less common now. As an example if you are working on an OS and a buffer overrun is found in some of the code you of corse want to fix that in the head of the tree, but you also want to make a bugfix release which will be off of whatever your customers are running typically the last two major releases or so. Looking at the open source world FreeBSD is working on 5.x and has some people running it in "the real world", but an important bug fix will go into the head of the tree, the last 4.x release, and I think the last 3.x release as well (in some cases).
      • Very large changes that can make the code unstable for a while. Maybe one guy is making the code run on a new database backend while other people are working on the GUI. For the most part they work on diffrent parts of the code, but bugs in one can stop the other group dead in it's tracks. It may be a good idea to branch the code and when both branches are stable merge them in.
      • People with crappy connectivity may want their own repository that they can later sync with the master.
      • In an open source project you may not have the authority to make a new release, or even alter the code that goes into releases (for example, nobody in the Linux community knows me, why would they let me alter their source tree!). You make your own repository and make whatever changes you think it needs and then send a single tested working patchset on to someone who can evaluate it.

      You can also mix n' match those reasons. Or even extend them (esp the last one, think very very large open source projects with thousands of authors).

    18. Re:CVS and others by cloudmaster · · Score: 1

      There are other things one can reasonably expect of a modern revision control system, as well. For instance, a site using tla-pqm to manage their Arch repository can be set up such that only code which compiles and passes the unit tests can be merged into the primary repository; this is exceedingly good practice, especially on big teams.

      You can do this with CVS. It's not super-easy, but there are tests that you can apply to the files on checkin. Usually the script called just does something simple like check for valid filenames or the like, but there's no reason that gcc couldn't be run instead... Well, I guess if there were files with interdependeicies that were also in different directories, that could cause a problem, since the script's called on a per-directory level instead of with a complete list of files, but that wouldn't be *that* hard to work around with some CVS tweaking. ;)

    19. Re:CVS and others by cduffy · · Score: 1

      Version control systems based on distributed repositories can be quite condusive to workflows viable in a commercial environment. At my workplace, for instance, we're considering using Arch with tla-pqm -- a "patch queue manager". Roughly, what this does is permit a developer to send a request "merge this patch and this patch from my personal branch into the central repository". PQM does the merge (throwing the developer an error if it doesn't -- in that case they need to update to the latest copy), and then runs a user-defined script to decide whether to go ahead; in our case, we'd be running a compile followed by a run of the automated test suite. Test suite passes? The developer's changes get committed. Test suite fails? Developer gets a nastygram.

      Per-file locking can be done via a 3rd-party dedicated lock server tool -- no need to integrate into the source control system -- if one really needed it. As for the rest of it: Tagging off a new branch in Arch is exceedingly cheap (no, it doesn't involve making a whole new copy of the tree); indeed, its branching support is the best I've seen anywhere. I can't comment on darcs, but in Arch, at least, using a centrallized repository is in no way a prerequisite for cheap and intuitive branching support.

    20. Re:CVS and others by cduffy · · Score: 1

      But all the better to avoid the tweaking, no?

      Any workaround would effectively be guesswork: "These happened around the same time with the same comment on commit, so they must be part of the same changeset". Then to preserve your record of what the file state is that you tested to work you need to tag everything, which means modifying every single ,v file in the repository and is ridiculously slow when one has a 30,000 file repository (as I do at work), not to mentioning making every single file a bit bigger (which adds up when one's doing daily builds and tagging each one).

      In short: Persueding CVS to Do The Right Thing is a hack (and thus time-consuming and error-prone, as all hacks are when one tries to polish them enough to work in a commercial environment), whereas newer tools are built for it.

    21. Re:CVS and others by cloudmaster · · Score: 1

      Oh, yeah, it's much nicer to have a good way to do those things. I was merely pointing out that is is *possible* with CVS, assuming one wants to put adequate effort into it. :)

      Re "how to figure it out" - probably the "easiest" thing to do would be to have a makefile and to rebuild targets involving the checked-in files on checkin. That'd still suck to work with, but would theoretically work - and that's all I'm arguing: "theory". I darn sure don't want to have to implement it. ;)

    22. Re:CVS and others by highwindarea · · Score: 1

      I couldn't agree more. This is probably the main reason I'm not helping any OSS projects at the moment. Especially considering the price of Internet access in Oz.

      --
      I think this internet thing sounds like a good idea
    23. Re:CVS and others by Anonymous Coward · · Score: 0

      Decent attempt but.....no.

    24. Re:CVS and others by jovlinger · · Score: 1

      Please comment on your experience w/ darcs; I can't quite figure out whether it is cool because it's good, or whether it's written in haskell.

    25. Re:CVS and others by josephgrossberg · · Score: 1

      So, do "atomic" commits solve the promblems caused by renaming files?

      CVS thinks they are one added file and one deleted file, not one moved around.

      The best you can do AFAIK is mention the old filename in your comment.

    26. Re:CVS and others by cduffy · · Score: 1

      Arch *does* solve this problem, but that it does so is pretty much orthogonal to the atomic changeset commit support.

      The way Arch works, each file is tagged with an arch-id. This can be included in the file in tagline mode (with a comment such as "# arch-id: ", in an external file, etc. Whenever a file is moved, this is simply recognized by Arch as "the file with tag $FOO is moved to location $BAR"; likewise, modifications to files are represented as "the file with tag $FOO has patch $BAR applied". This means, for instance, that you can merge a patch which modifies src/myprog.c, and a patch that renames it to src/main.c, and the two patches will be correctly composited whichever order you merge them in.

  30. super slashdotting... by Anonymous Coward · · Score: 0

    what do you call it when even the google cache is slashdotted ?

  31. MOD DOWN - NEW TROLL ALERT by Anonymous Coward · · Score: 0

    Do not mod up people who point out cut-and-paste trolls logged in.

    Many of these are folks who post plagarized articles and then point it out with another account to gain karma.

    1. Re:MOD DOWN - NEW TROLL ALERT by orthogonal · · Score: 5, Funny

      Do not mod up people who point out cut-and-paste trolls logged in.

      Many of these are folks who post plagarized articles and then point it out with another account to gain karma.


      Do not mod up ACs who point out that people who point out people who post plagiarized articles.

      Many of these are folks who are stuck in a bizarre recursive process of accusation and counter accusation against
      folks who are stuck in a bizarre recursive process of accusation and counter accusation against
      folks who are stuck in a bizarre recursive process of accusation and counter accusation against
      folks who are stuck in a bizarre recursive process of accusation and counter accusation against

      Oh, wheels-within-wheel-within -- oh just take the blue pill!

    2. Re:MOD DOWN - NEW TROLL ALERT by Anonymous Coward · · Score: 0

      Why would you mod them up anyway? They're not adding anything to the discussion.

  32. Using revision control for Web Development by Anonymous Coward · · Score: 1, Informative

    The problem I have with these systems is, that as far I know, you have to check out files, work on them and commit them back to the revision system.

    This is fine for most types of code, but for web development you really do not want to maintain a different local webserver for each developer, so my question is this:

    Is it possible to work several people on the same files and still have version control?

    1. Re:Using revision control for Web Development by Anonymous Coward · · Score: 3, Interesting

      Yes, my team does this. We have a web and java based scheduler application.

      Our source is maintained with subversion and we have teams that concurrently work on different layers (data provider, ui, business logic). We run the project on jetty currently, even with two ui frameworks (struts+velocity and tapestry).

      We use maven to build the war file, and start the appserver (with a patch we wrote to support jetty). This works very well for our team of around 14 people.

    2. Re:Using revision control for Web Development by Yakman · · Score: 1

      Sure, you'd just all need to check-out the files to a shared "working directory". Only problem with that is someone else could edit the file while you are or check out a fresh copy over the top of your un-committed dev version. I suppose you could set the permissions on the files you check out so that only you can write them, but then if you're off sick and someone needs to edit it they'd be screwed.

      Alternatively, you could all have your (separate) working directories as virtual servers under one web server?

    3. Re:Using revision control for Web Development by feronti · · Score: 2, Interesting

      What I'm going to do when I finally get things set up so that I'm not the only one using scm is set up staging areas as a virtual hosts on the same server as subversion. Every time there's a commit to a developer's branch, it's automatically exported to his staging area so he can test it. If everything works nicely, he can then merge into the global developer branch. Finally, when we're ready to do a full release, we merge the developer branch into the release branch, and it's automatically exported to the production server.

      It's a little extra administrative overhead, but worth it for me to do the extra work, since I'm the only one on the team who's ever used scm, so I've got to make at easy for them as I can. Fortunately, for now, it's a small team, so I don't have _too_ much work to do to get it set up... and once I've got everything figured out completely, I can script adds, moves, and changes.

    4. Re:Using revision control for Web Development by noda132 · · Score: 2, Informative

      This is fine for most types of code, but for web development you really do not want to maintain a different local webserver for each developer, so my question is this:

      That's like saying that for C code you don't want to keep the libraries installed on every developer's computer.

      ...which is obviously wrong. You do want to maintain a different local webserver for each developer. That's the whole point of revision control: more people can work on it at once. Not to mention, the website doesn't fall to pieces every time you make a typo.

      How long does it take to set up a web server, anyway? "apt-get install apache php4" and you're done.

      I do this for one-person development too: I hack on my desktop machine, and then "svn commit" and it gets committed to the repository and automatically checked out on my web server. (Look in [repos-path]/hooks of any SVN repository for how to do this, it's very easy and less of a hack than in CVS.)

    5. Re:Using revision control for Web Development by Anonymous Coward · · Score: 0
      You do want to maintain a different local webserver for each developer.

      I disagree.

      Installing a web server is not as simple as apt-get whatever. It usually involves lots of ./configure --with-foo --without-bar --with-such-and-such=/such/and/such. Just do ./configure -help with php and see how many modules are available: how many of those are available in precompiled binaries?

      And why does every developer need a *nix machine? What if a number of programmers work exclusively in Windows but occasionally need to fix a bug in some php code? Are you expecting them to port a large codebase to another platform simply to aid a revision control scheme?

      There are other issues in setting up a runtime environment: what if the web code uses a feature from qmail that's not available with sendmail? What if the web server (and the development server) have a number of locally-written binaries that are called from within the web code? What if the web code calls a number of locally-written scripts written in ksh98, perl, python and java? What if the web code depends on specific versions of a database engine? What if the entire purpose of the web code is to tie together these programs, scripts and databases?

      If you're writing code that is meant to be distributed to others, then yes, setting up local trees for every developer is easy. However, most web development is not meant to be distributed as open source code or even as a commercial product for others to use: web development is often simply "glue" code to tie together disparate databases and backend processes for a specific group. It doesn't make sense to write code that's easy to distribute because it's written to fix a number of issues that are extremely unlikely to occur outside of the particular environment. Writing your code so that it's easier to set up a runtime environment is not worthwhile and in fact can make poor code: are you willing to code in checks for specific modules, filesystem paths, program versions and database schemas? Am I supposed to code around using a php module that does exactly what I need because that module is not included in Debian's binaries and at some point I may have a user who uses Debian and wants to make a bugfix to our web application?

      For our department's largest web application, I've written out detailed instructions on recreating the runtime environment for the next admin. These instructions are a terse six pages printed and start off with OS installation. This is an extreme example but many times web development moves effort out of "coding" and into "admin work" (with the developers and admins being the same small team). It's not poor code, but rather code written for a specific environment.

    6. Re:Using revision control for Web Development by Anonymous Coward · · Score: 0

      So, in summarized form:

      blah, blah, blah, .... php code ... web code ... web code ... web code ... web code ... web code ... web development ... web development ... php module ... web application ... web application ...web development ... blah, blah, blah, whinge, whine, whinge ...

      In conclusion, well-known software engineering practices are all too difficult for the average "web developer" hacking away on his "web application." No wonder these McJobs are going to India hand over fist. Consider obtaining some kind of degree, it isn't 1997 any more. Hope that helps.

  33. SVN Anti-FUD by Anonymous Coward · · Score: 5, Informative

    http://www.red-bean.com/sussman/svn-anti-fud.html

    Also, #svn channel on freenode irc is helpful.

  34. Now will SourceForge adopt it? by mattgreen · · Score: 5, Interesting

    SourceForge said in a FAQ (IIRC of course) that they are waiting until a production version of SVN comes out. Now, when will they implement it? I'm waiting pretty anxiously.

    1. Re:Now will SourceForge adopt it? by peripatetic_bum · · Score: 2, Redundant

      The real question is: Will Linus adopt it?
      I remember a hell of a flame war on the use of bitkeeper which has a license that says if you bitkeep to make a product to compete against bitkeeper, you cant use it (I thought that was fair), and it caused quite a ruckus in many camps.

      There is a good summary of what happened here
      http://www.ussg.iu.edu/hypermail/linux/kerne l/0304 .2/0825.html

      --

      Sigs are dangerous coy things

    2. Re:Now will SourceForge adopt it? by Anonymous Coward · · Score: 0
  35. Most need functionality by rmsousa · · Score: 2, Funny

    Does it check for SCO IP on each commit?

    No article should remain without a [bad] SCO joke.

    1. Re:Most need functionality by master0ne · · Score: 1

      you, if it finds any sco ip it returns "commit successful" to the user to let them know their commit was successfuly owned by sco.

      --
      Noone writes jokes in base 13!
  36. Multiple repositories? by kevin_conaway · · Score: 2, Interesting

    How are multiple repositories (even in CVS for that matter) handled? Anyone have any experience with either Subversion or CVS?

    1. Re:Multiple repositories? by Anonymous Coward · · Score: 0

      No. No-one on Slashdot, the site for nerds, has any experience with CVS. Sorry for the inconvenience.

      Feel free to come back if you need some legal advice though

    2. Re:Multiple repositories? by Audity · · Score: 1

      You mean like
      cvs -dusername@host/path/to/repository checkout modulename
      ?

      You can also set and reset the CVSROOT environment variable to your heart's content.

    3. Re:Multiple repositories? by Anonymous Coward · · Score: 0

      There's gotta be a "+1, Smartass" mod here somewhere...

    4. Re:Multiple repositories? by Anonymous Coward · · Score: 0

      The guy's probably thinking of storing the same sources in multiple repositories, doing independent changes, and then synching up. Think something like coding on a laptop on a flight: some version control systems allow you to take a copy of the repository with you, make multiple new revisions, and then merge the updates with the main development repository later on. I don't know about subversion, but CVS supports nothing quite like this. The only support for synching multiple repositories in CVS is to use the vendor branch, but that featuree's intended for one-way transfers from a "vendor" and I'm not sure how well it works if you have two repositories and want to move updates both ways.

    5. Re:Multiple repositories? by Eric+Smith · · Score: 2, Interesting
      I have a machine acting as a Subversion server with twelve repositories. It works fine. Setup was a breeze.

      I recommend using svnserve (Subversion's native network protocol) over ssh, rather than the WebDAV/Delta-V/Apache module approach.

    6. Re:Multiple repositories? by at2000 · · Score: 1

      Why? WebDAV also supports multiple repositories well.

    7. Re:Multiple repositories? by aardvarkjoe · · Score: 1

      Well, he may have just been saying that in general, he recommends just using svnserve -- not specifically because of multiple repositories. For the record, I agree. If you already have apache set up, then you might want to go that route, but if not, getting everything set up is an installation nightmare. Setting up svnserve+ssh is nice and easy.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    8. Re:Multiple repositories? by Eric+Smith · · Score: 1
      Subversion over its native network protocol is substantially faster than over WebDAV, and puts less load on the server. It's also much easier to configure. I don't have anything against WebDAV, but I can't at the moment think of a single practical advantage of Subversion over WebDAV vs. Subversion using svnserve.

      At the time I started using Subversion, there were some deadlock problems in mod_dav_svn, though I expect those have long since been resolved. I think the fundamental difficulty is that doing this through an Apache module is inherently more complicated, and thus somewhat more brittle.

    9. Re:Multiple repositories? by stripes · · Score: 1
      The guy's probably thinking of storing the same sources in multiple repositories, doing independent changes, and then synching up. Think something like coding on a laptop on a flight: some version control systems allow you to take a copy of the repository with you, make multiple new revisions, and then merge the updates with the main development repository later on. I don't know about subversion, but CVS supports nothing quite like this.

      Subversion doesn't (at least not directly). There is something called svk that is built (more or less) on top of subversion that does do that.

      On the other hand the thing I most frequently want to do with CVS that I can't when I am disconnected (well, ok, other then "cvs commit") is "cvs diff", and subversion does support that while disconnected.

    10. Re:Multiple repositories? by stripes · · Score: 1
      I don't have anything against WebDAV, but I can't at the moment think of a single practical advantage of Subversion over WebDAV vs. Subversion using svnserve.

      For read-only views of a repository there are way more deployed WebDAV clients then subversion clients, like all modern Windows and Mac OSX boxes. In fact for trivial version control as well (like no comment, and each file change is a commit), not just read-only.

      So you could install subversion on all the office boxes, and try to teach everyone how to use it, or you could use WebDAV and then next time someone "destroys the spreadsheet with all the client contact information" you can just get it back. Or all the other joys of trivial version control.

      That doesn't mean WebDAV is "definitely the way to go" when replacing an existing version control system use by folks that actually place some value on using some sort of version control system.

    11. Re:Multiple repositories? by Eric+Smith · · Score: 1
      For read-only views of a repository there are way more deployed WebDAV clients then subversion clients, like all modern Windows and Mac OSX boxes. In fact for trivial version control as well (like no comment, and each file change is a commit), not just read-only.
      I could be wrong, but I was of the impression that to commit to a Subversion repository over HTTP, you need WebDAV and Delta-V. Very few WebDAV clients support Delta-V yet.
  37. envfs by Anonymous Coward · · Score: 0

    envfs is a good place to start.

  38. Re:Not bad, but... by leandrod · · Score: 1, Insightful
    > if the original BSD TCP/IP stack hadn't been under such a licence, it's doubtful the internet would be as interoperable as it is today, and if X hadn't been under the MIT licence, we'd be stuck with a bunch of incompatible proprietary windowing systems.

    Your assertions are totally unawarranted. Ifs are meaningless in History, except as a fun exercise.

    One could say that to the contrary a copylefted X Window System would have had less forking (widgets, servers, extensions, drivers) and thus the main RI would have been richer, more useful.

    And we would be totally unable to prove it either way.

    --
    Leandro Guimarães Faria Corcete DUTRA
    DA, DBA, SysAdmin, Data Modeller
    GNU Project, Debian GNU/Lin
  39. Bah, a few days... by Dog+and+Pony · · Score: 4, Funny

    ... try having a sysadmin that prefers debian and see how long you have to wait. Sigh. I do like subversion lots though! :)

    1. Re:Bah, a few days... by Ydna · · Score: 1

      Please don't blame your sysadmin (if you were). subversion is (largely) held up by apache2

      --

      "The great thing about multitasking is that several things can go wrong at once." -me

    2. Re:Bah, a few days... by noda132 · · Score: 1

      I've been using subversion on Debian unstable for months. Just apt-get install subversion.

    3. Re:Bah, a few days... by Dog+and+Pony · · Score: 1

      Well, I am blaming Debian I guess, mostly, although the sysadmin could have made other choices.

      I'm happy with the choice of subversion though.

    4. Re:Bah, a few days... by Anonymous Coward · · Score: 5, Informative
    5. Re:Bah, a few days... by Ian+Bicking · · Score: 4, Informative
      I've had no problems installing Subversion under Debian. The version currently in there is perfectly functional (I think it's the release candidate), and while it's only in unstable it doesn't bring in many dependencies, and doesn't require a whole upgrade (as well as Subversion having a woody port).

      You also don't have to have apache2 or any of that -- svnserve works perfectly well, and ssh access doesn't require any server at all (similar to CVS).

    6. Re:Bah, a few days... by ttfkam · · Score: 1

      So they're supposed to use Debian unstable for their production server?

      Hmmm...

      --

      - I don't need to go outside, my CRT tan'll do me just fine.
    7. Re:Bah, a few days... by JohnFluxx · · Score: 2, Insightful

      Then you can't complain that you can't install something that was released a couple of days ago!

    8. Re:Bah, a few days... by __past__ · · Score: 1

      But why is it? Subversion works fine without apache 2, just use svnserve. (Without the httpd, that is, you still need the APR)

    9. Re:Bah, a few days... by Anonymous Coward · · Score: 0

      Wow brand new software is in Debian Unstable. Holy shit. News at 11.

    10. Re:Bah, a few days... by Anonymous Coward · · Score: 0

      Subversion has good quality control so 1.0 really is stable and should get security updates like they do in most other distributions.

    11. Re:Bah, a few days... by jdavidb · · Score: 2, Insightful

      I'm not quite sure how readily available binaries of subversion 0.37 help with the problem of waiting for binaries of subversion 1.0 ...

    12. Re:Bah, a few days... by WWWWolf · · Score: 3, Insightful
      I'm not quite sure how readily available binaries of subversion 0.37 help with the problem of waiting for binaries of subversion 1.0 ...

      Because that's only one minor rev behind. There probably aren't that many big changes in 1.0 anyway, so 0.37 will probably be good enough for the days (or weeks? no idea how hard-working the subversion maintainer is...) while waiting for 1.0...

    13. Re:Bah, a few days... by umeboshi · · Score: 1

      deb http://people.debian.org/~cjwatson subversion-woody/
      deb-src http://people.debian.org/~cjwatson subversion-woody/

    14. Re:Bah, a few days... by smoking2000 · · Score: 1

      That's it, I've had enough of your whining.

      Your default umask is now 0444.

      Regards,

      Your BOFH

    15. Re:Bah, a few days... by ion++ · · Score: 1

      Just tell your sysadmin about checkinstall, that allows him to make a deb from the source.

    16. Re:Bah, a few days... by JerkBoB · · Score: 1

      So they're supposed to use Debian unstable for their production server?

      For simple packages, it's not usually a big deal to rebuild the package against Stable. Sometimes it will rebuild with no tweaks, but usually one just has to edit the debian/control file and make the build/install deps match what's in Stable. I haven't tried doing this with Subversion, but I wouldn't imagine that it's particularly complicated (i.e. dependent on lib versions not present in Stable).

      --
      A host is a host from coast to coast...
      Unless it's down, or slow, or fails to POST!
  40. That is FUD. Apache NOT Required by Anonymous Coward · · Score: 0

    http://www.red-bean.com/sussman/svn-anti-fud.html

  41. Re:Does Subversion require a UNIX account per user by Webmonger · · Score: 4, Informative

    Arch doesn't require any accounts for read-only access. Write access requires 1 account at minimum. If you want to have multiple people use the same account, that will work fine. (I'd recommend using ssh public-key authentication, though, since shared passwords are always bad policy)

    Supported write protocols include webdav, sftp (the one that's part of ssh) and ftp. Shell access is never required.

  42. enterprise ready? by Chuck+Bucket · · Score: 2, Interesting

    is anyone using this in a large professional setting? I've been tasked with rebuilding the CVS server at my gig, and I'm almost done, but how hard would it be to convert and existing CVS repository over? I will be testing the setup for a few weeks after install, so this may be a good time to try out Subversion. anyone with exp please share your thoughts. tia

    CB

    1. Re:enterprise ready? by Anonymous Coward · · Score: 2, Informative

      oh oh, there are automated tools included. cvs2svn

      Will convert your repositories. You should be able to keep the cvs as a backup or the subversion as a pilot.

    2. Re:enterprise ready? by myg · · Score: 3, Informative
      Yes, we are using it at my company. We switched from CVS around 4 months ago; importing all of our CVS history. We haven't had any problems and we did some major tree re-org after the migration.

      We never had a single hung repository that requried svnadmin recover except when the power went out and our generator didn't kick on and the UPS batteries drained. FWIW we do use Apache 2 and DAV for our repository access.

      Our primary tree (source code) is around 20MB including all deltified versions (basically our 'strings' table). We also have separate repositories for our corporate website and for internal documents, etc. All totalling we have about 50MB of versioned data -- all of it precious and have never lost a single byte.

      Oh, one last thing. We've been using SVN for our non-source tree for a longer time period so we've really been using SVN for almost 7 months now with lots of changes from multiple developers on multiple platforms.

      If you like the CVS model of development (non-change-sets) then you'll like SVN. If you want distributed development then try an add-on to SVN called SVK.

    3. Re:enterprise ready? by jjon · · Score: 2, Informative

      I just started using SVN on a large source tree - >1 Gigabyte, including many binary files. I'm using Windows, and found that CVS trashed all the binary files due to the stupid MS line ending issues. Subversion handles binary files perfectly.

      This is a new repository - I didn't test the scripts for converting from CVS.

      Subversion isn't as fast as I expected, given all the uninformed statements about "svn update" only having to check revision numbers. It looks like it does recurse into all directories, so performance is similar to CVS.

      TortoiseSVN, the Windows front-end, was far too slow to be usable. I've contributed some patches to help with a couple of obvious problems, but don't have the tools to optimise it properly.

    4. Re:enterprise ready? by mgm · · Score: 1

      I've used Subversion on a major project, and was doing so with version 0.30 (about six months old now). We have around 11,000 files in source control, with about 2,000 changes being committed every week. The repository on the server is around 600MB, a checked out working copy runs to about 200MB. The server was on crappy desktop hardware running Linux (RedHat, but the flavour doesn't really matter) and performed admirably.

      Since 0.30 there has been a major performance push, bringing Subversion operations close to CVS in terms of speed, and that's over a LAN. If you're using a lower bandwidth link, Subversion's efficient handling of networking (bidirectional diffs, offline diff, revert and status) will really help.

  43. dude, WebDAV by lcracker · · Score: 2, Interesting

    Subversion (well mod_dav_svn) is built on a filesystem-over-http protocol, of course you can use it like a filesystem, on just about every platform, or from many applications, or through your web browser (to read it, anyway).

    1. Re:dude, WebDAV by Eric+Smith · · Score: 5, Informative
      Subversion is built on a filesystem-in-a-database model. Access to a Subversion repository is provided via three methods implemented in libraries:
      • direct, local access
      • HTTP access using WebDAV (RFC 2518) and Delta-V (RFC 3523)
      • custom Subversion network protocol
      While there is some theoretical elegance to using WebDAV with Delta-V, in practice I've found that the custom Subversion network protocol is easier to set up and use, and more robust. It can be used either directly for anonymous read-only access, or tunnelled through SSH for read/write access.

      I have twelve free software projects in Subversion repositories, and I've been quite happy with it.

    2. Re:dude, WebDAV by AmVidia+HQ · · Score: 1

      so by "direct, local access", you mean svn bundles access to the bkdb directly through mounting as filesystem?

      --
      VIVA1023.com | Political Fashion.
    3. Re:dude, WebDAV by Eric+Smith · · Score: 1
      I meant "direct" as in "not over the network". You still run the Subversion client (or any other client linked to the Subversion libraries).

      AFAIK, there's no easy way to actually mount a Subversion repository as a filesystem, other than perhaps using a WebDAV filesystem and the mod_dav_svn Apache module.

    4. Re:dude, WebDAV by gonz · · Score: 1

      Actually, the "custom Subversion network protocol" can be used for write access as well, i.e. without SSH. This method is very convenient because it means the Subversion users do not have to have accounts on the server.

      -Gonz

  44. Re:Not bad, but... by Anonymovs+Coward · · Score: 2, Insightful
    One could say that to the contrary a copylefted X Window System would have had less forking (widgets, servers, extensions, drivers)

    Are you saying GPL projects don't fork? For an early counterexample, see emacs/xemacs. Even with the linux kernel, every distribution now maintains its own version, and it's rather hard to drop a vanilla Linus kernel into Red Hat or SuSE or Mandrake and expect it to run the same. But forking wasn't the point. The point with the GPL is that commercial vendors would not have picked a windowing system based on it, because shipping it as part of their system would have meant GPL'ing every graphical program they wrote, thanks to the virality clause. Name a single counterexample of a GPL'd library shipped as part of a commercial OS.

  45. Re:Does Subversion require a UNIX account per user by Anonymous Coward · · Score: 1, Interesting

    More secure to have a patchwork of internal user tracking built into the app instead of using the OS's user tracking?!?!?

    Yes it is. It's also easier to set up and administer. Why the heck is needing root access to add users a requirement of a revision control system? It's nuts.
    Stop thinking like a UNIX programmer and start thinking like a non-technical person.

  46. If you need a nice subversion client on windows... by Phil+John · · Score: 4, Informative

    ...you could do a lot worse than TortoiseSVN (also on tigris.org). It's an explorer shell plugin with icon overlays. Open up windows explorer, right click files to comit and whoosh...it's done.

    Also has a visual diff and all sorts of other goodies in it too. There's also a (somewhat unrelated) project of the same ilk for CVS called, unsurprisingly, TortoiseCVS (different developers IIRC, same idea though, hence the similar name).

    I've been using Subversion for the last 6 months and TortoiseSVN for the last 5, never had any data corruption or borked repositories, it Just Works(tm).

    What I like is that the developers started eating their own dogfood fairly early on and have been self hosting for a fair while now, so that shows you how much faith they have in the system.

    --
    I am NaN
  47. slashdot a bit over-eager by joey · · Score: 4, Informative
    As I type this, version 1.0 of subversion has not been tagged yet. I have not seen an announcement about 1.0 today, and the announcements page lists 0.37.0 as the last release.

    I think slashdot may have jumped the gun here, and I hope that the slashdotting of their web server is not going to cause them problems with actually getting 1.0 out the door, which is supposed to happen sometime Monday (timezone unknown).

    --
    see shy jo
    1. Re:slashdot a bit over-eager by Anonymous Coward · · Score: 2, Funny

      New slogan:

      News for Nerds. Stuff that matters. Things that haven't actually occured yet. ;)

    2. Re:slashdot a bit over-eager by Anonymovs+Coward · · Score: 1
      I think slashdot may have jumped the gun here,

      Must be something to do with the BSD-like licence. FreeBSD has been a victim many times.

      Time for a new acronym: BSD=Beware of SlashDot?

    3. Re:slashdot a bit over-eager by crsm · · Score: 3, Informative

      As I type this, version 1.0 of subversion has not been tagged yet

      Now its there, but note that binary packages won't be available for a week or so.

  48. Re:Not bad, but... by Anonymovs+Coward · · Score: 5, Informative
    Replying to myself:

    Name a single counterexample of a GPL'd library shipped as part of a commercial OS.

    Let's take two examples here: first, zlib. It was released under the BSD licence, not GPL, because it was important to wean people off the LZW-patent-encumbred compress. And it made it to commercial systems. But take, on the other hand, the readline library. This could have been immensely useful to a lot of commercial vendors, and Stallman knew it, so he used the GPL (not even LGPL) to try and "force" third party code to be GPL'd. As a result, nobody outside the free software world uses it.

  49. Renaming yes, sharing no by Animats · · Score: 3, Insightful

    Apparently Subversion 1.0 doesn't support "sharing", where the same file appears in more than one place in the source tree. That's a lack. Microsoft SourceSafe does that, and it helps avoid those annoying situations that result in long include paths.

    1. Re:Renaming yes, sharing no by ewhac · · Score: 3, Informative

      Apparently Subversion 1.0 doesn't support "sharing", where the same file appears in more than one place in the source tree. That's a lack. Microsoft SourceSafe does that, [ ... ]

      That's because everyone else uses softlinks to do that. Windows doesn't have softlinks (shortcuts aren't softlinks), so SourceUnSafe had to hack on "sharing" to make up for it.

      Schwab

    2. Re:Renaming yes, sharing no by Anonymous Coward · · Score: 0

      Microsoft SourceSafe is also not used in any of the major S&P 500 companies other than Microsoft. Most companies that have firm wide source control use other products, like ClearCase, CVS, StarBase or some other reliable source control. SourceSafe sucks and even hardcore windows companies use other source control applications. Only companies that I know using MS SS are small companies that are too cheap to buy a good commercial product, or afraid of OSS options.

    3. Re:Renaming yes, sharing no by DevilM · · Score: 3, Informative

      Actually, Windows does support softlinks, which are termed as junctions. See http://www.sysinternals.com/ntw2k/source/misc.shtm l#junction for more information.

    4. Re:Renaming yes, sharing no by Anonymous Coward · · Score: 0

      NTFS supports links (and no I dont' mean shortcuts either) but Microsoft never really made public tools.

      For example, here's one tool at Sysinternals that does directory symlinks. Before Win2k went gold, there was an MSJ article that discussed how to write your own version of "ln" for NTFS. Since I'm AC and not karma whoring, you can dig it up yourself ;)

    5. Re:Renaming yes, sharing no by Dragonmaster+Lou · · Score: 4, Informative

      Not even Microsoft uses Source Safe -- they use something called Source Depot which I heard is based on Perforce or something.

    6. Re:Renaming yes, sharing no by Spoing · · Score: 2, Interesting
      1. Actually, Windows does support softlinks, which are termed as junctions.

      Yes, and they are a PITA to use. Can't execute a link over the network, for example.

      To add to confusion,

      Windows only supports softlinks -- not hardlinks -- yet refers to the junctions as hardlinks in many documents.

      Windows does not support softlinks off of the current partition.

      Definitions...

      Softlink: A pointer to a file resource that acts like the target except when deleted. If deleted, the target is not also deleted.

      Hardlink: A pointer to a file resource on the local partition. If removed, the target is also removed.

      Windows has pseudo links, and even attempts to fake the .lnk files for some -- but not all -- utilities. This limited support is only available on NTFS since Windows doesn't by default support anything except NTFS for this type of work.

      Gripe: KDE and Gnome do not allow creation of soft/hard links and use the dummy file method (like Windows) when setting up a 'link'. I've put in a request that this be changed in KDE, though what is needed for complete consistancy is OS-level support for various device types so it is transparent to the GUI.

      Bottom line: I don't know if Windows 2000 and Windows XP can support what the original person commented on...so that's the reason why SourceSafe does the goofy work arounds not needed elsewhere.

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    7. Re:Renaming yes, sharing no by Anonymous Coward · · Score: 0

      Hardlink: A pointer to a file resource on the local partition. If removed, the target is also removed.

      On my system (and most all others afaik) the file's not actually removed until all hardlinks (the "original file" being just another one) are removed.

    8. Re:Renaming yes, sharing no by magnum3065 · · Score: 2, Informative

      Hmmm...

      In Nautilus, right click a file or folder and click "Make Link". "ls -l" confirms it: regular symbolic link.

      Now, maybe you're confusing what Gnome refers to ask "Launchers" (not sure what KDE calls it) with trying to be links. Launchers are not links, and will not be replaced by links. Launchers are meant for, yes, "launching" a command. They need to be a file since the file needs to store infomation on the icon to use, some comment information, etc. A link has none of this information, so it's not a suitable replacement.

    9. Re:Renaming yes, sharing no by Anonymous Coward · · Score: 2, Interesting

      Except SVN doesn't version symlinks. Or even really handle them at all, so this won't help. Of course...

      Arch Does (tm).

    10. Re:Renaming yes, sharing no by zhenlin · · Score: 1

      SVN supports copy-on-write.

      But symbolic links and aliasing was not available last I checked.

    11. Re:Renaming yes, sharing no by Animats · · Score: 2, Insightful

      You don't want a version control system to use OS-level primitives like that, if it's going to track renaming, sharing, and unsharing events. The version control system has to do its own namespace management.

    12. Re:Renaming yes, sharing no by goranb · · Score: 1

      Oh come on... SourceUnSafe???
      That's unfair! It's doesn't lose source... Not very often, at least... ;)

    13. Re:Renaming yes, sharing no by cubic6 · · Score: 4, Interesting

      Your distinction between soft and hard links doesn't make much sense. I don't think there's any type of link that, when deleted, also deletes the target. The way I learned it:

      Softlink (aka symlink): Has it's own file, but any access gets routed to the real file. This is what most links I deal with are. If you delete the real file, the link breaks, but stays there.

      Hardlink: Doesn't have own file. Behaves exactly like the original in all ways, but has a different name. If you delete a hardlink or the original file, nothing happens until *all* instances are gone. Hardlinks must be on the same partition.

      In Linux under ext2, hardlinks are files with the same inode number. I don't know exactly how softlinks work, but they have different inode numbers than the original.

      Windows with NTFS supports hardlinks as mentioned in other posts, and softlinks as shortcuts.

      So to sum up, the links you were referring to were hardlinks, and as such rightfully can't go across network. The pseudolinks you were talking about are simply shortcuts, and usually don't work in applications due to shoddy programming.

      --
      Karma: Contrapositive
    14. Re:Renaming yes, sharing no by caluml · · Score: 1
      Actually, Windows does support softlinks, which are termed as junctions. See http://www.sysinternals.com/ntw2k/source/misc.shtm l#junction

      Hmmm - for a second there, I thought you linked to a file in the source code :)

    15. Re:Renaming yes, sharing no by Eric+Smith · · Score: 1
      It's doesn't lose source... Not very often, at least...
      A few years ago I worked for a company that switched (over my objections) from CVS to SourceSafe. I didn't realize how bad SourceSafe was until we started having trouble with it. Then I started reading the MS web pages about it. They bragged abou the fact that they had a tool to fix corrupted repositories. Then in the fine print they mentioned that sometimes that tool couldn't fix a corrupted repository in a single run, and you should run it again. What, the tool can't even figure out when it's done?

      I've NEVER had a corrupted CVS repository.

      The programmers that pushed for the switch to SourceSafe said that the reason they wanted it was that they didn't like the CVS command line interface. So I showed them three different GUI interfaces for CVS. That didn't convince them. I never was able to get a straight answer, but I've come to the conclusion that what they didn't like was the fact that there wasn't a single, *official* GUI for CVS. That's the typical "choice is bad" thinking I've come to expect from people who've drunk the Microsoft koolaid.

    16. Re:Renaming yes, sharing no by goranb · · Score: 1

      I know...
      "Fortunately" we have switched to ClearCase, which is much better than SourceSafe, but I personally prefer the CVS way of doing stuff... I get things done faster with CVS...

      It is true however that CVS has it's own problems (that's why we use ClearCase now), so I hope the company I work for will give SubVersion a try soon... I'm bugging people with email the whole morning already and keeping my fingers crossed... I'm even thinking of setting up a "test-repository" on one of the Linux machines I have for testing purposes...

      Oh well... Still have to use SourceSafe for access to old projects sources however... Every time I open up the SourceSafe GUI I do it with fear... I'm actually thinking of writing a VBS/JS script that will take the sources and store them in a CVS repository... Have to wait for a weekend my girlfriend will be away... ;)

    17. Re:Renaming yes, sharing no by smcv · · Score: 1

      Softlink (aka symlink): Has it's own file, but any access gets routed to the real file. This is what most links I deal with are. If you delete the real file, the link breaks, but stays there.

      Hardlink: Doesn't have own file. Behaves exactly like the original in all ways, but has a different name. If you delete a hardlink or the original file, nothing happens until *all* instances are gone. Hardlinks must be on the same partition.

      FYI, as far as I know, symlinks are just files containing a relative filename, with a special flag in the filesystem (at the same low level as "this is a directory") which marks it as a symlink rather than an ordinary file. The size reported for symlinks under Linux/ext2 is certainly the number of bytes in the filename it points to.

      A shortcut is basically a file containing a filename (and other details like the icon), but without the same low-level support in the kernel (open()ing a shortcut gives you its data, not that of the referenced file).

      A Mac OS alias (what you get if you run "ln -s" on a HFS+ partition) is what a Windows shortcut should have been (it has more data than just the filename, like the Windows shortcut, but is transparent to apps using the Unix API, like a Unix symlink).

    18. Re:Renaming yes, sharing no by vectra14 · · Score: 1

      AFAIK, they use a custom versioning/simultaneous build/test tool. its not really reasonable to expect them to use source safe for the scope of their main projects...

      btw, i used to use source safe (for a bit). i didn't really use it that much, but i can't complain. certainly it was no worse than CVS, which is still lacking critical features ("prune empty directories" anyone?).

      i'm really glad subversion is going gold (in the way software like this goes gold...). i look forward to using it.

    19. Re:Renaming yes, sharing no by Tim+Browse · · Score: 1
      So I showed them three different GUI interfaces for CVS. That didn't convince them.

      To be fair, I've tried a few GUIs for CVS, and they didn't convince me either. Most of them seemed to be a clunky front-end for running command line based stuff, and if you wanted to know if anything was working, you had to know how the command line stuff worked anyway.

    20. Re:Renaming yes, sharing no by smallpaul · · Score: 1

      Is it possible to check a softlink in CVS?

    21. Re:Renaming yes, sharing no by Anonymous Coward · · Score: 0
      Windows only supports softlinks -- not hardlinks -- yet refers to the junctions as hardlinks in many documents.

      NT on NTFS supports both, and the documentation is not ambiguous.

      Windows has pseudo links, and even attempts to fake the .lnk files for some -- but not all -- utilities. This limited support is only available on NTFS since Windows doesn't by default support anything except NTFS for this type of work.

      Uhh... what? Explorer and related shell services are the only things that deal with .lnk files, and they have absolutely nothing to do with the underlying filesystem. You don't use Windows much, do you.

      Others have already addressed your bad definitions of hard and soft links. NTFS supports file hardlinks with POSIX semantics, and "junctions" are directory softlinks. The junction support is also just a supplied implementation on an even more flexible base service.

      More goodies for your enjoyment.

    22. Re:Renaming yes, sharing no by HeghmoH · · Score: 2, Informative

      Annoyingly, Mac OS aliases and Mac OS symlinks are not the same!

      A symlink points to a specific path. If you move the file at the symlink's target, and replace it with a second file, the symlink now points to the second file, even on Mac OS X.

      An alias points to a specific file. If you move an alias's target and put another file there, the alias still points to the old file. (With a bit of hacking, you can create an alias that works just like a symlink, but you have to write code to do it.)

      The "ln -s" command creates symlinks, not aliases. As far as I know, there is no way to create aliases from the command line (other than using osascript and asking the Finder to do it for you). Even more delightful, aliases don't work for everybody. More than once, I have run into a situation where replacing a file with an alias to that file will break the program, because it reads the alias instead of following it. Using a symlink works fine.

      Mac OS X also supports hard links. Except it doesn't. HFS+ doesn't support what you need for true hardlinks, so OS X fakes it with some hidden directories and something that looks like a hard link to the user but a symlink to the kernel. Or something like that.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
    23. Re:Renaming yes, sharing no by aggieben · · Score: 1

      Not even Microsoft uses Source Safe -- they use something called Source Depot which I heard is based on Perforce or something.

      Not quite. MS uses their own backend which was developed in-house. It is intended to replace source safe at some point, but it's been a long time coming.

      --
      Don't become a regular here, you will become retarded. -- Yoda the Retard
    24. Re:Renaming yes, sharing no by Spoing · · Score: 1
      1. In Nautilus, right click a file or folder and click "Make Link". "ls -l" confirms it: regular symbolic link.

      Excellent!

      1. Launchers are meant for, yes, "launching" a command. They need to be a file since the file needs to store infomation on the icon to use, some comment information, etc. A link has none of this information, so it's not a suitable replacement.

      For programs, that makes some sense (but not much to me since program data can be handled as meta data seperately from the binary and a softlink could be used for the actual object).

      For partitions and other parts of file systems, I can't understand why .desktop/launchers are used at all. Since all file systems are a mount point (Ex: anything mentioned in /etc/fstab; Floppy drive, CD, network mount points...), and directories are linkable (Ex: ~/home), a double link would make more sense for these.

      Maybe I'm spoiled, though OS/2 (RIP) did do this one thing right and consistantly.

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    25. Re:Renaming yes, sharing no by Spoing · · Score: 1
      1. NT on NTFS supports both, and the documentation is not ambiguous.

      OK, now use them without writing a program. What practical good are they the way MS has devised them?

      1. Uhh... what? Explorer and related shell services are the only things that deal with .lnk files, and they have absolutely nothing to do with the underlying filesystem.

      That's the PROBLEM! If you used the real thing, you'd see that .lnk files are a bad idea crudely implemented.

      1. You don't use Windows much, do you.

      I've used Windows including Beta and Alpha releases since 1.x. The registry -- for example -- is a good idea, though also poorly implemented. MS has some catchup work to do.

      1. Others have already addressed your bad definitions of hard and soft links.

      They did? In practical use, the support isn't there. Everything is an add-on, and not built in. (And yes, I've used the tools already mentioned...I'm the one who is attempting to get our admins to use them.)

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    26. Re:Renaming yes, sharing no by MarkoNo5 · · Score: 1

      The links I make using konqueror show up as plain old symlinks in a xterm.

    27. Re:Renaming yes, sharing no by Spoing · · Score: 1
      1. AFAIK, they use a custom versioning/simultaneous build/test tool. its not really reasonable to expect them to use source safe for the scope of their main projects...

      Sounds pathetic! Good thing I don't have to use SS...I have to use, oh, nevermind, ClearCase. [walks away feeling depressed]

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    28. Re:Renaming yes, sharing no by sevenseven · · Score: 1

      this is a common question - please see the mailing list archives. symlinks will be supported after 1.0.0, however, even now you can use externals - http://svnbook.red-bean.com/html-chunk/ch07s03.htm l

      --
      ...sie sind nicht grün
    29. Re:Renaming yes, sharing no by bnenning · · Score: 1

      An alias points to a specific file. If you move an alias's target and put another file there, the alias still points to the old file.

      IIRC this was true in earlier verions of OS X, but not in Jaguar or later. The pathname now has priority over the file id when resolving aliases. To test: create a "foo.txt" file, create an alias to it, move the original file, create a new foo.txt file in its place. The alias will point to the new file, not the original.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    30. Re:Renaming yes, sharing no by HeghmoH · · Score: 1

      It appears it's even more bizarre than that. I just tried this out. If I move the files using 'mv' in the shell, it does exactly as you say. If I move the files using the Finder, the alias continues to point at the original file, even though it has a different name. This is all on 10.3.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
    31. Re:Renaming yes, sharing no by bnenning · · Score: 1

      Strange indeed. I was creating the files in the shell, but moving them in the Finder. But I'm on 10.2.8, so maybe the behavior was changed again in Panther. At any rate, I'll continue using symlinks for everything and avoid this confusion.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    32. Re:Renaming yes, sharing no by ewhac · · Score: 1

      Is it possible to check a softlink in CVS?

      I did a wee bit of research on this, and the short answer is No.

      The longer answer is that CVS has a nearly undocumented feature called "keep permissions", which maintains in the repository the UNIX-style permission bits on a file, and sets those permissions correctly on checkout. Since softlinks on UNIX systems are essentially short text files (the path to the destination) with a special permission flag set, you can sometimes use the keep-permissions feature to check softlinks in and out of CVS.

      In practice, however, it's not very reliable, and breaks completely if you try to check out softlinks on to a system that doesn't meaningfully support them, such as Windows.

      Schwab

    33. Re:Renaming yes, sharing no by Anonymous Coward · · Score: 0

      Microsoft SourceUnsafe regularly corrupts itself. It is totally unsuitable for sourcefile version control. Also, it only runs on winders.

    34. Re:Renaming yes, sharing no by smallpaul · · Score: 1

      So SourceSafe is not crazy for having a first-class notion of soft link. Given that version control systems will span operating systems, it is not feasible to depend upon a single operating system's file format for soft links.

  50. Check on tigris.org by Phil+John · · Score: 4, Informative

    there's already an eclipse plugin available.

    --
    I am NaN
    1. Re:Check on tigris.org by Wateshay · · Score: 3, Informative

      Unfortunately it only works on Window (but they claim they're going to do a Linux version).

      --

      "If English was good enough for Jesus, it's good enough for everyone else."

    2. Re:Check on tigris.org by nutsaq · · Score: 1

      there is a linux and osX version of the plugin. read the mailing list and you'll find it.

      caveat emptor tho, it's not statically linked, so you may get linkage errors if you don't have the right mix of libs on your machine. we're working on a way to get around that tho.

  51. Question by AvengerXP · · Score: 1

    It's a versioning and indexing program right (keeping track of file changes and so forth) so is it used on itself? Kind like compiling a compiler in another?

    I can't really check since the article's slashdoted.

    --
    Trolls dont like to be Flamebait, because they burn so well. Protect our Troll heritage!
    1. Re:Question by quantum+bit · · Score: 2, Informative

      If you mean do they "eat their own dogfood?", then yes. Subversion has hosted itself for quite some time now.

    2. Re:Question by Anomalous+Communard · · Score: 3, Informative

      Yes. From the "Version Control with Subversion" book:

      After fourteen months of coding, Subversion became "self-hosting" on August 31, 2001. That is, Subversion developers stopped using CVS to manage Subversion's own source code, and started using Subversion instead.

    3. Re:Question by ryandlugosz · · Score: 2, Funny

      After fourteen months of coding, Subversion became "self-hosting" on August 31, 2001.

      lame. Skynet became self-aware on August 29!

  52. FAQ by Anonymous Coward · · Score: 5, Informative

    1. Subversion does NOT require Apache. It can use either Apache OR svnserve as its network server.

    2. Want decentralized subversion? Check out the svk project at http://svk.elixus.org/

    3. Best benefits over CVS? Well, its basically a 4-year redesign/rewrite/replacement of cvs by people very familiar with cvs (ie wrote the book on cvs and runs a company specializing in cvs services).

    a. Cheap copies (constant time, store diffs only so branch often if you want even on very large projects).

    b. Directories and metadata are versioned too.

    c. You can move files and directories without losing history.

    d. Atomic commits! Issue a bunch of "add" commands, then a "commit". The whole thing rolls back if any of it fails and the revision is per commit (not file).

    e. Other benefits may be more important to you than these (but these were enough for me to switch from cvs to svn).

    4. Is svn 1.0 ready for prime-time? Subversion project has been hosting itself for almost 2 years now and they never lost any code. For the ultra-paranoid, you can configure it to keep all bsdb logs so you can roll back every transaction since the beginning of your repository creation (but that would be silly).

    Don't forget to see:
    http://www.red-bean.com/sussman/svn-anti-fud .html

    And irc: #svn on freenode

    1. Re:FAQ by Ragica · · Score: 1
      Replying to point 1. Yeah, i guess it's good that SVN doesn't rely on apache. But it is actually one of the features I love about it. I think many of the people who worry about having an apache front end have not stopped to think about the flexibility and power of such an arangement. Apache is a familiar tool to many of us which provides a lot of interesting possibilities. It gives you a lot of excellent control over exactly how your repository is accessed. It gives you excellent security. You don't have to create system accounts (you can use any of the multitude of apache auth mods to authenticate against virtually anything).

      In short, the apache front end is a wonderful thing. Those of you who worry: do not be afraid of the goodness!

    2. Re:FAQ by Anonymous Coward · · Score: 0

      > Replying to point 1. Yeah, i guess it's good that SVN doesn't rely on apache. But it is actually one of the features I love about it. I think many of the people who worry about having an apache front end have not stopped to think about the flexibility and power of such an arangement. Apache is a familiar tool to many of us which provides a lot of interesting possibilities.

      Small correction - Apache 1.3 is a familiar tool - Subversions uses Apache 2.0, and is has some significant differences from 1.3.

  53. Re:Not bad, but... by homeobocks · · Score: 2, Interesting

    I agree with you, but I think that some people can get angry when code under the bsd licence is used in a closed source project (case in point: OpenBSD in Windows Server 2003). If you are interested in the multitude of "officially" open-source licences, look at opensource.org/licences

    --
    MOUNT TAPE U1439 ON B3, NO RING
  54. Re:Does Subversion require a UNIX account per user by afidel · · Score: 1

    How about a web interface to sudo for adding user accounts? How about a web interface to LDAP with inherited permissions for accounts created under a non-root level account, heck how about any of the dozens of ways a sysadmin adds accounts on a daily basis. Basically reinventing the wheel might be a smidge easier for the non-technical person but it CERTAINLY is not more secure then the tried and tested systems that already exist.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  55. Re:Not bad, but... by leandrod · · Score: 1
    > Are you saying GPL projects don't fork?

    Am I? That was not the point, but that copyleft (in general) help prevent proprietary forking that has all but killed BSD, and therefore almost all Unix and X by extension.

    For libraries, if you like, there's always LGPL.

    --
    Leandro Guimarães Faria Corcete DUTRA
    DA, DBA, SysAdmin, Data Modeller
    GNU Project, Debian GNU/Lin
  56. Will I need MSVC? by tepples · · Score: 4, Interesting

    Problem here is that many open source projects for Microsoft Windows will compile only on Microsoft Visual Studio, which costs over 1,000 USD for one seat. Will the Windows version of Subversion compile cleanly on MinGW+MSYS? Or will I have to try to compile the UNIX version on Cygwin? I'd go look myself, but the site seems to be slashdotted, and even the Google Cache runs extremely slowly because Mozilla won't render anything until it has failed to fetch the CSS from the slashdotted site.

    1. Re:Will I need MSVC? by aardvarkjoe · · Score: 4, Informative

      Although I can't speak for the current version, I can say that it was either impossible or very difficult to compile using mingw32/msys several months back. Unless you're up for some pain, you probably ought to just wait for the binaries.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    2. Re:Will I need MSVC? by Dragonmaster+Lou · · Score: 1

      $1000 for one seat? What version are you getting and where are you buying it? You can get Visual C++, which is all you need to compile most open source stuff, for $100 so or from places like PC Connection. If you look hard enough you may find it cheaper elsewhere.

    3. Re:Will I need MSVC? by dakryx · · Score: 1

      If you happen to be a student you can Visual Studio for only 100 dollars.

    4. Re:Will I need MSVC? by Anonymous Coward · · Score: 0

      You can download MS's compiler for free (NET SDK), but you'd have to work out how to build the project yourself.

    5. Re:Will I need MSVC? by spongman · · Score: 1

      You can download the 'free' Platform SDK from microsoft... It doesn't contain MFC or support for building MSVC projects, but it's got all the tools, headers and libraries you need.

    6. Re:Will I need MSVC? by Tamor · · Score: 1

      Visual Studio only costs that much for the Enterprise version. I have the standard edition (Version 6) and it was under 100 sterling. Sure that's 100 more than downloading a Linux distro and getting everything for free, but it's not half as bad as you're trying to make out.

    7. Re:Will I need MSVC? by dmayle · · Score: 3, Funny

      <tongue firmly in cheek>Instead of paying the $1000 for VS, buy an Itanium server. The VS compiler is free for IA64 (though it doesn't come with the IDE). It's included in the (free) MSDN download</tongue>

    8. Re:Will I need MSVC? by GooberToo · · Score: 1

      Too bad MS' horrible web site specifically checks for IE before allowing you to even read the link you provided.

      When is MS going to figure out that they are idiots...

    9. Re:Will I need MSVC? by hermango · · Score: 1

      "Problem here is that many open source projects for Microsoft Windows will compile only on Microsoft Visual Studio, which costs over 1,000 USD for one seat." It cost $1,000 if you just buy Visual Studio. If you go to eBay you can get the MSDN Universal Subscription for around $850, which contains not only Visual Studio but all the OS's, Office Pro and ASL of other stuff. It pays to shop around.

    10. Re:Will I need MSVC? by arkanes · · Score: 1

      The platform SDK is installed via an ActiveX control. No, I don't know why. But if the compiler is of any use to you, then you at least have access to IE, so it's a minor bitch at best.

    11. Re:Will I need MSVC? by spongman · · Score: 1

      If you don't have IE, then you don't need their SDK.

    12. Re:Will I need MSVC? by dotlively · · Score: 4, Informative

      It's trying to use an install directly from IE using an tag, and even though you can download the individual cab files separately for install, it doesn't give you any alternative links for it (yay Microsoft). When I let Opera identify as MSIE 6.0 I can see the javascript flyout menus to take me to the download page. You can get to the "Full Download with Local Install" page here, but you still may not be able to see the links as they are created through some mangled javascript, so here they are:

      PSDK-FULL.1.cab
      PSDK-FULL.2.cab
      PSDK-FULL.3.cab
      PSDK-FULL.4.cab
      PSDK-FULL.5.cab
      PSDK-FULL.6.cab
      PSDK-FULL.7.cab
      PSDK-FULL.8.cab
      PSDK-FULL.9.cab
      PSDK-FULL.10.cab
      PSDK-FULL.11.cab
      PSDK-FULL.12.cab
      PSDK-FULL.13.cab
      BAT File for Extraction
      Extraction Utility File

    13. Re:Will I need MSVC? by dotlively · · Score: 1
      That should say using an ActiveX
      <object>
      tag (actually 9 of them).
    14. Re:Will I need MSVC? by WorldRimWalker · · Score: 2, Informative

      Windows Services For Unix 3.5 is now a free download. It includes GNU build tools (gcc etc.) and has pretty good POSIX support. You might give that a try.

    15. Re:Will I need MSVC? by Anonymous Coward · · Score: 0

      Why bother with crap when Cygwin has been available for ages.

    16. Re:Will I need MSVC? by GooberToo · · Score: 1

      LOLOL....LOL...LOL....

      That's the best joke I've heard all day!

      LOL! LOL!!!!!

      LOL!!

    17. Re:Will I need MSVC? by spongman · · Score: 1

      Oh, I should have added, of course, that lameass trolls probably don't need their SDK either.

    18. Re:Will I need MSVC? by Anonymous Coward · · Score: 0
      Although I can't speak for the current version, I can say that it was either impossible or very difficult to compile using mingw32/msys several months back

      Yeah that sounds REAL portable.

      Why??? Why can't they write these things in ANSI-goddamn-C? Why the oodles of 'configure' scripts???

      GNU is the REAL cathedral and Microsoft users are the bazaar!

    19. Re:Will I need MSVC? by GooberToo · · Score: 1

      You really are pethetic.

      Worse, you don't even know what a troll is. I clearly was not trolling. It's just the response was so sadly worthless and troll like. I responded far better than it deserved.

  57. Where can I buy LinuxBIOS PCs? by tepples · · Score: 4, Interesting

    it always worries my when open source software relies on closed-sources or standards.

    Very little demand seems to exist for completely open-source PCs. I haven't seen many computer manufacturers ship their machines with LinuxBIOS or any other Free firmware. Therefore, on most computers, LILO and GRUB (the most common Linux bootloaders) rely on a proprietary BIOS. Even if you exclude BIOS from consideration, most Free programs running on a proprietary operating system rely on the proprietary system's runtime library (e.g. msvcrt.dll, Sun libc, etc).

    1. Re:Where can I buy LinuxBIOS PCs? by notsoclever · · Score: 3, Insightful
      Fortunately, the amount of support needed from the BIOS is minimal. Once the kernel image is loaded into memory the BIOS is sumarily ignored.

      Also, the BIOS's API has been totally open (and basically unchanged) ever since the original IBM PC.

      --
      There are 10 kinds of people: ones who understand ternary, ones who don't, and ones who think this joke is about binary
    2. Re:Where can I buy LinuxBIOS PCs? by JohnFluxx · · Score: 1

      Yeah, but how the interface is implemented varies wildly and buggily :) Hence the reason the bios is ignored.

    3. Re:Where can I buy LinuxBIOS PCs? by dfghjk · · Score: 2, Insightful

      Not really. While the BIOS interfaces certainly have changed continuously over time, they always do so in a backward compatible manner. BIOS is part of the hardware and does not need to be provided in source form. Open source BIOS'es are useless.

      If you can't load a kernel through the BIOS boot service, that machine should never have shipped. The BIOS code that does that does not change from system to system.

    4. Re:Where can I buy LinuxBIOS PCs? by stripes · · Score: 1
      Once the kernel image is loaded into memory the BIOS is sumarily ignored.

      Except for power control functions (suspend a laptop, power down...)

      Also, the BIOS's API has been totally open (and basically unchanged) ever since the original IBM PC

      Ignoring the IBM v. Compaq suit, or in fact the whole open issue....

      There have been several big BIOS changes to do power management (at least two significant revisions of the current method, and a completely abandoned method before that). Changes in reporting of hard drive size. Changes in reporting of memory size. Changes for PCI. Changes for Plug n' Play (were there two or three sets of this?). Changes for reporting multiple processors (maybe multiple versions of this), including a new interrupt scheme which can be used independently of multiple CPUs on some (but not all) systems.

      No, the BIOS has seen a ton of changes. Real ones that if you want to use modern hardware you need to track.

    5. Re:Where can I buy LinuxBIOS PCs? by JohnFluxx · · Score: 1

      No - and you've given the reason why not. backwards compatibility. bioses can up with hack after hack to get round the limitation of only supporting small hard drives, for example.
      Most bioses lie about the number of cylinders etc on a hard disk, and lie in different ways.

      Another example is the way bioses handle PCI. Many outright lie about the information, and have horrible bugs.

      It seems the bios writters get it working just enough to manage to boot into windows, then consider that a success.

    6. Re:Where can I buy LinuxBIOS PCs? by notsoclever · · Score: 1

      Good points. I hadn't realized that it was all still handled by the BIOS I thought Linux just talked to the chipset directly for most of those things.

      --
      There are 10 kinds of people: ones who understand ternary, ones who don't, and ones who think this joke is about binary
  58. Re:Does Subversion require a UNIX account per user by mcc · · Score: 3, Insightful

    How about a web interface to sudo for adding user accounts?

    You're suggesting I put up a web accessible chmod root script just so someone can run a version control system?

    I can see that for some people's situations, using the unix account system would be very attractive. However, not everyones'. I, specifically, have been needing to set up a version control server of some sort. I will probably wind up doing so on a personal machine. It is concievable at some point I could give other persons access to this server. If so, I do not want anyone who has access to this CVS server to have any sort of other abilities on my system. Yes, yes, disable FTP, set shell to /dev/null, whatever. But still, my paranoia's inflamed. By giving them a user my system's at least recognizing their existence, and that makes me uncomfortable because I am uncertain my knowledge of UNIX is complete enough I've locked off all the possible manners in which they could take advantage of that.

    From a security perspective, every moving part you add to a system is a chance for something to go wrong. A versioning system implementing its own internal security system adds a hell of a lot of moving parts, but they're all well contained off in userland, there's some vague notion of a sandbox there. A versioning system using the OS user system is adding a very small number of moving parts but those moving parts are in a much more dangerous area...

  59. Re:Not bad, but... by cheesybagel · · Score: 1

    Ever heard of the LGPL?

  60. Re:Does Subversion require a UNIX account per user by cduffy · · Score: 1

    Use Arch with a WebDAV backend, then all you need is a WebDAV account, not a UNIX account. Problem solved. (I've also seen tools for setting up sftp-only accounts and the like).

  61. Symlinks under Windows? by tepples · · Score: 1

    Then why, when I create a shortcut in Explorer.exe of Windows 2000 or Windows XP, do I get an ordinary file whose name ends in .lnk rather than a junction? And can the junction utility link to a file rather than to a folder?

    1. Re:Symlinks under Windows? by 0x0d0a · · Score: 4, Informative

      You're both kind of right.

      Technically, NTFS supports both soft and hard links.

      From a practical I-want-to-have-software-using-it standpoint, Windows doesn't have support for either, just shortcuts.

    2. Re:Symlinks under Windows? by Anonymous Coward · · Score: 1, Interesting

      No, junctions are for directories only. It's one of those clever hidden features of NTFS that Microsoft never bothered creating a front-end for. Hence, no way to create one in Explorer, and you must use the sysinternals tool.
      And "shortcuts", as compelling as they sound to command-line hackers and programmers, are really just GUI aids. They are implemented as LNK files, which contain nothing more than info about icons, etc.

    3. Re:Symlinks under Windows? by cant_get_a_good_nick · · Score: 3, Informative

      Explorer only creates Explorer style Shortcuts, whether in NT 2K which has something more similar to symlinks, or in Win95, WinNT4 which didn't. The real symlinks have to be created in other ways.

      The stupid thing is MS could have implemented real kernel level symlinks in the jump to Win95, but they didn't. They instead made Shortcuts at the shell level. Apple got it right with System 7 Aliases, which were symlinks at the kernel level.

    4. Re:Symlinks under Windows? by fucksl4shd0t · · Score: 1

      And "shortcuts", as compelling as they sound to command-line hackers and programmers, are really just GUI aids. They are implemented as LNK files, which contain nothing more than info about icons, etc.

      But why create these "shortcuts" in the first place? THey had Xenix! So presumably they already knew about symlinks, right? Why not just make symlinks? If I make a 'shortcut' in KDE, I get a symlink. Makes sense, right?

      I suppose I don't need to extoll the virtues of symlinks here, do I? ;)

      --
      Like what I said? You might like my music
    5. Re:Symlinks under Windows? by magnum3065 · · Score: 1

      Well, I haven't used the Junction utility mentioned above, but it seems to support soft links. There's also some shell extensions out there for creating hardlinks in Windows. I found it irritating that MS didn't include one of their own, but with this shell extension installed just right click a file and select "Create Hardlink" or whatever it's called. I found it fairly useful when I used Windows.

    6. Re:Symlinks under Windows? by Anonymous Coward · · Score: 0

      Don't forget that Explorer.exe has to support baseline FAT and network filesystems, so it cannot assume NTFS features like junctions.

      Explorer could also do a lot of interesting stuff with Streams and Extended Attributes, but can't.

    7. Re:Symlinks under Windows? by cubic6 · · Score: 1

      I found a shell extension that seems to do that here. Not the easiest to install, but it does the job.

      --
      Karma: Contrapositive
    8. Re:Symlinks under Windows? by Fat+Cow · · Score: 1

      ntfs only supports hard links via something like the junction program.

      --
      stay frosty and alert
    9. Re:Symlinks under Windows? by Anonymous Coward · · Score: 0

      NTFS does support hardlinks easily via the command line but only to files. http://www.microsoft.com/technet/treeview/default. asp?url=/technet/prodtechnol/winxppro/proddocs/fsu til.asp

      I still haven't found how to do softlinks but it is sort of pointless if you can only do it to files.

    10. Re:Symlinks under Windows? by Spoing · · Score: 1
      1. I found a shell extension that seems to do that here. Not the easiest to install, but it does the job.

      It doesn't work over the network. You have to remote connect to the target machine using VNC/PC Anywhere/TS and bring up a 'local' file browser.

      Handy for 1 machine, impractical as a method for managing a network (when dealing with admins who don't quite get it and just see buttons to click).

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    11. Re:Symlinks under Windows? by Spoing · · Score: 1
      1. NTFS does support hardlinks easily via the command line but only to files. http://www.microsoft.com/technet/treeview/default. asp?url=/technet/prodtechnol/winxppro/proddocs/fsu til.asp [microsoft.com]

        I still haven't found how to do softlinks but it is sort of pointless if you can only do it to files.

      That's something that is being ignored by folks who say "Windows supports links!"; yes, but not very well. Another "technically correct, practically useless" feature. So close...just not quite right.

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    12. Re:Symlinks under Windows? by schwatoo · · Score: 2, Interesting

      You don't really know what you're talking about. Macintosh Aliases are not at the kernel/filesysten level (which implies that all the linkiness is taken care of for you by the library functions you call). Aliases were just data files (with file type 'alis') that the Finder (and most other applications) knew how to handle. Each program had to manually resolve aliases in the code (using one of the ResolveAlias functions). You could even open an alias file, read in the file data, and resolve the alias in memory. This allowed you to use aliases that are stored in a different manner to alias files (e.g. Mac OS shlb's allowed you to store an alias as a resource to a directory containing other dependent shlbs). Under Mac OS X aliases are still present and still (rightfully so) are not handled in the File System layer. You have to use Carbon API calls to access/resolve the alias and _more_ Cocoa/BSD code should be doing that.

      --
      I have trouble with passwords among other things.
    13. Re:Symlinks under Windows? by bill_mcgonigle · · Score: 1, Interesting

      Apple got it right with System 7 Aliases, which were symlinks at the kernel level.

      Unfortunately they weren't quite that integrated - everybody had to add code to deal with aliases.

      But the nicest thing about aliases is that they were really both hard links _and_ symbolic links. Both the file reference number and the file path were stored, so if you renamed a file, the hard link part still found it by file number, but if you copied your data to another harddrive, with all new file reference numbers, the symbolic part found it by file path. I think the Alias manager did the necessary repairs in both cases too.

      Good stuff. 20 years ahead of its time.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  62. This looks pretty cool (OS X) by mcc · · Score: 2, Interesting

    Looks neat. Just checking:

    Has anyone used this on Mac OS X / with xcode? I'm interested in doing so; if I want to, do I just sit down and follow the instructions or are there any gotchas or OS X-specific quirks I may run into that I might need to be aware of?

    Thanks.

    1. Re:This looks pretty cool (OS X) by Anonymous Coward · · Score: 0

      The one thing you might have to watch out for is OS X's use of directories that are treated somewhat like files (e.g., nib files). When you edit a nib file for example, xcode will copy *.nib to *~.nib and write the current version to *.nib, which will confuse subversion because now, *.nib will no longer have the .svn subdirectory that subversion needs. You just have to remember to copy it over from the backcup *~.nib.

    2. Re:This looks pretty cool (OS X) by mcc · · Score: 1

      You just have to remember to copy [.svn] over from the backcup *~.nib.

      Err, yuck. Am I going to have to do that every time I modify nib file, and does that apply to .pbproj and .xcode files as well?

      Doesn't xcode have hooks directly into version control systems, shouldn't that make it a little better behaved? Hm.

      Thanks for the response.

    3. Re:This looks pretty cool (OS X) by mlilback · · Score: 1
      I've been using subversion on Mac OS X for 1 1/2 years with no problem. The only issue is that by default, IB and EOModeler don't copy the .svn directories over automatically. But you can download plugins to fix that from runtime labs.

      You can also tell IB to support it by using the command
      defaults write com.apple.InterfaceBuilder VersionControlDirectory "(CVS, .svn)"
      There is no GUI support in xcode, but I'm hopeful that Apple will add support soon (or release the API so someone else can add it).
  63. astyle, indent, etc. with subversion by cheesedog · · Score: 5, Interesting
    Anyone know if there is a way to use subversion for automatic canonization of code style? For example, is there a way to force the server to apply some astyle invocation via subversions hooks on any commit, and for the subversion client to apply some symmetric astyle invocation (to get the code back to the user's preferred format) upon update/checkout? Of course, code would also have to pass through the filter to check for modification, etc....

    And yes, I know that some of you think this is a terrible, horrible idea and that my keyboard should be confiscated for even suggesting it. But this ability is on my "holy grail" list for version control systems, and I won't rest till I find it!

    1. Re:astyle, indent, etc. with subversion by kaisyain · · Score: 4, Informative

      I haven't checked recently but it is unlikely. When I tried to convince the subversion devs a few years back that such functionality would be a good thing (i.e. offer the choice, let users weight the risks and benefits and make their own decisions) the idea was pretty thorougly shot down by all. I doubt anything has changed their minds in the time since.

      Personally I don't see the difference between this kind of source code transformation and the more accepted RCS keyword kind. Except this has the immediately obvious benefit of obviating all of the stupid source code style issues known to mankind and letting people use whatever they prefer transparently.

    2. Re:astyle, indent, etc. with subversion by feronti · · Score: 5, Informative

      You have 3 different places to hook into the commit cycle in version 1.0:

      • startcommit
        Before the transaction begins, you can prequalify the user for commit privs
      • pre-commit
        After the transaction tree has been completely built, but before it's actually committed to the repository
      • post-commit
        After the entire commit cycle is completed
      start-commit is passed the repository and the user, pre-commit is passed the repository and the name of the transaction (which can be examined with svnlook), and post-commit is passed the repository and the revision number. If either start-commit or pre-commit fail, the commit is rolled back; post-commit exit status is ignored.

      This could be used to canonize it coming in... it would be up to the user to reformat it coming out if desired... but everything would then get flagged as locally modified... though the user could always recanonize the code before committing... which defeats your goal of automating it all:)

      So, the grail is closer, but as always, just out of reach.

    3. Re:astyle, indent, etc. with subversion by fucksl4shd0t · · Score: 5, Funny

      Anyone know if there is a way to use subversion for automatic canonization of code style?

      Yeah, host a python repository with it.

      --
      Like what I said? You might like my music
    4. Re:astyle, indent, etc. with subversion by fastdecade · · Score: 2, Insightful

      I've heard this idea before, but I can't believe it's a good thing to check in code you haven't actually seen and tried out. Can you be absolutely sure the transformation is correct? A regession test won't catch everything.

      This task is better performed by an IDE which would render the code in your own style. You won't see the final code, but at least you'll be debugging/testing on it.

    5. Re:astyle, indent, etc. with subversion by Anonymous Coward · · Score: 0

      All the code transform tools I have seen all have bugs and will break your code in unusually subtle ways given enough usage. Yes even the autoformat option in MS Visual Studio, or similar features in emacs have broken code on me. Indent definitely will destroy code from time to time, especially C++ code. I would be terrified to hear of any project doing something like this in any kind of automated manner.

    6. Re:astyle, indent, etc. with subversion by Anonymous Coward · · Score: 0

      I've heard this idea before, but I can't believe it's a good thing to check in code you haven't actually seen and tried out. Can you be absolutely sure the transformation is correct? A regession test won't catch everything.

      If you're working in a whitespace-insensitive language, and the formatting only modifies whitespace, then yes, you can be sure the transformation is correct (or at least will never break anything). But you would have to have some way to note what language each file is, and you'd have to thouroughly test the transformation code.

    7. Re:astyle, indent, etc. with subversion by antiknijn · · Score: 3, Informative

      This has been discussed quite recently on the Subversion users mailing list, someone wanted to use Jalopy to format Java code on every commit. The answer basically is: nonononono, bad idea.

      Check the mailing list archives, the initial posting was on February 12.

  64. Re:Does Subversion require a UNIX account per user by miu · · Score: 1
    my paranoia's inflamed. By giving them a user my system's at least recognizing their existence, and that makes me uncomfortable

    If you are really worried about it then use a 'jail' or 'chroot' setup.

    --

    [Set Cain on fire and steal his lute.]
  65. More secure by 0x0d0a · · Score: 2, Informative

    I have to look through it, but based on the way it works, it probably has two more benefits:

    * Easier to set up and maintain user accounts (CVS requires setting up shell accounts)

    * More secure. One can spoof history with CVS, corrupt the thing, or whatnot.

    I'd like to see Sourceforge move to SVN, and see what happens...

  66. Why not GNU Arch instead of Bitkeeper? by tepples · · Score: 4, Interesting

    Linus wants a distributed system, which Bitkeeper is.

    Did Linus evaluate GNU Arch? If so, what did he find wrong with it? One of the goals of Arch is to replace Bitkeeper. Yes, there exists one known feature that Arch lacks compared to BK, namely copying files within a repository while forking its change history, but why did Linus find this a showstopper? Or has Arch progressed rapidly since the BK decision?

    1. Re:Why not GNU Arch instead of Bitkeeper? by Anonymous Coward · · Score: 4, Interesting

      When Linus made the BK decision Arch was still in its infancy. Arch has come a VERY long way in just the last couple of months.

      The problem with SVN is that its just CVS with the most horrible problems removed and some other horrible things added (Apache/WebDAV).

      Arch took a step back and really tried to come up with solution to an abstract problem. That makes it far better for revsion control than CVS and SVN.

    2. Re:Why not GNU Arch instead of Bitkeeper? by Anonymous Coward · · Score: 4, Informative

      Apache access is completely optional. It has its uses for people, such as a security using Apache instead of just the basic unix permissions. Its definitely slower than using the native protocol for svnserve. It solves all of CVS's problems. However like all software, it has its own problems. At least in SVN's case the code is realtively clean and organized, so changing it will be much easier. Ever look at CVS code? Pure spaghetti.

    3. Re:Why not GNU Arch instead of Bitkeeper? by Anonymous Coward · · Score: 0

      It solves all of CVS's problems.

      Depends how you define "problems". For example, how do I commit while off-line with CVS? I can't. Same with SVN. How do I version symlinks? I can't. Same with SVN.

    4. Re:Why not GNU Arch instead of Bitkeeper? by jonabbey · · Score: 1

      One thing Arch doesn't do, however, is import old repositories from CVS. Though some of the Subversion team's ideological purities bother me (why can't I have per-file revision counts?), I can at least convert my old CVS repository to Subversion without losing my revision history.

    5. Re:Why not GNU Arch instead of Bitkeeper? by Tadghe · · Score: 1

      You forgot to add the insanity of db3/4 to the "horrible things added" (see the SVN anti-fud page, where it rants about the proper care and feeding of db3/4....).

      --
      Bugs Bunny was right.
  67. Re:I hope... by 0x0d0a · · Score: 1

    This is the first stable release of one of the most influential open source tools. It marks the beginning of the global transition from CVS to SVN. Aside from CVS, I think that only gcc (good, free compiler available for many platforms) and perhaps a few parts of the GNU toolchain could be considered as influential. I would say that this is of exceptional importance to anyone using or working with open source or developing software.

  68. Flaw in UNIX permissions scheme by 0x0d0a · · Score: 1

    I'd say that this is more of a flaw in the UNIX permissions scheme, that normal UNIX boxes don't support ACLs (or let non-root accounts create limited user accounts, which would provide some similar functionality).

    1. Re:Flaw in UNIX permissions scheme by Anonymous Coward · · Score: 0

      OT, but Solaris has had ACLs for over two years, as well as role based security.

    2. Re:Flaw in UNIX permissions scheme by 0x0d0a · · Score: 1

      Yup, but ACLs still are standard in the UNIX world. You can chmod with confidence, but not be sure that you can use a POSIX ACL.

    3. Re:Flaw in UNIX permissions scheme by 0x0d0a · · Score: 2, Interesting

      Sorry, that should be "ACLS still are not standard in the UNIX world".

      Fedora Core 1 still, I think, does not use ACLs (by default). Most software doesn't understand ACLs. I've heard a lot of disparaging comments made on LKML about POSIX ACL design -- not sure how accurate it is, but it's there.

      If I'm writing something, I can't just use ACLs and assume that they'll be there for the BSD, the Linux, the Solaris, the OS X users of my software.

  69. Subversion not really a source-code repo... by Phil+John · · Score: 3, Interesting

    ...it's meant as a general file versioning system. However, there are indeed various hooks so in theory you could set something like this up. Have a look at the subversion book (linked elsewhere in the comments).

    --
    I am NaN
  70. Re:Argument Summary by feronti · · Score: 1

    Dang... got my nice, bound copy of the book too soon... they've gone through almost 200 revisions since I printed it:(

  71. DavFS (webdav - linux fs) by AmVidia+HQ · · Score: 1
    WEB-DAV Linux File System(davfs2)

    I haven't used this but using this to loop back as a local filesystem, you should be able to access the latest snapshot transparently. Saves time on checkouts ^.^

    --
    VIVA1023.com | Political Fashion.
    1. Re:DavFS (webdav - linux fs) by sploxx · · Score: 1

      Thanks for this link (and for all the other links)! This looks like if it matches my needs.

  72. Re:Does Subversion require a UNIX account per user by Anonymous Coward · · Score: 0

    Yeah, you're right (not the original ac here, just someone who agrees with you)

  73. kernel by thayner · · Score: 3, Interesting

    Is this likely to get Linus to switch from Bitkeeper? If not, what needs to be done to make it a suitable replacement?

    1. Re:kernel by Anonymous Coward · · Score: 2, Funny

      All they need to do to get him to switch is make it proprietary software under a really restrictive license and replace the developers with raving lunatics.

    2. Re:kernel by sashang · · Score: 4, Informative

      Doubt it - one of Bitkeeper's key features is it's peer to peer. Each developer has a clone of the repository. Changes are committed to the developer's local repository first before propogating to the parent repository. svn doesn't work like this.

    3. Re:kernel by Anonymous Coward · · Score: 0

      Err, a hierarchy (pyramid) structure isn't peer-to-peer. You could say that it uses a distributed scheme, where each developer has his own local copy of the repository, so it's distributed across all those repositories, but calling it peer-to-peer would be an abuse of the terminology. A truly peer-to-peer model would encourage you to swap around changesets in all sorts of ways, up down and sideways... I admit that it doesn't really sound like a practical form of development to me, at least not for most projects.

  74. Don't suppose there's a Visual Studio plugin yet by jdunn14 · · Score: 4, Insightful

    Or am I wrong? Yes, I know VS is an unholy horror, but some of us are stuck with it for work. I use Jalindi igloo to interface with CVS, and would likely use subversion (heard nothing but good things about it) if I had 2 things:

    1) the VS.NET source control plugin
    2) a good way to "upgrade" an old CVS repository

    I'm guessing #2 is supported, but #1?

  75. Can't get the 1.0 src package by Anonymous Coward · · Score: 0

    where can I get the 1.0 src package
    the master site only have the beta package,
    and I have got the definative guide, and hope to use it as my scm tool.

  76. Subversion filesystem driver? In Linux? by Pan+T.+Hose · · Score: 2, Interesting

    Is there a filesystem that uses subversion as it's underlying "device"? For linux? Some time ago I worked with Rational ClearCase and the filesystem integration was really nice.

    As much as I'd love to see a Subversion filesystem driver in Linux, I am not sure if that would be possible. Would such a thing be legal under BitKeeper NDA to implement by Linux kernel developers?

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
  77. Major data corruption issues by brettw · · Score: 5, Interesting

    I've been following subversion for 2 years and waiting for it to be ready.

    Last build we tried was a couple of months ago.

    Try compiling it on different architectures (ours are i686-linux and hppa2.0-hpux11.00), mixing slight version differences, mixing which server you use (svn, http).

    Then say hello to _constant_ intervention by someone who has admin privileges to recover your hosed repository.

    I hate to say it, but now of course with 1.0 we'll try again. But I wouldn've thought they were a long way off based on our problems.

    And this is with just 3 people using it on a test project? CVS has bugged me for years, but it can handle the basics without error.

    I'm willing to admit that something we did could've caused all our problems (funny compiler flag or version, wrong switch enabled), but I can't afford the time spent trying to get a superior, but buggy, tool to just do the basics, even if the root cause is in some arcane step in the build process (which is truly hideous).

    I wish them luck, but honestly I've never been able to figure out how all these happy subversion users ever got it to work.

    There's still time though to pull the plug on our imminent order of Bitkeeper if by some miracle things have improved a lot very quickly.

    1. Re:Major data corruption issues by Anonymous Coward · · Score: 5, Informative

      I thought I had the same problem with subversion -- Until I discovered it was my fault.

      I had given local accounts to about 5 developers on my machine. They all used svn+ssh to access the repository. I had created a 'svn' user and group, put the repository in /home/svn, and added everyone who needed access to the svn group.

      This is not the way to do it.

      Berkely DB is a transactional database; it will not necessarily work properly if multiple processes are accessing it at the same time. I ended up having to do a 'svnadmin recover /home/svn' every few days which drove me insane.

      The solution is to drop svn+ssh, and run svnserve. That's what I did. Of course, apache2 can be run also, but that was too much for my needs.

      For more details, check out the subversion book, chapter 6.
      http://svnbook.red-bean.com/html-chunk/ch06s03 .htm l#svn-ch-6-sidebar-1

      One of the developers took me through a more detailed explanation of why it was a bad idea to use svn+ssh with multiple developers. Suffice to say, since I've moved to svnserve, I have had absolutely not a single problem.

    2. Re:Major data corruption issues by Eric+Smith · · Score: 2, Informative
      Berkely DB is a transactional database; it will not necessarily work properly if multiple processes are accessing it at the same time.
      Berkeley DB works fine with multiple processes accessing the database at the same time. It has locks which are used for dealing with contention. Subversion uses the locks. I don't doubt that you had problems with Subversion, but I'm dubious of this explanation.
      For more details, check out the subversion book, chapter 6.
      The URL you gave did not work for me. But I've read chapter six in its entirety, and it certainly does not say that svn+ssh doesn't work for multiple concurrent access. In fact, chapter six section five explains exactly how to do it. There are minor concerns over permissions, but the database locking works just fine.
      The solution is to drop svn+ssh, and run svnserve.
      One of us is very confused, and I'm pretty sure it's not me. "svn+ssh" is exactly what is used to access svnserve through an ssh tunnel. I know, because that is the ONLY way to access Subversion on my server. I didn't install WebDAV/Delta-V, and ssh on my Subversion server does not allow logins for any purpose other than Subversion.
    3. Re:Major data corruption issues by ajagci · · Score: 1

      Berkely DB is a transactional database; it will not necessarily work properly if multiple processes are accessing it at the same time

      Ummm, working properly when "multiple processes [...] accessing it at the same time" is the whole point of having a "transactional database".

    4. Re:Major data corruption issues by mgm · · Score: 1

      Sorry Eric, I think you're confused at least a little bit:

      svn+ssh uses svnserve, but runs it as the user authenticated via ssh. svnserve running as a daemon references a password file containing username/password combinations -- you don't need a separate Unix user for each Subversion user. In this mode, svnserve is the only process accessing the repository, and only does it as one Unix user (whoever you started the svnserve process as).

      svn+ssh requires all the Unix users that authenticate through ssh to be in the same group, and also requires some other magic to work. Maybe you got that magic wrong. When a permission problem occurs, your repository often needs to be "recovered" in order to fix it. Subversion's "svnadmin recover" can be used in these (usually rare) cases.

      If you're still having problems do try posting to the users list: users@subversion.tigris.org.

    5. Re:Major data corruption issues by brettw · · Score: 1

      svn+ssh requires all the Unix users that authenticate through ssh to be in the same group, and also requires some other magic to work. Maybe you got that magic wrong. When a permission problem occurs, your repository often needs to be "recovered" in order to fix it. Subversion's "svnadmin recover" can be used in these (usually rare) cases.


      You mean like every 3 days?

      This thread just seems more proof that other people have had similar problems. Even though they may have gotten things working, they don't know why.

      But--that said, I'm sure we'll try it again.
    6. Re:Major data corruption issues by treat · · Score: 1

      You can't use subversion as two different users. Some files in the repository end up owned by a different user, and then when you do a commit it corrupts the repository instead of reporting the error.

    7. Re:Major data corruption issues by treat · · Score: 1
      svn+ssh requires all the Unix users that authenticate through ssh to be in the same group, and also requires some other magic to work. Maybe you got that magic wrong. When a permission problem occurs, your repository often needs to be "recovered" in order to fix it. Subversion's "svnadmin recover" can be used in these (usually rare) cases.

      How can you call these cases rare? They're guaranteed to happen. Every time I do a commit as root, one of the db/log.* files ends up owned by root. Then I do a commit as myself, and instead of reporting the error, I get corruption. Fixing permissions and doing an svnadmin recover has solved it every time. But it made me really regret using beta software. I'm saddened to see that this has not been fixed in 1.0.

    8. Re:Major data corruption issues by mgm · · Score: 1

      Using Subversion when logged in as root, and then as another user, is not going to work using file:// access to your repository, precisely because permissions get screwed up. Using svn+ssh:// without setting up your groups and permissions correctly will also result in a wedged repository. The Subversion book details these cases clearly.

      The most common use-case for revision control is a networked repository. For this, you can use svnserve (easy to set up, works out-of-the-box), Apache (a bit more work, much more flexible) or svn+ssh (masses of security, you gotta get your permissions correct, more info in the book).

      If you permissions get screwed, you don't lose or corrupt data. The repository just gets "wedged" and can be fixed using "svnadmin recover".

      Subversion doesn't work just like CVS, it's masses better. People who are doing serious work with Subversion like it just fine. Don't confuse your misuse of a tool with the tool not working. Should Subversion fail more gracefully when permissions aren't set up right? Probably, yes -- but your use case is not the most common, and fixing it relies on fixing BerkeleyDB as well.

    9. Re:Major data corruption issues by Eric+Smith · · Score: 1
      I think you're confused at least a little bit: vn+ssh uses svnserve, but runs it as the user authenticated via ssh
      I don't think I'm at all confused. That's exactly what I expect and want.

      I use svn+ssh all the time, using ssh authentication. So all my users are disctinct Unix users. Thus I have multiple Unix users accessing the repository, sometimes simultaneously. Yet I've never had the problems the earlier poster was complaining about.

      and also requires some other magic to work.
      If setting a few file permissions appropriately is what passes for "magic" these days... All you have to do is set the setgid bit on the directories (chmod -R 2770 repository). How hard is that?
      When a permission problem occurs, your repository often needs to be "recovered" in order to fix it. Subversion's "svnadmin recover" can be used in these (usually rare) cases.
      If you set it up correctly, why would permission problems occur?
    10. Re:Major data corruption issues by Eric+Smith · · Score: 1
      On further reflection, I realized that I may be setting up the repository ownership slightly differently than mgm was describing, although I'd hardly call it "magic".

      Rather than having a common subversion group owning all the repositories, I have a separate group per repository, and make the users members of the groups for which they should have write access.

    11. Re:Major data corruption issues by mgm · · Score: 1

      The Subversion book mentions that you need to set the umask, something that svnserve doesn't do automatically. It was discussed on the dev list, but dropped because it was felt that setting a umask was an access-dependent thing to do, and as such should be left to the repository administrator.

      More info at http://svnbook.red-bean.com/html-chunk/ch06s05.htm l

    12. Re:Major data corruption issues by Eric+Smith · · Score: 1
      The Subversion book mentions that you need to set the umask, something that svnserve doesn't do automatically.
      It makes sense for svnserve not to automatically set umask, because there are multiple ways that svnserve can be used, and multiple ways that the repository user(s) and groups might be set up, and a single umask value is not the right thing for every configuation.

      In fact, on my Subversion server I run svnserve both from xinetd (for anonymous read-only access) and from sshd, and over multiple repositories with different security requirements, and there's no single umask value that is correct for everything just on my one server machine.

      That said, it would certainly be nice if the Subversion documentation explained this better. I'm not very good at writing documentation, though, so I don't think I'm the right person to submit improvements to it.

    13. Re:Major data corruption issues by gonz · · Score: 1

      We have been using the server directly (without SSH as you describe) primarily because this is the simplest installation procedure. Also, it doesn't require the Subversion users to have accounts on the server. Anyway, so far we have not had any data loss or problems at all.

      In contrast, we experience REGULAR data loss from CVS, not because of actual bugs, but just because the retarded limitations are difficult to for new hires to learn. ("Do NOT delete files!" "Do NOT rename directories!" "Branches are INVISIBLE, make sure you are working from the right branch!", etc.) Also, on Win32 there's that whole Pageant authentication headache, whereas if you use the Subversion protocol TortoisSVN caches the passwords automatically.

      -Gonz

    14. Re:Major data corruption issues by brettw · · Score: 1

      OK, so today we tried again.

      Release notes don't indicate we need to do a DB dump, so we dump the db 'just-in-case' but don't suck it back in again before attempting to use the new version on our repo.

      Fire up svn up => core dump.

      Ok, so maybe it _does_ need a db roll. Fair enough, 1.0 release, we can do that (we've done it a bunch of times).

      Attempt to suck in our db dump => core dump

      Revert to previous version (version .35) and the database recovery goes w/o a hitch.

      This is the first time we've had this kind of trouble, probably after the feeling of 'jilted again' wears off we'll have to dig a bit more to see if we tweaked something badly.

      In other news, today I also got a temporary full commercial license key to try out Bitkeeper for a month from the friendly folks at bitmover.com.

      It converted over a couple of our projects from CVS nicely, and is very user friendly.

      If only it supported nested repositories and did binary deltas...

  78. WTF? Subversion? by Anonymous Coward · · Score: 0

    Has anyone told Kommandante Ashcroft?
    I knew these open source Communo-Marxian hippies couldn't be trusted...unlike the Real American Men who make up successful, for profit corporations like SCO

  79. Don't jump the gun, folks! by slipsuss · · Score: 5, Informative

    We haven't announced 1.0 just yet; we're going to do it sometime on Monday the 23rd. The Subversion team prepped the website and rolled a 'beta' 1.0 tarball over the weekend in preparation for Monday. We wanted to make sure there were no embarrassing bugs in the tarball itself (i.e. no "brown bag" releases due to a bad libtool or something!)

    Thanks for all the nice comments. Stay tuned for the official announcement.

  80. Re:Not bad, but... by digitaltraveller · · Score: 3, Informative

    Arch has some very nice features, probably too many. It's so powerful that it scares people off.

    Octopy looks like a promising qt gui frontend for arch to solve that problem.

  81. OB Simpsons Quote by Anonymous Coward · · Score: 0

    "But you have recruiting ads on TV. Why do you need subliminal messages?"
    "It's a three-pronged attack. Subliminal, liminal, and superliminal."
    "Superliminal?"
    "I'll show you. Hey you! Join the navy!"
    "Uh, yeah, alright."
    "I'm in."

    http://www.macalester.edu/~coien/Simpsons/s12/4. ht ml

  82. What about Linux? by Pan+T.+Hose · · Score: 3, Interesting

    SourceForge said in a FAQ (IIRC of course) that they are waiting until a production version of SVN comes out. Now, when will they implement it? I'm waiting pretty anxiously.

    Granted, it would be great to finally see Subversion nicely integrated with SourceForge, but CVS (the current concurrent versioning system used by SourceForge) while lacking lots of essential (at least for experienced developers) functionality, is free software nonetheless. What I am most concerned about is whether this new version of Subversion is already good enough to use with Linux, so one could contribute without the need to choose between restrictive EULA and being a second class citizen. Does anyone know what features exactly does it still lack, if any, for Linus to accept? I hope it would be legally possible to accept now, but I might be wrong.

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
    1. Re:What about Linux? by Anonymous Coward · · Score: 0

      Does anyone know what features exactly does it still lack, if any, for Linus to accept?

      Too many things to count. The reason SVN was dismissed is because it completely lacks any sort of distributed branching support (ie commiting from your laptop on a plane), and even basic history-sensitive merging (ie not merging changes that have already been merged in the past). SVN still has neither of these, and won't for a long time. SVK is at least moving to those (if it doesn't support them already), so maybe it stands a chance.

    2. Re:What about Linux? by Anonymous Coward · · Score: 0

      arch has all the features required, but they havne't switch to that one. Something tells me they'll never switch.

    3. Re:What about Linux? by an_mo · · Score: 1

      What do you mean I can't commit from my laptop? I do it all the time.

    4. Re:What about Linux? by Anonymous Coward · · Score: 0

      > What do you mean I can't commit from my laptop?

      The point here is not that you can't commit _from_ your laptop, but rather that you can't commit _to_ it: you can't have a satellite repository locally, do which you commit changes while detached from the network, and which you can eventually sync up with the other servers in the distributed repository.

  83. completely underwhelmed by Subversion... by Anonymous Coward · · Score: 4, Interesting

    I can't be the only one that is unimpressed by Subversion.. and a little disappointed that this is the best the open source community can come up with.

    When I first started reading about Subversion (a few YEARS ago), I was ready to be blown away. I thought it would be fast and powerful, yet light and minimal like CVS. And I expected features like distributed repositories and changeset management built in from the start.

    But after using it for a while (and I have been using it for a couple major projects) and studying the design, I don't like it much.

    One thing that's great: they stripped down the CVS interface, and removed all the confusing and conflicting commands and flags. svn now has a nice orthogonal command set, but still easy to use for a CVS old-timer.

    But under the surface.. WOW a berkeley DB? Implementing a *versioned filesystem*? Talk about over-engineering!!

    First of all, a versioned filesystem is not the right solution for version control. Version control is about *changesets*, not file snapshots. Subversion is concentrating on the nodes of the change graph, not the edges. Their solution is extremely "heavy". Changesets cannot be added to this model. It's possible to *generate* changesets from various snapshots of the tree (i.e., which sets of revision deltas make up a particular changeset), but that's also possible with CVS and a horrible hack.

    A better solution would be designed around changeset management from step 1. And it wouldn't take X years to finish.

    Second, the Berkeley DB is a key/value database. What the heck does that have to do with versioned trees?

    Berkelely DB installations are difficult to back up, they can't be placed on network drives, they have locking issues, they create journals and logfiles and all kinds of junk. To back up our svn repositories, I'm just dumping the whole damn thing every night into a massive text file. Yeesh. (Actually it's not a text file, the binary files are dumped right along with the text, so it's actually a binary format).

    Want another example of using berk DB where it shouldn't be used? The RPM package manager. A huge pain in the ass, but that's a rant for another day.

    And yeah the WebDAV thing (which was installed by default when I installed svn from FreeBSD ports) sucks too. Maybe when I have some time I'll figure out the non-Apache dedicated server. But the WebDAV server should just be dropped completely, imo, it seems to just piss people off.

    The Subversion folks should've been much more minimalist in their design. They should've aimed for the *simplest* design that could meet the requirements.

    I've taken a look at Arch, and it has the opposite problem of subversion: damn nice internal design, but crappy interface (I recall the help text that listed commands was almost 200 lines long)!

    Internally arch is great. It doesn't need any fancy database, all you need is a filesystem with atomic renames and other Unix-y features. It handles changesets, it handles distributed repositories, it handles "checkpointing" complete copies of the source code (so you don't have to spend a lot of time applying deltas to get to a specific revision)... it does it all once you figure it out.

    The subversion folks should've taken Arch, cleaned up the interface, come up with some compatibility code for non-Unix platforms, and called it a day.

    Ahh, but that would've been too easy.

    1. Re:completely underwhelmed by Subversion... by myg · · Score: 5, Interesting
      First off I use Subversion on a large, non-open source project. It works great; my server is a crappy PowerMac and it still handles commits from the staff with no problems as well as checkouts to the various build machines here.

      Before we migrated to Subversion we were using CVS. In choosing a replacement for CVSs' limitations we first evaluated arch.

      In our opinion arch is junk. It works only on UNIX like systems (we have lots of systems that are not UNIX-like here, and we do use Win32 for some stuff).

      Converting CVS with history looked to be impossible and we found arch very annoying to use.

      The distributed tree model is also another problem. I'm sure that for Linux kernel development, arch makes sense. For a commercial product we do not want multiple trees. We want one consistent tree so when we go to a customer site we don't have to wonder why a circuit is malfunctioning because we didn't sync up with Jack's tree or whatever. We rejected BitKeeper on the same grounds; we weren't so much against paying but wanted something with the right feature set.

      ClearCase wasn't cross-platform enough and was really more expensive than we could afford and MetaCVS seemed sluggish.

      As a matter of personal opinion (mod me down if you want); we felt that (in the lab) arch felt like a toy and Subversion felt like a polished product.

    2. Re:completely underwhelmed by Subversion... by edmudama · · Score: 4, Informative

      "The distributed tree model is also another problem. I'm sure that for Linux kernel development, arch makes sense. For a commercial product we do not want multiple trees. We want one consistent tree so when we go to a customer site we don't have to wonder why a circuit is malfunctioning because we didn't sync up with Jack's tree or whatever. We rejected BitKeeper on the same grounds; we weren't so much against paying but wanted something with the right feature set."

      Just for the record, just because BitKeeper supports (and works great) in a fully distributed environment, doesn't mean you need to use it that way. Every developer can simply clone, then push each change back to the parent, and it would work like a centralized server.

      If your developer "forgets" to push, that's no different in a distributed than a centralized system... once pushed, everyone has access to it.

      There are other advantages to distributed operation too, mostly in failure tolerance and disconnected operation... BitKeeper is the only tool out there I am aware of that lets you work completely via floppy disks, without losing any functionality (it maintains its checksummed changeset model)

      --eric

      --
      More data, damnit!
    3. Re:completely underwhelmed by Subversion... by myg · · Score: 3, Informative
      Thats an excellent point, there were other things that drove us away from BK, all technical nits. In the end, SVN won out due to things we could make it do.

      But as far as the different tree model: we simply do not want this. We don't have any fault tolerance issues. We have some distributed developers but since our code is intimately tied to physical hardware its a moot point for us.

      If we don't have network connectivity to our target hardware lab we got bigger problems. But we also don't want people maintaining their own trees and branches.

      There are some other things that we liked about SVN. The fact that its supported by a logged DB engine. That was another critical blow for arch to us. If a server went down during the middle of a commit we could have corrupted files. Internally we use XFS which journals metadata but not user data. Its actually silly for a file system to do this since the FS has no clue about where transaction boundaries are.

      So if we had say a HW failure with arch we could have a complete tree with some corrupted files. SVN physically logs the data to disk and then fsync()s the logs and then writes them in the database.

      But BK is a nice product and I like Larry McVoy, our choice of SVN stemed from many little things.

    4. Re:completely underwhelmed by Subversion... by Keltia · · Score: 2, Interesting

      Arch is probably more protected from corruption than SVN in the sense that you never modify any file when committing to an archive. Stuff is always added, not modified. Committing is just generating a patch-log and adding that to the archive. The window of corruption is much smaller than generating a BDB transaction.

      One of the problem I found in early versions of SVN was than due to BDB, repo size was several times the data you put into it, leading to very large repo. which could be a problem.

    5. Re:completely underwhelmed by Subversion... by kahei · · Score: 4, Interesting


      What you say about subversion may be true (it works okay for me but it could certainly do with a bit more power in places).

      However, to say that arch is _better_ because it relies on Unix to the extent of being uncompilable on Windows (probably works in cygwin, but...) is bizarre. Arch suffers from the common GNU problem of assuming that a Unix system with a Unixy filesystem is the only environment worth paying attention to, and despite what Richard Stallman might think, that _is_ a problem.

      Subversion: a cross-platform library for which many tools can be (and have been) made for many environments.

      Arch: a Monolithic Unix program. Attempts to port and to add tools are still ongoing.

      Arch seems not only less useful but also depressingly backward-looking in philosophy.

      --
      Whence? Hence. Whither? Thither.
    6. Re:completely underwhelmed by Subversion... by Vintermann · · Score: 2, Informative

      "Arch: a Monolithic Unix program. Attempts to port and to add tools are still ongoing."

      Monolithic? It's based on standard tools like diff and tar, and contrary to what you say, Arch is more like a standard than a program. There are multiple implementations - larch (the fully functional prototype), tla (Tom Lord's arch, in C), ArX (by Walter Landry, in c++ I believe) and several smaller ones.

      "Arch seems not only less useful but also depressingly backward-looking in philosophy."

      Arch is conservative in some regards, but it's conceptually closer to bitkeeper, ClearCase and other modern version control systems.

      --
      xkcd is not in the sudoers file. This incident will be reported.
    7. Re:completely underwhelmed by Subversion... by ajagci · · Score: 1, Flamebait

      Arch suffers from the common GNU problem of assuming that a Unix system with a Unixy filesystem is the only environment worth paying attention to, and despite what Richard Stallman might think, that _is_ a problem.

      No, you got it backwards. Writing open source software as if it has to run on both Windows and Linux is a problem. Commercial software vendors aren't dragged down by that kind of cross-platform boat anchor--they just write for Windows.

      Trying to achieve cross-platform availability is corrupting major open source projects; for example, Mozilla and KDE are both as inefficient, bloated, and flickering because their toolkits try to make some sort of compromise between Windows and X11.

      Open source simply won't be fully competitive this way; it's amazing it's as good as it is given this millstone.

      Arch seems not only less useful but also depressingly backward-looking in philosophy.

      The "depressingly backwards looking philosophy" is the philosophy that tries to bring us to a lowest common denominator of all operating systems.

      and despite what Richard Stallman might think, that _is_ a problem.

      It's not just Stallman that's saying it. I'm tired of missed releases and poor functionality due to attempts by developers to accomodate Windows. Windows has enough software; don't waste time on adding more to it for free.

    8. Re:completely underwhelmed by Subversion... by 21mhz · · Score: 2, Interesting
      However, to say that arch is _better_ because it relies on Unix to the extent of being uncompilable on Windows (probably works in cygwin, but...) is bizarre. Arch suffers from the common GNU problem of assuming that a Unix system with a Unixy filesystem is the only environment worth paying attention to, and despite what Richard Stallman might think, that _is_ a problem.

      Well, that covers all flavors of Unix, including MacOS X. Windows support is left lagging for now, true, but there sure must be ways to get around its suckage of a filesystem, once the architecture is gotten right.

      As other posters said, it's much more simple, and more to the point, to manage changesets rather than snapshots. Expect it to be more simple on Windows, too. Just compare the speed of development of the mentioned two projects. Actually, Tom Lord took part in initial development at SVN, became frustrated and rolled his own. His initial script-based implementation was rewritten in C since then to surpass SVN in core features (while, admittedly, lacking on UI front) -- all this while SVN kept plodding to its first stable release.

      Subversion: a cross-platform library for which many tools can be (and have been) made for many environments.

      Arch: a Monolithic Unix program. Attempts to port and to add tools are still ongoing.

      You got it here. But I have seen many a program, deemed useful, to be recast into program+library layout.

      As it seems now, Arch is still in its youth. Yet when it comes of age, expect it to make them who chose Subversion or BitKeeper for their source repositories to reconsider their decisions.
      --
      My exception safety is -fno-exceptions.
    9. Re:completely underwhelmed by Subversion... by Fruit · · Score: 1

      That size problem is just the DB log. In older versions you could clean it up using svnadmin list-unused-dblogs and the newer versions (based on db4.2) remove them automatically.

    10. Re:completely underwhelmed by Subversion... by Khazunga · · Score: 1
      Arch: a Monolithic Unix program. Attempts to port and to add tools are still ongoing.
      Arch is anything but monolothic. It's a Unix program at its roots, making use of each and every possible tool available in a Unix filesystem. Heck, changesets are stored as tar.gz files of diff results on the previous version. That is the problem that keeps arch from being easily portable to win32. IMHO this doesn't reveal a failure in design of arch, but rather how bare is the tool landscape on windows.
      --
      If at first you don't succeed, skydiving is not for you
    11. Re:completely underwhelmed by Subversion... by myg · · Score: 1
      Not true at all. Keep in mind that I am talking about hardware failures or power outages here, not ftpd or httpd crashes.

      A journalled filesystem does not journal the data (well, some do, read on). A journalled filesystem journals metadata changes (permission bits, file renames, etc). It is entirely possible that the data in those files gets corrupted. In particular, we use the excellent XFS file system from SGI. Because XFS uses such aggressive caching data can be corrupted during a failure.

      Now, some journalled filesystems (e.g. an option in ext3) journal file data as well. This doesn't help but can actually cause *worse* problems as seemingly correct but stale data can be left behind.

      The very fact that arch makes no use of the fsync system call on the server side (since it has no dedicated server) means that data loss is much more likely than with Subversion which ensures that data is written first to log files and then replayed into the respository DB.

      As for repository size? Is that really an issue that even matters? Unless arch users write gigabytes of source code I don't see the problem here. How much does a couple of SCSI disks and a RAID controller really cost that guarding source code isn't worth it?

      What do the arch guys use for a server that this is such an issue? Can you even buy less than 9GB SCSI disks anymore? Is spending $2000 for a decent server really out of line?

    12. Re:completely underwhelmed by Subversion... by stripes · · Score: 2, Informative
      Arch is probably more protected from corruption than SVN in the sense that you never modify any file when committing to an archive. Stuff is always added, not modified. Committing is just generating a patch-log and adding that to the archive. The window of corruption is much smaller than generating a BDB transaction.

      BDB doesn't have a "windows of corruption", it is a log baised relational datastore (some would say database, but I like to use a diffrent term to remind myself that BDB doesn't internally deal with any relations). Before the on-disk tables are written whatever is about to be overwritten is appended to the log file and sync'ed. Then the changes are made. If power is lost or the BDB process is killed the log files can be used to undo the half-completed changes. (this all assumes you dont ask BDB to not do it - which you can if you value speed over durability)

      A BDB "database" can be corrupted, but it has to be done by hardware failure, or writing directly to the DB files, not merely by losing power at the wrong time.

      I have used BDB in a number of projects (none of them storing source code), and not had a problem with corruption (except for the "throwaway" "tables" which I specifically chose to not have full durability protections on as I could recreate them from other "tables").

    13. Re:completely underwhelmed by Subversion... by sevenseven · · Score: 1

      rtfm.

      * scope control - 1.0.0 as a replacement for cvs. future version will have more (changesets, rdbms, etc).

      * networked from the start - web dav means cross-platformed and networked by design. not horrible hacks like cvs/arch/etc. we have people using it from osx/linux/solaris/windows. webdav/apache brings in ldap/ntlm/tls/compression + everything else apache has to offer

      --
      ...sie sind nicht grün
  84. Tuition is expensive as well by tepples · · Score: 0, Offtopic

    Unfortunately, I don't think I have the money to go back for my master's or even just to go take some more courses at a local community college just to qualify for a cheap copy of Visual Studio. I already have upwards of $20,000 of student loans to pay back and little hope of finding a programming job anywhere in northeast Indiana, now that I'm competing with both laid-off 10-year-experienced programmers and Indian consulting firms.

  85. Re:How is this news? GNU Arch 1.1 already does mor by Fnkmaster · · Score: 2, Insightful
    Yeeeah, you realize that a lot of people use CVS and now Subversion for Windows development? A nice *nix server running an Svn or CVS server can support a medium sized team of developers just fine. How the heck are you supposed to do this using Arch? Oh, you mean it really is designed to work primarily, if not only, with Unix-like operating systems?


    Don't get me wrong, Arch is a very nice concept and it has some merits, but don't pretend there aren't advantages to Subversion's architecture. And the Subversion way of doing things is much more natural for a lot of existing professional software development teams. Arch is great for more distributed projects, but it's a bit less intuitive with respect to usage in a more traditional software development environment, and outright useless for cross-platform or non-Unix projects.

  86. Branches vs Repositories by Anonymous Coward · · Score: 3, Interesting

    The BitKeeper model is so breath-takingly elegant. I used Sun's TeamWare (BitKeeper's predecessor) with great success, and am sorry to have to use Perforce in my current job.

    The idea is that there are no branches. There are only repositories (each developer has one or more) and files. Each repository has full information of the version history, and there's no version control server.

    Benefits of the BitKeeper model:

    - Exchanging changes between developers without contaminating the common parent repository is safe and trivially easy.

    - You check files in locally in your repository. So they don't even have to compile. It's often a good idea to check in files several times a day. Committing the changes to the parent repository is a separate operation.

    - The repository is little more than a directory tree containing SCCS files. Should you want to liberate yourself from BitKeeper and go with a free competitor, chances are your SCCS tree can be accepted as-is by the new version control system.

    - Since releases are managed as repositories (instead of branches), bug fixes can be propagated between releases as simply as within releases if there are no conflicts.

    - Since there is no central server, transporting repositories, say, from hard disk to hard disk is as simple as copying the trees recursively.

  87. No optimizer in MSVC Standard Edition by tepples · · Score: 5, Insightful

    $1000 for one seat? What version are you getting and where are you buying it?

    Microsoft Visual C++ Professional Edition, which seems to be the cheapest version with an optimizer in the Microsoft price list.

    You can get Visual C++, which is all you need to compile most open source stuff, for $100 so

    The version of MSVC available to the general public "for $100 or so" is Microsoft Visual C++ Standard Edition, which contains no optimizer. I've read that the performance of its generated code is so poor that one might as well use an interpreted language instead of MSVC Standard for new apps or run the UNIX version of an existing app in the Cygwin API translation layer rather than try to compile the Windows version in MSVC Standard.

    1. Re:No optimizer in MSVC Standard Edition by spongman · · Score: 1

      you can just get the most recent version of the compiler from the platform SDK. it'll produce better code than the version that ships with VC++ Pro.

    2. Re:No optimizer in MSVC Standard Edition by Anonymous Coward · · Score: 0

      About $100 more gets you an entire MSDN Pro subscription. They want you to use MSDN instead of the stand alone products.

    3. Re:No optimizer in MSVC Standard Edition by BinxBolling · · Score: 1

      We're talking about compiling a version control system here, not a rendering engine. Extra speed from an optimized build would be nice, but it's nowhere near a must-have.

      I'd love to see a credible source for your "slow as a scripting language" claim.

    4. Re:No optimizer in MSVC Standard Edition by aztracker1 · · Score: 1

      What about the free BCC compiler from borland? If that works, then there shouldn't be an issue.. :)

      --
      Michael J. Ryan - tracker1.info
    5. Re:No optimizer in MSVC Standard Edition by tepples · · Score: 1

      Some free software projects for Windows will not build with Borland or MinGW, primarily because all the developers are college students who think only other college students would join the project. Students can afford Microsoft Visual C++ with an optimizer; few others can.

    6. Re:No optimizer in MSVC Standard Edition by aztracker1 · · Score: 1

      Gotcha, I've had to work with VS, so I own VS6, and to be honest, prefer to do .net stuff with a good text editor and command line compiler... but that kinda sucks that people don't make the effort to make OSS ports of C++ projects work with a free, or at least cheaper compiler... looking on ebay, most are over $100, for vc++ pro. Personally, would enjoy seeing more success in projects like mono, and gtk#... Coming along pretty well at this point.

      --
      Michael J. Ryan - tracker1.info
  88. Re:Does Subversion require a UNIX account per user by zhenlin · · Score: 2, Informative

    Any Apache authentication module will do... Also, because it isn't filesystem-backed, there is no need to have one system account per SVN account.

  89. Re:How is this news? GNU Arch 1.1 already does mor by Kourino · · Score: 2, Informative

    A nice *nix server running an Svn or CVS server can support a medium sized team of developers just fine. How the heck are you supposed to do this using Arch?

    I'm really not sure what you're asking. Arch doesn't really need much in the way of hosting, so you could easily have your CVS serving machine host Arch archives as well.

    Oh, you mean it really is designed to work primarily, if not only, with Unix-like operating systems?

    One of Arch's assumptions is, indeed, a POSIX filesystem; basically every operating supports this, though. Unix-based systems natively, and Windows using Cygwin libraries or compiling with mingw. Actually, Arch users have encouraged the Cygwin team to shake out some bugs in Cygwin's long file handling support, so first-class Win32/Cygwin Arch really isn't that far off. Some of Arch's features (like revision libraries) take advantage of hard links if they're there, so some things may end up taking more disk space on Windows than Unix, but everything works fine.

    Arch is great for more distributed projects, but it's a bit less intuitive with respect to usage in a more traditional software development environment, and outright useless for cross-platform or non-Unix projects.

    Yep! Arch's design is primarily as a distributed SCM; there's nothing keeping you from only using the one centralized archive in a centralized development model, though; you just have everyone use one branch. It really can be used just like CVS in that respect if you want to, just the command syntax is slightly different. Hell, I'm developing software in a centralized archive using Arch right now, though I'm the only developer contributing code.

    Why do you say Arch is "outright useless for cross-platform" projects? I'm curious to hear what you have to say.

  90. Re:How is this news? GNU Arch 1.1 already does mor by Fnkmaster · · Score: 2, Insightful
    Arch doesn't compile under Mingw, even with hacking. I tried it two or three months ago. Apparently it does now compile with Microsoft Services for Unix, but this is new in the last 3 weeks. Cygwin has somewhat worked with Arch for some time, but that is not a viable solution for Windows-based development. Cygwin is nice if you want to run real Unix apps on Windows and have no other options. Getting an entire development team set up with Cygwin just so they can use Arch... that's not gonna fly anywhere I've ever worked.


    Anyway, barely compiling for the last three weeks isn't exactly stable Windows support that I would feel comfortable rolling out into a corporate environment for professional software development work. Like I said before, Arch is a great concept, and I'd love to see more done with it, especially in terms of getting it to work out-of-the-box with Windows (i.e. I can roll it out to a development team with a single installer) so it was useful for cross-platform and Windows development. Until then, it's great for Open Source projects that themselves have a more distributed model of development which is nicely matched by Arch's capabilities.

  91. This may be a dumb question by Enrico+Pulatzo · · Score: 1

    and since the site is down, I can't check to see if they answer it, but why didn't they just add the features to CVS?

    1. Re:This may be a dumb question by Cocteaustin · · Score: 2, Informative

      Because, in the words of the Subversion team, the CVS code is crufy, unmaintainable, and was long overdue for an overhaul.

    2. Re:This may be a dumb question by Enrico+Pulatzo · · Score: 1

      I guess that's their perogative. Maybe I've been reading too much Joel Spolsky and think that there is no such thing as unmaintainable code (even though I've posted against such things in the past). Thanks man (or woman), whomever you are.

    3. Re:This may be a dumb question by __past__ · · Score: 5, Interesting
      Unlike Joel Spolksy, free software developers have the luxury to base technical decisions on technical facts, not being bound by marketing or shareholder value related issues.

      Many of the core Subversion developers are former CVS hackers. If they say the code they worked on for years is unmaintainable I believe them. CVS had fundamental (and obvious) architectural issues which you cannot solve by adding a bugfix here and a new feature there. Sure, it took a few years to make svn just do everything CVS already does, but did it harm anyone? From now on there is a much cleaner codebase which is easier to extend with new features, has less surprising corner cases for users, and makes it easier for new developers to start hacking it.

      Although I am still undecided whether svn or arch will replace CVS for me (arch is nice, but its non-portability sucks, and whoever came up with the idea that using all kinds of funky hard-to-type script-unfriendly characters in filenames would make a vc system better in any way should be taken out and shot), I completely support the decision of the svn team to start from scratch.

    4. Re:This may be a dumb question by hackrobat · · Score: 1
      whoever came up with the idea that using all kinds of funky hard-to-type script-unfriendly characters in filenames would make a vc system better in any way should be taken out and shot

      My... ! You want to shoot Richard Stallman?

      Arrest him!!!

    5. Re:This may be a dumb question by __past__ · · Score: 1

      Well... that would probably be ESRs job, wouldn't it?

  92. VERY easy to convert by noda132 · · Score: 5, Informative

    If anybody's wondering about how long it takes to switch from CVS: it's about half an hour before you see it start to pay off.

    1. install (apt-get install subversion)
    2. Use svnadmin to create a new repository
    3. Use cvs2svn (apt-get install subversion-tools) to migrate the old (CVS) repository to the new (SVN) one. It'll keep all your revisions, tags, etc.
    4. svn co file:///path/to/repos/trunk repos

    And if you're used to using CVS through ssh, it's even easier with SVN: svn co svn+ssh:///host/path/to/repos/trunk repos

    All that's left to do is get used to the different keys. Oh, and instead of doing a 'svn up' before committing, use 'svn status' -- it actually does something useful.

    I don't see a compelling reason not to switch.

  93. Re:How is this news? GNU Arch 1.1 already does mor by Anonymous Coward · · Score: 0

    Which is easier, adding a thin compatability layer between the host filesystem and an Arch-like implementation, or creating an entire opaque versioned filesystem from scratch, which completely ignores any existing features of the filesystem, indeed, any existing research in source code management?

    The Subversion team, unfortunately, did the latter. They could've done the former in less than a year (step 1: come up with a good CVS-like interface, step 2: implement an Arch-like architecture that uses the filesystem, step 3: implement the missing parts on Windows.. the trickiest is the way POSIX files work, but others have done it already).

    The only advantage to Subversion's "architecture" is the hype.

  94. Moderators on Crack by Anonymous Coward · · Score: 0

    This is why I always metamoderate negative mods as unfair.

    1. Re:Moderators on Crack by Anonymous Coward · · Score: 0

      Huh?

      What did the moderators do wrong, and why does MMing negative mods as unfair help?

  95. Re:Not bad, but... by Anonymovs+Coward · · Score: 1
    For libraries, if you like, there's always LGPL.

    Stallman himself knows better. I noted zlib in another post; more recently, he supported the licence switch of the Ogg Vorbis libraries to the BSD licence. Even now, it's hard enough to push vorbis to commercial companies; LGPL wouldn't have had a prayer.

  96. OT: good sig link by killthiskid · · Score: 1

    Yeah, definately OT, but just to let you know -after-, that is a great sig link. Thanks!

  97. Re:Not bad, but... by Anonymous Coward · · Score: 1, Insightful

    I think that some people can get angry when code under the bsd licence is used in a closed source project

    Such people need to stop worrying about how other people's work is used, especially when they specifically permit that use.

  98. Re:How is this news? GNU Arch 1.1 already does mor by Anonymous Coward · · Score: 0

    I thought I saw a native build of arch for windows systems, or am I missing something?

  99. Re:Don't suppose there's a Visual Studio plugin ye by jabbo · · Score: 3, Informative

    There is: AnkhSVN.

    VS.NET plugin. (project page, with downloads, normally here but currently blown away by the load. Maybe grab it from the Google cache of the page but that too seems to be overloaded. Oh well. You could always use TortoiseSVN instead.)

    There was an old VC++ plugin "Subway" but it sucks.

    --
    Remember that what's inside of you doesn't matter because nobody can see it.
  100. What about permissions. by k_head · · Score: 1

    In CVS you could set the ownership of each project to a particular group to control commit access. Can you do something similar in SVN?

    --
    The best way to support the US war effort is to continue buying American products.
    1. Re:What about permissions. by Eric+Smith · · Score: 2, Informative
      In CVS you could set the ownership of each project to a particular group to control commit access. Can you do something similar in SVN?
      I'm not sure about doing it using the WebDAV/Delta-V access method, but you can do it using the subversion native network protocol tunnelled over SSH.

      I have my Subversion server configured with a "svn" user, and a group for every project. Each user belongs to the appropriate groups. The authorizedkeys files have the user keys and a command to automatically run svnserve.

      The repository directories and files are owned by user "svn" and the appropriate group. The setgid bit on the directories are set so that when Berkeley db4 creates additional log files, they end up owned by the correct group.

    2. Re:What about permissions. by mgm · · Score: 1

      If you use Apache to network your Subversion repository, you can leverage all of the access control mechanisms that Apache already provides. Basically you can do per-directory access control for Subversion in the same way you'd do it for standard directories on a website.

      Using Apache also allows you to leverage SSL, wire-compression, etc, etc, that the basic svnserve server doesn't support. svnserve is still a good starting point for most organisations however -- over a LAN where you don't need encrypted traffic and basic username/password authentication will do.

      More info in the book, as always: http://svnbook.red-bean.com/html-chunk/ch06.html#s vn-ch-6-sect-1

    3. Re:What about permissions. by rbolkey · · Score: 1
      I'm not sure about doing it using the WebDAV/Delta-V access method, but you can do it using the subversion native network protocol tunnelled over SSH.


      There may be a better way, but the way I do that is to edit location authentications in httpd.conf (group or user). In TortoiseSVN's documentation they describe how to authenticate to a domain controller, which is what I've set up, and has been working like a charm.
  101. A couple of factual corrections. by kfogel · · Score: 5, Informative

    Not sure why the original poster said Subversion came from "the people who maintain CVS". They are two separate developer groups -- as far as I know there is no overlap between the currently active developers of CVS and Subversion.

    Also, he was early :-). Subversion 1.0 wasn't actually out yet when he posted. We had released a beta prerelease, and were careful to say that 1.0 itself wouldn't be out till Monday. Oh well, win some, lose some.

    Anyway, it's almost Monday now, so check back soon at http://subversion.tigris.org/.

    --
    http://www.red-bean.com/kfogel
  102. What I would like to see. by k_head · · Score: 1

    1) fine grained ACLs. The ability to control who commits and who does not.
    2) Support for code reviews. In other words conditional commits or a commit que where code sits waiting to be reviewed. There should be ACLs regarding who can review too.
    3) Support for builds and tests. The commit should not occur until the code builds and tests OK.

    --
    The best way to support the US war effort is to continue buying American products.
    1. Re:What I would like to see. by noselasd · · Score: 1

      mod_autz_svn provides fine grained ACL.

  103. Installation for BerkeleyDB, Apache, Subversion by thelenm · · Score: 5, Informative

    I had such a fun time the other day installing BerkeleyDB 4.2, Apache 2.0.48, and Subversion 0.37 from source. It just took me way too long to figure out the right configuration options to get the Subversion server installed correctly, so here are my notes. They're mostly stolen from somewhere on the Web (don't remember where), modified a bit with things I learned along the way. If this is useful to you, great.

    1) Download, build, and install Berkeley 4.2.52 with the default location; this is as simple as:

    $ cd db-4.2.52/build_unix
    $ ../dist/configure
    $ make
    $ su
    # make install

    make sure LD_LIBRARY_PATH includes /usr/local/BerkeleyDB.4.2

    2) Download Apache 2.0.48 tarball and build it with the defaults:

    $ cd httpd-2.0.48
    $ ./configure --enable-dav=static --enable-so=static --with-dbm=db4 --with-berkeley-db=/usr/local/BerkeleyDB.4.2
    $ make
    $ su
    # make install

    3) Download a Subversion tarball (e.g. subversion-0.37.0.tar.gz) since that comes fully formed:

    $ cd subversion-0.37.0
    $ ./configure --with-berkeley-db=/usr/local/BerkeleyDB.4.2
    $ make
    $ su
    # make install

    And then follow the directions for configuring Apache, which could be as simple as adding the following:

    <Location /repos>
    DAV svn
    SVNPath /absolute/path/to/repository
    </Location>

    --
    Use Ctrl-C instead of ESC in Vim!
    1. Re:Installation for BerkeleyDB, Apache, Subversion by Anonymous Coward · · Score: 0
      "
      DAV svn
      SVNPath /absolute/path/to/repository
      "


      Unless, of course, you care about auditing and security. In that case, you have to do a bit more work.

      I *do* however, like the Apache integration a lot. We use the standalone svnserve too - stable and fast as hell.

    2. Re:Installation for BerkeleyDB, Apache, Subversion by jdavidb · · Score: 3, Informative

      make sure LD_LIBRARY_PATH includes /usr/local/BerkeleyDB.4.2

      Gah! Don't use LD_LIBRARY_PATH. Instead you should be setting LD_RUN_PATH when you compile applications that will use the Berkeley DB library.

  104. success story by Anonymous Coward · · Score: 5, Interesting

    We replaced 2 huge SourceSafe and 8-10 enourmous CVS repositories with Subversion.

    We kept dual copies for about two weeks before feeling concident (only two projects was actully active, but with > 140 developers).

    This was in the 0.27 version and haven't had a single glitch!!! And 1.0 is even better, of course.

    My only complaint is not supporting locking, but this is obvisouly on the way. Nice for stuff like Word documents and UML files.

    GO SUBVERSION!!! Also try TortoiseSVN... it's the best client and integerates nicely with the explorer. If you use Linux, there are lots of options too.

    1. Re:success story by DarkDust · · Score: 4, Informative

      Yes, I can confirm that. We're working with SubVersion for almost one year now, and it's a really reliable version control system. I simply love it :-)

      The only problems we've had so far were due to bugs in the Berkeley DataBase which were resolved simply by upgrading BDB and SubVersion.

      The beauty of SubVersion is its speed compared to CVS and low diskfootprint when it comes to versioning binaries. In CVS, every change to a binary file causes the complete new version of the file to be appended in the repository (AFAIK). Thus, if you change a 10kB binary file five times, the RCS file will be about 50kB. Not so in SubVersion, it handles binaries very efficient.

      Another speed-issue of CVS is that when you're working remotely your whole working copy needs to be transmitted to the server and the server checks what changed. Obviously this is a bandwidth and time eater. SubVersion stores a copy of the last checked out version on your disk and thus already knows what changed and only transmits these changes. This means your working copy is always double the size but this trade-off is one of the reasons why SubVersion is really fast even with very big repositories.

      I know what I'm talking about, the repository I maintain is now 2.8GB in size :-)

      What I'm really looking forward to is when SubVersion supports SQL based databases like PostgreSQL or SAP DB. That will be a killer feature, but don't hold your breath, the SubVersion folks say it'll take a significant amount of work to do this but they want to implement this eventually.

  105. Get your facts straight. by Anonymous Coward · · Score: 5, Interesting

    I'm glad to know an informed statement like "Arch is crap" and limiting its user base to "3 brain dead people" can get moderated to +1 so easily at Slashdot.

    First, to address your claim on GNU Arch's quality, I'd like to point out that it's not meant as a correctional to CVS like SVN is -- the best description I've heard of it is as a formalization and automation of the development process that the GNU project used before Cygnus introduced networked CVS as an easier but more limited method.

    One of Subversion's most important features in my mind is that of whole source patches (I think they may call them atomic patches or something). Good job SVN team (this is in all seriousness; I'd be foolish to wish harm on any F/OSS project). However, they've fallen down in the much more critical area: providing distributed development.

    If CVS and SVN are the Cathedral, Arch is the Bazaar. When SCO posted their "Reasons to use SCO UNIX" list, one of the items was (paraphrased) "A single vendor" which most people criticized as being "a single point of failure" and I fail to see the difference in using a CVS or SVN archive. Witness the damage caused by Savannah getting compromised -- what if the same had happened to Sourceforge? (Arch has added GPG signed archives to address this issue.)

    The freedoms held so dearly by the GNU project and the FSF are our freedom to make changes, but with centralized development tools like CVS and SVN, third party developers are second class citizens at best forced to get permission from the maintainers to make any changes -- patches must either be submitted via email or the client must ask permission to get added to the permissions list.

    I don't like that.

    And I'm sure many other people don't -- how many projects in our history have been forked because people had too much difficulty getting their patches into version control? Would OpenBSD have forked if Theo de Raadt could have still submitted his patches to NetBSD? Would EGCS have forked if the GCC steering committee could have gotten their patches in? Would Keith have forked X? Would XEmacs have forked FSF Emacs? The list goes on...

    People don't like being treated like shit, and if you're going to treat them that way, expect them to do the same to you. Hackers are just like any other artisan -- they're proud of their work and if you treat it poorly, they consider it an insult to them. You don't necessarily need to accept someone else's patches into your own code, but you still need to respect their right to have their patches treated just the same as yours are treated (just think Voltaire as a modern day hacker: "I may not agree with what you code, but I defend to death your right to code it.")

    As for the user base, aside from being self hosting, projects that are maintained using Arch include Rhythmbox, Squid, Xouvert, Y Windows (or so I'm told), and a few others (at least some other GNOME projects IIRC). GNU Emacs has added arch-tag lines to the source code to facilitate a change in the future, and the Linux source code is mirrored under Arch (a change from Linus to arch is pending *at least* some speed increases on large source trees and probably some more support/documentation).

    I'd tell you to read some background on projects before making your stupid claims, but this is Slashdot so I don't know what the point is. Readers, please mod down the parent.

    -jivera

    1. Re:Get your facts straight. by Anonymous Coward · · Score: 0

      If Arch is so good, why is there no Debian package? What, no Red-Hat package either? I bet there's a Gentoo package, eh?

      Sorry but I have a problem with projects that are not accepted into well established products. Or any products at all.

      Many of the full blown GNU projects suck horribly. They never get anything done and the results look like stuff we had 10 years ago (cough *HURD* cough).

      I've been using SVN on production systems for at least a year. No problems.

    2. Re:Get your facts straight. by Anonymous Coward · · Score: 0

      If Arch is so good, why is there no Debian package?

      It's in testing -- look for 'tla'.

      What, no Red-Hat package either?

      There are rpms for arch floating around -- I'm sorry that RedHat hasn't accepted any for distribution in FC yet.

      I bet there's a Gentoo package, eh?

      I wouldn't know, but 'tla' is entirely self-contained in the distributed tarball -- download and build it yourself. I don't see why you would use Gentoo if you're not willing to download the source and run "../configure && make". (It has no external dependencies so there's no concern about the usual dependency hell people go through to maintain binaries they build from source.)

      -jivera

    3. Re:Get your facts straight. by Anonymous Coward · · Score: 0

      I'd tell you to read some background on projects before making your stupid claims, but this is Slashdot so I don't know what the point is.

      The problem is that Tom Lord himself pops up on Slashdot from time to time and trolls away about arch. He even tried it on the subversion dev list, IIRC, basically saying "why don't you throw all that in and pay me to write arch for you?". I hope he's changed his ways but in the past he's been the biggest PR problem arch has.

      In any case, I don't get your point. One central repository is bad, forks are bad, but with arch you can all commit to your own personal copy of the repository? Isn't that the same as having your own personal fork?

    4. Re:Get your facts straight. by Anonymous Coward · · Score: 0

      So you mean to say that source repositories, per se, should be world-writeable?

      Apart from the fact that you can easily set up CVS or SVN to be just that, I'd like to see you managing a world-writeable source base with even *some* public visibility. Good luck.

      (Whether your repos is world-writeable or not should be your decision as project lead, just as the decision whether to use the GPL or not. Fascist.)

    5. Re:Get your facts straight. by Anonymous Coward · · Score: 0

      I never said that archives should be world-writeable -- not even the arch developers do that.

      The way arch is typically used is someone sets up their world-*readable* archive which they do their development in. Other hackers are invited to branch this archive and add their own patches in hopes of eventually getting merged back into the main branch. No one but the person who creates an archive has write permissions to that archive (in the recommended development methodology -- it's entirely possible to emulate CVS/SVN behaviour by giving out write permissions to additional individuals).

      The main branch hackers don't need to give disk space or any file permissions to the other hackers for them to branch the source code so if other people want to add their own features, its transparent to you unless they make their changes public in which case you are free to choose whether to integrate those patches or not. If they try to make destructive changes or something, all you need to do is ignore them and your archive is no different than if they hadn't branched your code.

      -jivera

    6. Re:Get your facts straight. by Anonymous Coward · · Score: 0

      Uh, my point was, it's not really in any distributions.

      Even a lot of half-assed stuff is in many distributions because they have a future.

      Arch has no more of a future than the HURD does.

    7. Re:Get your facts straight. by Ectospheno · · Score: 0

      Try posting as someone other than an anonymous coward.

  106. Breaking own release policy?? by lifeless · · Score: 1

    Ok, So I'm confused. http://subversion.tigris.org/project_issues.html says that 'Severity is represented in the Priority field. Here is how priority numbers map to severity:

    * P1: Prevents work from getting done, causes data loss, or BFI ("Bad First Impression" -- too embarrassing for a 1.0 release). '

    Yet, http://subversion.tigris.org/issues/buglist.cgi?re sort=1&component=subversion&issue_status=UNCONFIRM ED&issue_status=NEW&issue_status=STARTED&issue_sta tus=REOPENED&order=issues.priority shows 5 defects with severity P1.

    Thats kinda weird.

    1. Re:Breaking own release policy?? by Anonymous Coward · · Score: 1, Informative

      These are "post 1.0" issues. That is, stuff that has priority for the next release. It's kinda weird the list doesn't show that more clearly, but now you know....

  107. Good grief, it doesn't get any freer by xant · · Score: 1

    You've made two posts with the same apparent misconception. Subversion is not bitkeeper. Subversion is completely free. Its license is essentially MIT-ish. There's absolutely no concern by anyone that Subversion is restrictively licensed; especially when the current Linux SCS being compared to it is BitKeeper!

    --
    It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
  108. Re:How is this news? GNU Arch 1.1 already does mor by Eric+Smith · · Score: 1
    Arch doesn't compile under Mingw, even with hacking.
    That just means that you didn't do enough hacking.
  109. Oh great... by dargaud · · Score: 1

    ...I started using CVS yesterday. DOes that mean I need to forget everything already and start over with the new system ? Well, it looks slashdoted, so I guess I'll keep CVS for now. I'm only on page 3 of the manual anyway...

    --
    Non-Linux Penguins ?
  110. Comparison With Perforce by EventHorizon · · Score: 5, Informative

    A company I work for has a few hundred developers using Perforce. At home I've been using svn for a few months. Here's my quick comparison:

    Perforce:
    Pros:
    - Very fast. Very, Very, Very fast.
    - Stable
    - Decent cross platform support
    Cons:
    - Commercial (but not as expensive as BK)
    - Binary-only--we can't (easily) fix it.
    - Windows UI is a bit inconsistent
    - Requires manual checkout
    - Requires server for revert, diff, etc
    - Stores client state on server. Thus there are coherency issues--if you 'rm' a subtree on the client, the server still thinks the client has it, and 'p4 sync' will not refretch it. It took developers a while to grasp the need for 'p4 sync -f' in this situation.

    Subversion:
    Pros:
    - OSS License
    - More features than CVS (already covered)
    - Automatic file open (you can just start editing a file in a checked out module)
    - 'svn status'
    - Serverless revert, diff.
    - Short learning curve
    - Active developer/user community
    Cons:
    - Berkeley DB. Data does not seem to be very portable between different library versions. Yes, you can dump and reload, but the lack of binary compatibility is lame.
    - SVN Schema Changes. These also require manually dumping and reloading the repository. SVN developers claim schema changes will be rare as of 1.0. I've been through three so far... we'll see.
    - Berkeley DB. 50k in text takes 2-3MB in the DB. "Fortunately" there are arcane manual tools to prune it.
    - Performance. Not slow, but local svn is slower than LAN Perforce.
    - Berkeley DB. Twice I had to run db_recover when svn 0.36.0 locked up and/or refused to run. Tangential evidence suggests DB 4.2 fixed the bugs. Make frequent gzip'd backups of 'svnadmin dump' and you should be OK. Also test rigorously before you deploy--this is a 1.0, after all.

    1. Re:Comparison With Perforce by UTRules · · Score: 2, Informative

      50k in text takes 2-3MB in the DB?? I don't think so, dude. Which version of BerkDB are you using? I just added a 75k text file and, according to du, got an increase of 40k, so it's clearly doing some on-the-fly compression, not expansion. Adding an 80k binary file resulted in the DB growing by 92k, also a ratio I'm willing to accept. This is on a Mac, with I believe the 4.2 version of berkdb (the Mac version requires a newer version than on Linux).

    2. Re:Comparison With Perforce by curunir · · Score: 1

      Cons:
      ...
      - Requires manual checkout


      While it would be nice if you could turn it off, I love this feature of P4. I would much rather fire off an IM to another developer to ask him/her to check-in/revert a file so that I can edit it than to have to merge my changes because they checked in their changes before I did. Merging sucks. File locking makes things so much easier when you have more than a couple of developers working on a project.

      --
      "Don't blame me, I voted for Kodos!"
    3. Re:Comparison With Perforce by sevenseven · · Score: 1

      rtfm. it automatically stores deltas from revision to revision.

      --
      ...sie sind nicht grün
    4. Re:Comparison With Perforce by abelikoff · · Score: 1
      There is another very serious drawback of Subversion vs Perforce (SVN team promises to fix it in post-1.0 but we'll see). Perforce does have a merge subsystem that tracks merge history and uses it whenever cross-branch merges are made. SVN doens't doo that, which makes it basically similar to CVS in its [nonexistant] merge capabilities.

      Believe me, once you enter the realm of large-scale systems development with change propagation to multiple branches (e.g. prodfix being propagated to beta, alpha, and current development branches) you will want to track your merges.

      Another factor that makes me feel better about Perforce is the fact that it uses RCS format as a backend for actual data (metadata goes into a DB). If poop hits the turbine, I'd rather have something I can recover files from easily.

  111. Re:How is this news? GNU Arch 1.1 already does mor by lifeless · · Score: 1

    So, you haven't seen http://wiki.gnuarch.org/moin.cgi/Native_20WIN32_20 Support

    where you can download native, non-cygwin binaries have you ;)

  112. Re:Not bad, but... by evvk · · Score: 1

    Yeah, it has some nice features... and an absolutely crappy interface. Also the forced version numbering scheme and the need to have something that looks like an email address (developer@no.spam.invalid) in archive name are just brain damaged.

    For the distributedness, Arch rules, but Subversion is just so much more pleasant to use and doesn't try force any particular naming and versioning schemes on me like the fascist Arch.

  113. Great! by Anonymous Coward · · Score: 0
    only 5 or 6 more years and it will come close to the power and flexibility of SourceSafe. Viva OSS!


    (ok, go ahead and mod me a troll. in truth, i havent looked at this new incarnation of cvs yet and it may be quite good, but I spent two years concurrently using and administering CVS and SourceSafe at a university and commercial environment and i must say that CVS was absolutely horrible stuff that only those who were weened on it could appreciate)

  114. KDevelop supports Subversion natively by G3ckoG33k · · Score: 2, Informative

    KDevelop supports Subversion natively along with CVS, Perforce, and ClearCase.

  115. Re:Does Subversion require a UNIX account per user by Anonymous Coward · · Score: 0

    Or hey, maybe he could use a version control system with a sane security model rather than futzing about with all sorts of hacked up workarounds? Or is that too easy and obvious?

  116. All we need to do now by maroberts · · Score: 1

    is persuade Linus to use it instead of BitKeeper.

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

    1. Re:All we need to do now by Anonymous Coward · · Score: 0
      Curious how it compares to BitKeeper. Linus once said that he'd be happy to use an open source solution if a good one were available.

      I think "good" means that IBM, RedHat, and You and Me can all have a "master" repository that anyone else's can reparent too.

      Does SubVersion support this?

  117. You seem to have misunderstood me by Pan+T.+Hose · · Score: 1

    Granted, it would be great to finally see Subversion nicely integrated with SourceForge, but CVS (the current concurrent versioning system used by SourceForge) while lacking lots of essential (at least for experienced developers) functionality, is free software nonetheless. What I am most concerned about is whether this new version of Subversion is already good enough to use with Linux, so one could contribute without the need to choose between restrictive EULA and being a second class citizen. Does anyone know what features exactly does it still lack, if any, for Linus to accept? I hope it would be legally possible to accept now, but I might be wrong. [emphasis added]

    You've made two posts with the same apparent misconception. Subversion is not bitkeeper. Subversion is completely free. Its license is essentially MIT-ish. There's absolutely no concern by anyone that Subversion is restrictively licensed; especially when the current Linux SCS being compared to it is BitKeeper!

    You seem to have completely misunderstood me. I might have been not clear enough. Of course Subversion is free software, there is absolutely no question about that and that is exactly why I would like to see it being used in Linux development which, after all, is free software itself. What I am concerned about is the very license of BitKeeper causing lots of controversy[1][2][3] with the clause preventing the development of competing products, like the very Subversion we are talking about.

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
  118. Thank god they changed the name of the book! by Anonymous Coward · · Score: 0

    I've been using svn for years. Shortly after Sept. 11, I took a flight. The name of the Subversion book used to be "The Ultimate Guide to Subversion". I got more than a few looks while reading it in the airport!

  119. Re:Don't suppose there's a Visual Studio plugin ye by Dacmot · · Score: 1

    It's called AnkhSVN.

    Enjoy!

  120. Does Subversion Address This? by severoon · · Score: 1

    One problem I've had on every job with CVS is that, eventually, every long-running project has to support multiple versions. These invariably go off onto their own branches, and then you have whatever branching scheme for continuing development superimposed on these version maintenance branches and it ends up looking like a bunch of spreading cracks on a frozen pond threatening to swallow the whole project.

    I know there's a better way to handle this than CVS allows--does subversion implement it?

    sev

    --
    but have you considered the following argument: shut up.
    1. Re:Does Subversion Address This? by Entrope · · Score: 1

      It sort-of supports it. The problem is that all of them are visible at once. The recommended way to do this is something like:
      In your SVN FS, have /branches/${branchname}, /tags/${tagname} and optionally /head or /mainline or whatever you wish to call it. Do development under /head or a subdirectory of /branches. When you need to tag a version, "symlink" a copy under /tags.

      Did they mention that the only revision number is for the whole filesystem, though? In my mind, that is one of the most obnoxious things about the svn approach. Say mainline development is at revision 1234. Somebody commits a fix on a branch. Mainline development is now at 1235.

      For that and other reasons, I'll take arch any day of the week.

  121. Now it's official by mlock · · Score: 1

    From the mailing list:

    Subversion 1.0.0 is ready! Grab it from:
    http://subversion.tigris.org/tarballs/subversion-1 .0.0.tar.gz
    http://subversion.tigris.org/tarballs/subversion-1 .0.0.tar.bz2

    The MD5 checksums are:
    32f2c6e8c7f97587f19275c4e3219363 subversion-1.0.0.tar.gz
    ee14f19960c7fa9f2640ff04acdce804 subversion-1.0.0.tar.bz2

    Subversion is the work of many volunteers from around the world. It would be impossible to thank them all by name here, though they certainly deserve it. If you see a Subversion developer, documenter, or tester in the street, buy 'em a beer -- they've earned it.

    Thanks also to CollabNet, which started the Subversion project and continues to pay for three (and sometimes four) full time developers.

    Praise, blame, questions, and bug reports are all cheerfully accepted at
    users@subversion.tigris.org.

    Enjoy,
    -Karl Fogel

    Sorry about the formatting.

  122. Re:Not bad, but... by Cyclops · · Score: 2, Insightful
    This could have been immensely useful to a lot of commercial vendors, and Stallman knew it, so he used the GPL (not even LGPL) to try and "force" third party code to be GPL'd.
    Wrong. Stallman wants to impell PROPRIETARY towards freedom for their users, since readline is so useful, it has made some sofware become GPL because of it.

    Richard is happy that Free Software (GPL'ed or not) is sold commercially, either by itself or embbeded in services, what he isn't happy about is for software that has its users submit to the author.

    As a result, nobody outside the free software world uses it.
    All software should be free as in freedom, so I completely fail to see the problem here. Popularity is a shallow goal, so you should aim for freedom for everyone, instead of popularity. If you respect your users and your software is good, popularity will likely come.

    However, if popularity is your goal, you will likely start disregarding many good choices because they can be seen by some as not so popular...
  123. Linux Kernel by tacocat · · Score: 1

    Is this what the linux kernel development team uses? I know that a few years back they dumped CVS, but I thought it was for something proprietary and non-free, as in $$$$$

    1. Re:Linux Kernel by sevenseven · · Score: 1

      linux peeps use bitkeeper that has a bit more features suitable for large-scale development (out of the box distributed repos, changesets, etc). too bad bitkeeper's license is not suitable for commercial non-open source projects.

      --
      ...sie sind nicht grün
    2. Re:Linux Kernel by edmudama · · Score: 1

      linux peeps use bitkeeper that has a bit more features suitable for large-scale development (out of the box distributed repos, changesets, etc). too bad bitkeeper's license is not suitable for commercial non-open source projects.

      how is it not suitable? for non-open-source commercial products, you buy/lease your licenses, as you would with any other for-purchase tool.

      you want free tools to develop commercial non-open-source software? Then yes, you'd have to look somewhere other than BitKeeper

      --eric

      --
      More data, damnit!
  124. OT: Linux/BK by sploxx · · Score: 1

    If your statement is really true, isn't that quite a bit constraining to linux kernel development?
    This should not be a anti-BK-rant (I never used BK and can't say anything about it's qualities), but I think this would be a good argument against it. In the M$/SCO world, one expects such NDAs. But not in the Linux world.

  125. Gnu Arch may be nice by Anonymous Coward · · Score: 0

    But one big + for SVN over arch is the already existing huge number of integration tools for it.
    Eclipse:subclipse.tigris.org
    GUI: Rapidsvn
    Windows Explorer and Visual Studio: tortoiseSVN
    KDevelop3 already knows it out of the box...

    and probably a bunch of others
    Every version control system survives and falls with the level of third party integration and SVN is definitely already there, due to the huge number of people who simply want to replace CVS with something similar which does not have CVSs problems!

    Arch maybe better, but where are the tools?

  126. Re:Does Subversion require a UNIX account per user by miu · · Score: 1
    Or hey, maybe he could use a version control system with a sane security model rather than futzing about with all sorts of hacked up workarounds? Or is that too easy and obvious?

    Because integration with the system security model is a sane way to do things and a good default. A jail or chroot environment is a good compromise in that it does not require a new security model and lets the OP restrict source management users from accessing the rest of the system.

    --

    [Set Cain on fire and steal his lute.]
  127. Don't hate it - RTFM! by fforw · · Score: 2, Informative

    Does Subversion require a UNIX account per user?

    I've always hated that about CVS and Arch.

    from some online CVS documentation :

    It is possible to "map" cvs-specific usernames onto system usernames (i.e., onto system login names) in the `$CVSROOT/CVSROOT/passwd' file by appending a colon and the system username after the password. For example:

    cvs:ULtgRLXo7NRxs:kfogel
    generic:1sOp854gDF3DY:sp wang
    anyone:1sOp854gDF3DY:spwang

    Thus, someone remotely accessing the repository on `chainsaw.yard.com' with the following command:

    cvs -d :pserver:cvs@chainsaw.yard.com:/usr/local/cvsroot checkout foo

    would end up running the server under the system identity kfogel, assuming successful authentication. However, the remote user would not necessarily need to know kfogel's system password, as the `$CVSROOT/CVSROOT/passwd' file might contain a different password, used only for CVS. And as the example above indicates, it is permissible to map multiple cvs usernames onto a single system username.

    --
    while (!asleep()) sheep++
  128. +1 Civil by jlusk4 · · Score: 4, Funny

    I think we need a new moderation category.

  129. Turtles all the way down... by Anonymous Coward · · Score: 0

    > Many of these are folks who are stuck in a bizarre recursive process of accusation and counter accusation against
    > ....
    > Oh, wheels-within-wheel-within -- oh just take the blue pill!

    Great!

    Instead of being stuck in a wheel-within-wheel-within...(infinity times) of accusation/counter accusations.

    I'm now only stuck in a wheel-within-wheel-within...(infinity-minus-one times) of accusation/counter accusations.

    A few more blue pills and I'll be free! (BTW, can you spare infinity-minus-fifty blue pills?;-])

  130. Re:Not bad, but... by leandrod · · Score: 1
    > Stallman himself knows better. I noted zlib

    If you had really read Stallman, you'd know he supports using non-copyleft for fast popularity gains when the free implementation is competing with proprietary ones. When there's only a free implementation, he (and I) supports copyleft in order to give free software a competitive advantage over proprietary one -- that's the explanation for ReadLine.

    When the X Window System appeared, there was no competition whatsoever. Even now there is none that fits the bill. But there are proprietary derivations hoarded from the RI, and lots of proprietary components that makes free software life so much more difficult, esp. for RISC users. It is the same pattern that almost killed Unix BSD.

    --
    Leandro Guimarães Faria Corcete DUTRA
    DA, DBA, SysAdmin, Data Modeller
    GNU Project, Debian GNU/Lin
  131. Electronic Document Management System by dandel · · Score: 2, Interesting

    I know this is slightly off-topic, but I wonder if anyone is aware of an open-source Electronic Document Management System (EDMS). The specification for CVS/Source Control and a EDMS are very similar:

    - Document profiles
    - Full text indexing of all documents regardless of file type
    - Combined searching of both profile and full-text index
    - Integration with major software applications
    - Individual document security and the ability to secure whole categories (e.g. financial information)
    - Version control
    - Audit trail to see who has (accessed / changed / checked-out / printed) documents
    - Reporting on documents (all documents used by Joe Bloggs, all documents used within last 3 months)
    - Check-in/Check-out of documents
    - Local copies (Mirroring) so that you do not need a network connection (allowing laptop use)
    - Web-access to all documents

    I wonder if anyone knows of such a system?

  132. Re:If you need a nice subversion client on windows by pbur · · Score: 3, Informative

    There's also a (somewhat unrelated) project of the same ilk for CVS called, unsurprisingly, TortoiseCVS (different developers IIRC, same idea though, hence the similar name).

    Somewhat unrelated? TortoiseSVN is a straight mod of the TortoiseCVS codebase made to work with Subversion. Yes it's different developers, but the TortoiseSVN guys got a giant head start on TortoiseSVN by using the code from TortoiseCVS. It's mentioned on both sites. I use them both, they are amazing tools.

  133. 0? by mgkimsal2 · · Score: 1

    Are there any plans for a version of cervisia that works with subversion? Or does it already?

  134. Re:Don't suppose there's a Visual Studio plugin ye by rbolkey · · Score: 1

    Try out TortoiseSVN as well. I us VS.NET, and have come to prefer doing version control through Windows Explorer.

  135. cscvs by MisterBad · · Score: 1

    The URL for cscvs, for those who are wondering, is http://wiki.gnuarch.org/moin.cgi/cscvs . You need to have GNU arch access to download the source code.

    --
    Evan Prodromou | evan@prodromou.name | http://evan.prodromou.name/
  136. subversion self-hosting by bstil · · Score: 0, Offtopic

    Subversion itself has been self-hosting with Subversion since 2001. Subversion 1.0 source is currently hosted on Subversion 0.37.

    1. Re:subversion self-hosting by Anonymous Coward · · Score: 0

      how is parent offtopic? i've meta-moderated a lot lately and seen lots of bad mods, including this one.

  137. Re:How is this news? GNU Arch 1.1 already does mor by aled · · Score: 1

    How do they compare on documentation? I have seen that subversion comes with a free whole book.

    --

    "I think this line is mostly filler"
  138. The one problem with Subversion... Security. by Tadghe · · Score: 1

    Frankly, the one big problem I see with Subversion is that it, like many of the OSS SCM tools I see out there, has little to no sense of security. This is not a dig to the SVN guys, but how can I reccomend a tool that show so little thought with regards to security when that tool may be the only thing standing between our developers and someone sticking a backdoor/trojan/virus in a piece of code?

    From reading the svn book, the only login security I see that's really supported is HTTP Basic (I dont' see really any docs on SVN's own protocol with regards to this), which is a joke. Looking at it further I see you *could* try and use it with the various mod_auth_* modules (only the ones that work with apache2) , but only to the point where they mimic HTTP Basic.

    Unless someone reworks HTTP Basic so it has concepts like account lockout, proper account management, address restrictions (actually you can mimic that with htaccess parms, but it's a PITA), and decent logging, it's not a wise choice.

    Digging deeper, SVN uses db3/4 for it's storage, which again, has no idea of resource limitations or access restrictions (and doesn't handle large binaries check-ins well either).

    SVN looks like a decent SCM for a really open project, but it doesn't go nearly far enough in fixing the basic problems of CVS with regards to security. The last time I broached this with the SVN guys, the response was more or less "just tunnel it over ssh". That doesn't fix the basic lack of security in the SVN design, and doesn't work with many of the popular SVN add-ons.

    my .02c from someone who spent the better part of a quarter trying to find a decent OSS SCM tool to replace our CVS and QVCS repositories.

    --
    Bugs Bunny was right.
    1. Re:The one problem with Subversion... Security. by flink · · Score: 1

      I have an svn setup on Linux with Apache authenticating against a Windows ActiveDirectory domain via mod_auth_ldap. Sure it requests the user/password via the basic http auth protocol, but you can swap in whatever backend authentication scheme you want as long as it has an Apache module written for it.

      Also, I believe that svn supports client access certificates if you want to really lock down your repo.

    2. Re:The one problem with Subversion... Security. by Tadghe · · Score: 1

      I've seen this, and a company using the mod_auth_mysql plugin, the prob is that it still doesn't address the core fact that svn still really doesn't the issue that, add-ons (and that's really all the mod_auth_* plugins are) aside, it wasn't really designed with security as a primary focus.

      If I'm going to pitch a SCM tool for a company to use, it's got to have a decent security model, with good accountability. svn as it now stands, just doesn't cut it.

      I saw one guy pointing out after reading my post that people might want to read the SVN anti-fud faq. I'd highly agree, especially the parts about blanket read/write permissions for svn native protocol, or the parts about http basic......:).

      --
      Bugs Bunny was right.
  139. Re:Does Subversion require a UNIX account per user by freelock · · Score: 1

    No, it doesn't.

    Subversion has two different server options: svn+ssh, which does require a local Unix user account, and mod_dav_svn, which runs behind an Apache server.

    mod_dav_svn is really cool. You can use any Apache authentication module to authenticate users. There's a fine-grained authorization module that allows you to create groups, and designate read and write access to individuals and groups for particular directories in the repository. You can access the repository with any web browser, and many WebDAV clients.

    Very cool stuff. The main drawback is that you need Apache 2.0.48--doesn't work with anything earlier.

    --
    Open Source Solutions for Small Business Problems
    Freelock Computing
  140. Re:How is this news? GNU Arch 1.1 already does mor by Fnkmaster · · Score: 1
    Interesting, I should mention that is new in the last three weeks, as is the MSFU compile process. Previously the only option was Cygwin (not a real option for most of us, you can't exactly roll that out to a team of Windows developers). I never tried cross-compiling, spent a while hacking on the build process and source to get a native Windows MingW32 compile to work, I don't remember what the outcome was, but something critical was missing that b0rked the whole build process.


    My evaluation of Arch took place about two months ago and everything I said was true at that time.

  141. Arch monolitic? by Per+Abrahamsen · · Score: 1

    That a weird word to describe arch. The original implementation consisted of a couple of new general purpose utility to add to the Unix toolbox, and a bunch of shell scripts on top of them. That is as far from monolithic as you get.

  142. Close, but subtly incorrect by multipartmixed · · Score: 1

    It's incorrect in that you use the words "original file" like they have special meaning, but pretty well on track.

    Okay. Here's basically how it works.

    - When you create a file, you allocate a bunch of blocks on disk, and make a "hard link" to it. This "bunch of blocks" will be an inode, and some filesystem blocks (or block fragments). This "hard link" is just a directory entry. Also, the reference counter in the inode will be set to one.
    - A directory entry is just a special file which says "okay.. this file starts here, this one starts there..."
    - When you create a soft link, you're creating a file which basically says, "Hey, look at this file instead!". It is pretty much analogous to a 303 HTTP Redirect.
    - When you create a hard link, you're creating another directory entry which points to the same inode as when you created the file. You also bump the reference counter.

    Note that once you have a hard link, it is *indistiguishable* from the "original file".

    - When you open a file, the kernel "mentally" bumps the reference counter.
    - When you remove a soft link, nothing special happens, except the file containing the soft link is removed.
    - When you remove a hard link ("# rm filename"), you just remove the directory entry and decrease the reference counter.
    - When you close a file, the kernel "mentally" decreases the reference coutner.
    - When the reference counter is zero, the file system is free to reallocate the data blocks (or block fragments) for other purposes, and the inode for another file.

    Note that the open/close file behaviour is pretty important, too. This, for example, is why I like to erase temporary files as soon as create them. :) As soon as the file descriptor is closed *for any reason* the space becomes usable by the OS again. "any reason" can include the program puking, the power going out, etc.

    If you're interested in more details w.r.t. UFS, "man -s4 fs_ufs" on a Solaris machine.

    --

    Do daemons dream of electric sleep()?
    1. Re:Close, but subtly incorrect by cubic6 · · Score: 1

      That's pretty much what I meant, but it was 2am and I was too tired to go into refcounting and such. Thanks for clearing that up!

      --
      Karma: Contrapositive
  143. Third edition is out - in paper by Bill+Privatus · · Score: 1

    The dead-tree version is in third edition. I'm nearly done with it - I enjoy paper more than pixels for such subject matter.

    See O'Reilly if you're interested..

    --
    Redundancy is good; triple redundancy is twice as good! - Me.
  144. Re:Does Subversion require a UNIX account per user by M.+Baranczak · · Score: 2, Insightful

    Stop thinking like a UNIX programmer and start thinking like a non-technical person.

    What are you talking about? CVS isn't meant for non-technical persons. Never has been. It was designed as a tool for UNIX programmers.

  145. How to migrate from SourceSafe? by frankie · · Score: 1
    switched (over my objections) from CVS to SourceSafe. I didn't realize how bad SourceSafe was until we started having trouble

    Are there any easy-bake utilities for migrating from VSS to SVN (or CVS)? I am 50% of the non-Windows staff in my organization, so this would be a very hard sell. The plus of "no more license fees" is balanced by the minus of "it isn't from Microsoft". Switching must be seamless & painless. Yes/no?

  146. Re:Does Subversion require a UNIX account per user by BinxBolling · · Score: 1
    Stop thinking like a UNIX programmer and start thinking like a non-technical person.

    We're talking about a version control system targeted at programmers. Why shouldn't he think like a programmer, in this context?

  147. You are right by Pan+T.+Hose · · Score: 1

    If your statement is really true, isn't that quite a bit constraining to linux kernel development? This should not be a anti-BK-rant (I never used BK and can't say anything about it's qualities), but I think this would be a good argument against it. In the M$/SCO world, one expects such NDAs. But not in the Linux world.

    This is exactly my concern. There is even this question: Do you anticipate implementing a source management system in the next: [Please select] on BitKeeper's download form, where providing your real name and email address is mandatory.

    Let me quote Bitkeeper issue from Linux, GNU, and freedom by Richard M. Stallman:

    [...]

    Bitkeeper issue

    The use of Bitkeeper for the Linux sources has a grave effect on the free software community, because anyone who wants to closely track patches to Linux can only do it by installing that non-free program. There must be dozens or even hundreds of kernel hackers who have done this. Most of them are gradually convincing themselves that it is ok to use non-free software, in order to avoid a sense of cognitive dissonance about the presence of Bitkeeper on their machines. What can be done about this?

    One solution is to set up another repository for the Linux sources, using CVS or another free version control system, and arranging to load new versions into it automatically. This could use Bitkeeper to access the latest revisions, then install the new revisions into CVS. That update process could run automatically and frequently.

    The FSF cannot do this, because we cannot install Bitkeeper on our machines. We have no non-free systems or applications on them now, and our principles say we must keep it that way. Operating this repository would have to be done by someone else who is willing to have Bitkeeper on his machine, unless someone can find or make a way to do it using free software.

    The Linux sources themselves have an even more serious problem with non-free software: they actually contain some. Quite a few device drivers contain series of numbers that represent firmware programs to be installed in the device. These programs are not free software. A few numbers to be deposited into device registers are one thing; a substantial program in binary is another.

    The presence of these binary-only programs in ``source'' files of Linux creates a secondary problem: it calls into question whether Linux binaries can legally be redistributed at all. The GPL requires ``complete corresponding source code,'' and a sequence of integers is not the source code. By the same token, adding such a binary to the Linux sources violates the GPL.

    The Linux developers have a plan to move these firmware programs into separate files; it will take a few years to mature, but when completed it will solve the secondary problem; we could make a ``free Linux'' version that doesn't have the non-free firmware files. That by itself won't do much good if most people use the non-free ``official'' version of Linux. That may well occur, because on many platforms the free version won't run without the non-free firmware. The ``free Linux'' project will have to figure out what the firmware does and write source code for it, perhaps in assembler language for whatever embedded processor it runs on. It's a daunting job. It would be less daunting if we had done it little by little over the years, rather than letting it mount up. In recruiting people to do this job, we will have to overcome the idea, spread by some Linux developers, that the job is not necessary.

    Linux, the kernel, is often thought of as the flagship of free software, yet its current version is partially non-free. How did this happen? This problem, like the decision to use Bitkeeper, re

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
  148. Subversion Myths by ahbrown41 · · Score: 1

    Some of you may want to check out this site that discusses Subversion myths from a Subversion developer: http://www.red-bean.com/~sussman/svn-anti-fud.html

  149. SVN use at the ASF by gstein · · Score: 1

    and will probably move all of them over at some point.

    A bit more than probably :-). For security purposes, the ASF wants to transition away from shell accounts and SSH/CVS, towards SVN. Now that SVN 1.0 is released, we're going to start asking projects to (voluntarily) move into SVN. At some point in the future (year?), it will become a mandate and we'll completely disable CVS and the shell accounts.

  150. Re:OT: good sig link by after · · Score: 1

    I think I misinterperted you a little, but are you being sarcastic? What do you mean?

  151. s/CVS/SVN/ by cduffy · · Score: 1

    as a snapshotting system such as CVS is inclined to do

    Gah! Meant "a snapshotting system such as SVN".

  152. Trac - Issue tracker and interface to Subversion by dln_edgewall · · Score: 1
    On a related note to Subversion 1.0, you might be interested in our new (GPL:ed) product / open source project: Trac.

    It's a minimalistic issue tracker for software projects based on Wiki and Subversion (with later support for Arch and CVS planned), written in python.

    Trac has browsing of Subversion repositories, viewing diffs/changesets and allows judicious hyperlinking between bug reports, commit-messages and

    If you've seen cvstrac or viewcvs, you'll be familiar with the concept.

    Check it out at http://trac.edgewall.com/

  153. Not even peephole by tepples · · Score: 1

    I'd love to see a credible source for your "slow as a scripting language" claim.

    I can't provide a URL at this time, but we're talking writing a register to memory and reading again from the same memory location right back into that register. According to an article I read about Proebsting's Law (compiler technology progresses roughly 12 times more slowly than integrated circuit density, that is, about 18 years to double), most other modern compilers do at least peephole optimization (eliminating redundant store/load pairs for non-volatile variables) even on their -O0 (optimize zero) settings. Compiling each subexpression into its own independent basic block works well for debugging but not for compiling production software.

  154. Digital restrictions management in the BIOS? by tepples · · Score: 1

    If you can't load a kernel through the BIOS boot service, that machine should never have shipped.

    If a BIOS can load only vendor-signed kernels, per specification, should the machine ever have shipped?

  155. Optimized? by tepples · · Score: 1

    Assuming that I can open a hole in the firewall long enough to allow SDK Update to run through Microsoft Internet Explorer, does the compiler included with the Platform SDK include even the most basic optimizer? I've read that Microsoft has been distributing C++ compilers without even a peephole optimizer.

    1. Re:Optimized? by spongman · · Score: 1

      no, but you can download the SDK and drop in the eval verison of intel's compiler.

  156. Can't switch to Windows just for Subversion by tepples · · Score: 1

    I have the standard edition (Version 6)

    I've already explained why I find the standard version of MSVC unacceptable. I'd rather run a UNIX app in Cygwin than run a Windows app built with a non-optimizing compiler.

    Sure that's 100 more than downloading a Linux distro and getting everything for free

    If I were to install GNU/Linux as a dual-boot just for developing projects that use Subversion or Arch, I'd have to buy at least a new video card (the Radeon driver included with Mandrake 9.2 didn't work with my Radeon 9000 card, and Knoppix ran unacceptably slowly using the default unaccelerated driver) and a new hard drive (mine's NTFS and near full). If I were to switch to GNU/Linux exclusively, I'd need a new scanner (Microtek Scanmaker 4800 series is listed in SANE as unsupported), and I'd lose the time (which is money) that I've spent on learning the ins and outs of the Windows applications that I have.

  157. Re:Not bad, but... by Sinterklaas · · Score: 1

    Wrong. Stallman wants to impell PROPRIETARY towards freedom for their users, since readline is so useful, it has made some sofware become GPL because of it.

    No, producing GPL'ed libraries compels every non-GPL developer to GPL their code (so they can use that library). There is no exception for (say) BSD developers and you can hardly call them proprietary (using caps doesn't change that).

    All software should be free as in freedom, so I completely fail to see the problem here.

    That's your personal conviction, but I want to leave that choice up to consumers & developers. As a developer, I may choose a less restrictive license than the GPL because it suits my goals better. I don't particular fancy another argument over why Free is better than free, but it helps if you at least appreciate that other people may not share your views on this matter.

    Popularity is a shallow goal

    No, it isn't. Many great things can only be achieved by popularity. Democracy can only work if most people are allowed to vote and do so. A well educated populace is also highly desired and can only be reached by having a 'popular' education system. I also don't think that RMS considers popularity something beneath contempt, since he would be happy to have all the software GPL'ed.

    Perhaps you wanted to point out that popularity should never be the end goal, but it never is. There is always some underlying reason, in the case of BSD-like licenses:
    - Spreading good code
    - Popularizing a certain standard, concept, etc.
    - More people contribute
    - Personal satisfaction
    These are all perfectly valid reasons. There is nothing shallow about any of them.

  158. Re:Not bad, but... by Cyclops · · Score: 1
    No, producing GPL'ed libraries compels every non-GPL developer to GPL their code (so they can use that library). There is no exception for (say) BSD developers and you can hardly call them proprietary
    BSD style is friendly towards proprietary software...
    As a developer, I may choose a less restrictive license than the GPL because it suits my goals better
    interesting food for thought... those goals might include something like allowing some to take freedom from their users?

    Popularity is a shallow goal
    No, it isn't. Many great things can only be achieved by popularity.
    Popularity is something you might deserve upon your good deeds, and that might help you do more, but never as a goal.

    Democracy can only work if most people are allowed to vote and do so. A well educated populace is also highly desired and can only be reached by having a 'popular' education system.
    You're mixing apple with oranges. Are trying to deliberatly influence others into thinking I'm agains Democracy? I seriously hope not.

    People don't vote because they are popular but because it's their right to participate in Democracy, and voting on THAT guy only because he is popular is a perversion of Democracy. You should vote on the guy who you think represents your interests best.
    I also don't think that RMS considers popularity something beneath contempt, since he would be happy to have all the software GPL'ed.
    Your problem is that you confuse goal with reward.
    Stallman's goal: freedom for _all_ (yes, all, that's why GPL is so important), not just those who got the code with a Free license like BSD.
    His reward: popularity for being one of the most important freedom fighters of nowadays.

    Perhaps you wanted to point out that popularity should never be the end goal, but it never is. There is always some underlying reason, in the case of BSD-like licenses:
    Oh really? Let's look at your examples:
    - Spreading good code
    Spreading -> popularity

    - Popularizing a certain standard, concept, etc.
    Popularizing -> popularity

    - More people contribute
    More people -> popularity

    - Personal satisfaction
    If your goal is popularity, of course you'll be satisfied, all you said were goals of popularity, and none of doing something good which results in popularity...
  159. Re:Not bad, but... by Sinterklaas · · Score: 1

    BSD style is friendly towards proprietary software[...]those goals might include something like allowing some to take freedom from their users?

    Your logic is flawed, since it also be used to promote a police state. Due process of law, public trials and no torture coerced confessions can all hinder the prosecution of criminals (and are thus 'friendly' towards criminals). However, I feel that the downsides of a police state are too great.

    Proprietary code can lead to abuse, but there are also a great many closed source applications with which I have no problem. I also feel that the GPL is far from perfect for every situation and that some software would never be build if the GPL was the only option. So I simply don't think that the abuse of software users is important enough to accept these downsides.

    You're mixing apple with oranges. Are trying to deliberatly influence others into thinking I'm agains Democracy? I seriously hope not.

    No, the point is that popularity can be immensely important. In that regard, popularity can be a very important goal if you want to achieve something (assuming a hierarchy of goals).

    People don't vote because they are popular but because it's their right to participate in Democracy, and voting on THAT guy only because he is popular is a perversion of Democracy. You should vote on the guy who you think represents your interests best.

    That's not what I meant. My point is that a democracy only works if voting is popular. It cannot work if only an elite few bother or are able to vote. In the context of democracy, popularity is not shallow.

    Your problem is that you confuse goal with reward. Stallman's goal: freedom for _all_ (yes, all, that's why GPL is so important), not just those who got the code with a Free license like BSD.
    His reward: popularity for being one of the most important freedom fighters of nowadays.


    Every reward can be a goal. I can't judge RMS' ego, but personal popularity is desired by many, so he might see that as one of his goals. But anyway, that was not the kind of popularity I was talking about. I was talking about popularizing the GPL, which seems to be a valid goal to you.

    Oh really? Let's look at your examples:
    - Spreading good code
    Spreading -> popularity

    - Popularizing a certain standard, concept, etc.
    Popularizing -> popularity

    - More people contribute
    More people -> popularity

    - Personal satisfaction
    If your goal is popularity, of course you'll be satisfied, all you said were goals of popularity, and none of doing something good which results in popularity...


    'Spreading good code' uses the popularity of software components to increase the quality of software. Popularity is a means.

    'Popularizing a certain standard, concept, etc' is what you do when you want people to use something great. A good example is the TCP/IP-stack. Once upon a time that was new and a BSD'd TCP/IP-stack made it easier for that standard to spread. The end-goal might be to allow computers to communicate. Popularizing TCP/IP is a means to reach that goal.

    'More people contribute' to improve the product in one way or another. The end-goal is that the value of the product increases. An example is the open sourcing of Linux, Linus could never have done all the work himself to get Linux to where it is today. Popularity is a means to get these contributions.

    'Personal satisfaction' is especially important to open source developers who work in their spare time. Helping people seems like a worthy goal to me and the more popular your software is, the happier you may feel about your work (since you help more people).

    Popularity is always the means to reach another goal in these cases.

    all you said were goals of popularity, and none of doing something good which results in popularity...

    I hope that you changed your mind about that.

  160. Re:If you need a nice subversion client on windows by nmg196 · · Score: 1

    It's extremely important if you use Visual Studio.NET to get the VS.NET edition of TortoiseSVN. VS.NET hates the ".SVN" folders that TortoiseSVN creates, so the VS.NET version of TortoiseSVN uses "_SVN" folders instead.

    I've been using TortoiseSVN and Subversion RC1 for a while now and I can't really fault it... Way less headaches than I had with working with the mature CVS system!

  161. Why convert old CVS stuff by SLOGEN · · Score: 1

    I've setup SVN to replace CVS at 2 companies now, and they're both very happy.

    Here's what I say:

    * Just leave the old CVS data where it is, you can always use your old methods to get hold of it...

    * The most precise record of how the past (which was recorded in CVS) was is in ...... CVS

    * When starting a new project --- use subversion, and move the components required for that project from CVS to subversion --- minimum work, maximum benefit

    --
    SLOGEN [ http://ungdomshus.nu : Sebastian cover music]
  162. Re:Does Subversion require a UNIX account per user by cduffy · · Score: 1

    Also, because it isn't filesystem-backed, there is no need to have one system account per SVN account.

    Bogus. Arch is filesystem-backed, but if it's used through WebDAV, Apache's user authentication can be used there too.

  163. Re:How is this news? GNU Arch 1.1 already does mor by Kourino · · Score: 1

    The biggest downside to arch is user interface and documentation. I hate to say it, but it's true. Obscure error messages is one of arch's biggest problems, and command names and syntax are sometimes not consistent. Focus thus far has been on functionality; user interface cleanups will probably start in earnest after GNU Arch 1.2 is released, which shouldn't be too far off.

    There is, however, a fairly decent Arch tutorial called "arch meets Hello World", and if you like wikis, there is a more or less official GNU Arch wiki. (Even if you don't like wikis, there's good information here.) Each tla command will give you short usage if you specify --help as an option, and more info if you give -H.

  164. Re:How is this news? GNU Arch 1.1 already does mor by Kourino · · Score: 1

    Ah, I didn't know about mingw. Well, that's too bad.

    As a point of curiosity, what if that installer shipped the arch binary and cygwin.dll, but just didn't tell you? That's really all arch needs. Since all you'd have to do is ship the binary, install it in (say) C:\tla, and put the Cygwin DLL also in C:\tla, if an installer did that for you, would that be enough?

    (tla works fine for non-distributed Open Source projects too, speaking from experience ... ^^; )

  165. Ok, so now it's feb 28 by lorcha · · Score: 1
    So I'm a little behind on /. :) But if you look here, you'll see that Debian is already at 1.0.0 for unstable.

    That wasn't so bad, was it?

    --
    "Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent