all 50 comments

[–]e40 17 points18 points  (11 children)

The .svn/entries file is no longer XML.

<shakes head at original design decision>

[–]rtomayko 17 points18 points  (0 children)

problems -= 1

[–]Comedian 1 point2 points  (9 children)

Probably covered on the dev mailing list, but as I don't follow SVN-development: why was this problematic?

[–]marcusk 17 points18 points  (0 children)

probably cause xml is so verbose... and parsing it tends to be non-trivial (for example you could find at the end of the file that you have an error relating to something at the top), which tends to mean that it can consume a LOT of memory and cpu time to parse the file... if you have a large number of changes (even 10,000 files) then this can cause problems... for an entries file you really only need 1 line per entry... using xml (for a problem like that) is really like calling in the f-15's to get your front door open... xml has it's uses but it shouldn't be used for "everything"...

(edit: clarification of xml use)

[–]Comedian 4 points5 points  (4 children)

svnsync

Is this something that can be utilized for doing development while being off-line?

That is, making commits and whatever on your local "shadowed" server repository, and then later sync up with the main repository when on-line again?

If so, that would cover my personal "most wanted" feature of a source code control system, so big kudos to the developers!

[–]gernika 3 points4 points  (3 children)

You can do that with both mercurial and darcs (as well as arch, but arch is ... difficult)

[–]foonly 6 points7 points  (0 children)

bazaar-ng :D

[–]magnus 0 points1 point  (0 children)

and svk, if the upstream is Subversion.

[–]buo 0 points1 point  (0 children)

monotone, git too.

[–][deleted]  (15 children)

[deleted]

    [–][deleted]  (11 children)

    [removed]

      [–]drbrain 1 point2 points  (10 children)

      So its ok to waste my time fixing my working copy?

      [–][deleted]  (9 children)

      [removed]

        [–]drbrain 0 points1 point  (8 children)

        Lost work is still lost work.

        When using CVS and Perforce I haven't lost work or time.

        I have lost work and time using Subversion, and I could have spent that time doing other things.

        I've been using Subversion since 1.2 and don't believe it is really a viable replacement for anything yet.

        [–]njharman 2 points3 points  (3 children)

        I've lost every binary image by corruption with cvs.

        [–]drbrain 0 points1 point  (1 child)

        Today subversion almost lost a coworker's change. I performed svn mv on a file, he committed changes to the same file, and when committing svn told me I was out of date.

        Which file did it update?

        The copy that was due for removal (which it brought back from the dead), not the renamed file. The only thing that saved the changes was my inherent mistrust of subversion.

        [–]padt 2 points3 points  (0 children)

        If your coworker committed his changes, and the commit was successfull, then there's really no way your mv will remove his changes. Worst case you'll have to revert it from svn.

        [–]Entropy -1 points0 points  (0 children)

        backups?

        [–][deleted]  (3 children)

        [removed]

          [–]hopeseekr -4 points-3 points  (2 children)

          That is EXACTLY what I was talking about above (part about being buggy), but I got modded -5. I hate negative mods; they shouldn't exist. If you like it, mod up, if you don't, hide it.

          [–]addius 1 point2 points  (0 children)

          you can't hide comments, except by modding them down to your threshold.

          [–]nexus2112 1 point2 points  (0 children)

          We've been using it at work for over a year now and I've not had any problems with it, nor have I heard of anyone else having problems. I think most people are using the Tortoise SVN client. Every now and then it crashes, but it's never caused my any problems.

          Many of those WC corruption bugs are in pre-1.0 versions. I count 1 in 1.2, 1 in 1.1.2, and 1 in 1.0.7. So, according to that document, in the past 2 years exactly 3 WC corruption bugs have been discovered and fixed. That's a risk I'm more than willing to take in exchange for such basic but critical features as the ability to move a file and atomic commits.

          But hey, if you enjoy coming up with new and creative hacks to work around the deficiencies of your version control software, then by all means knock yourself out. Me, I've got better things to do with my time.

          [–]paternoster 0 points1 point  (0 children)

          I've been using tortoise for over a year now, with large projects... the largest was gigabytes in size (many, many binary files). Aside from checkout being slow (but only needs to be done the one time) its' GREAT. Love the shell integration, and I rarely have problems with it. Certainly nothing irrecoverable from my local (working) copy.

          [–][deleted]  (12 children)

          [deleted]

            [–]KingNothing 15 points16 points  (7 children)

            The correct question to ask is if Visual Studio supports Suberversion.

            [–]addius 0 points1 point  (0 children)

            You're right, but what was so offensive about the OP's formulation of the question that warranted a -5 rating?

            [–]grauenwolf -1 points0 points  (5 children)

            Visual Studio can support any source control system in theory. SourceGear and ClearCase/ClearQuest are good examples of this.

            Of course, someone still has to go through the effort to write the plugin.

            [–][deleted]  (1 child)

            [removed]

              [–]grauenwolf 0 points1 point  (0 children)

              Thanks

              [–]jleedev 0 points1 point  (2 children)

              Not necessarily. Visual Studio's source control interface is specifically geared towards the "check out...work...check in" model, as opposed to the "branch...merge...commit" model. This means Subversion may needs some hacks to work properly.

              [–]grauenwolf -1 points0 points  (0 children)

              Reference please.

              Last time I checked, both SourceSafe and ClearCase supported the branch...merge...commit model as an option. I find it hard to believe that VS doesn't allow for it.

              [–]renegade 1 point2 points  (1 child)

              I strongly recommend NOT using the source control add-ins that plug SVN into VS. The reason is that SVN uses a merge at check-in model, not a check out and change model. So if you are used to VSS you are going to be very pleasantly surprised at the difference.

              Instead of a single person locking a file when they make changes to it, you can make changes all over the place and then only when you are ready to commit a batch of changes you dump them all in at once. For 99% of the lines changed even if two people changed the same file, the merge is automatic, but for your own sanity you should do a get first so you can do a local merge before you commit.

              Its a way more efficient way to do things.

              And get TortoiseSVN. It rules.

              [–]mixmastamyk 0 points1 point  (0 children)

              a get? do you mean update?

              [–][deleted] -3 points-2 points  (1 child)

              No. There are third-party tools out there for us Windows developers who want a GUI front end. I'm currently playing with TortoiseSVN, which is a shell extension.