Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Source control redux

Source control redux

Scheduled Pinned Locked Moved The Lounge
helpquestionannouncementcomtesting
99 Posts 40 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Member 96
    wrote on last edited by
    #1

    Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


    Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

    G P J E M 31 Replies Last reply
    0
    • M Member 96

      Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


      Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

      G Offline
      G Offline
      ghle
      wrote on last edited by
      #2

      WinZIP?

      Gary

      1 Reply Last reply
      0
      • M Member 96

        Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


        Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

        J Offline
        J Offline
        Judah Gabriel Himango
        wrote on last edited by
        #3

        To borrow one from Mr. Spolsky, I really think you'd be smuggy smug smug with Subversion and the Tortoise SVN shell extension. We've used it here to do exactly what Scott describes. It lets multiple people work in the same code file and it will merge automatically (unless you stepped on each other, in which case, you right-click and resolve it yourself using their built-in tool). It's been very solid for us.

        Tech, life, family, faith: Give me a visit. I'm currently blogging about: Sound The Great Shofar! The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

        P E M B 4 Replies Last reply
        0
        • M Member 96

          Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


          Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

          P Offline
          P Offline
          PIEBALDconsult
          wrote on last edited by
          #4

          One of my additional requirements is the ability to access the depository from work and home. P.S. When I mentioned archiving to CD yesterday I forgot to mention that I copy to a flash drive at the end of the day as well.

          1 Reply Last reply
          0
          • M Member 96

            Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


            Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

            E Offline
            E Offline
            El Corazon
            wrote on last edited by
            #5

            John Cardinal wrote:

            what source control systems should I look at for testing and suitability?

            My recommendation would be Subversion. You are a small shop, and you are accustomed to using batch files. Although I would normally recommend a visual client like Tortoise SVN or Rapid SVN, you could actually probably use the command line version just fine. Or if you are accustomed to using expolorer like interfaces for shooting off those batch files, Tortoise SVN might be a good idea. There might have to be some more questions when you know what to ask. The other reason I mentioned SVN (subversion) is that you said the branch and merge following releases. This is the main reason we are subversion. we branch and merge often because of multiple customers. So our release schedule is insanely often, but we can't drop a customer's changes just because we started working on someone else's project. Subversion has the best of the freeware source control, and better than most commercial ones. There are some commercial ones that are better, but they much clearer advantages for larger teams. SVN also has the svnsync which lets you mirror subversion servers. I don't know your server issue, but you could even run the server off one of the desk machines with the other desk machines being self-backups of the main server. I do recommend you keep you backups as you are used to doing the habit is good for backing up your subversion system. If the scripts are as comfortable as you say, you have a great advantage in that most people who set up subversion are trying to avoid backing up (which is dangerous). Trust, but verify.

            _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

            M 1 Reply Last reply
            0
            • J Judah Gabriel Himango

              To borrow one from Mr. Spolsky, I really think you'd be smuggy smug smug with Subversion and the Tortoise SVN shell extension. We've used it here to do exactly what Scott describes. It lets multiple people work in the same code file and it will merge automatically (unless you stepped on each other, in which case, you right-click and resolve it yourself using their built-in tool). It's been very solid for us.

              Tech, life, family, faith: Give me a visit. I'm currently blogging about: Sound The Great Shofar! The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #6

              Judah Himango wrote:

              It lets multiple people work in the same code file

              That's good, but it shouldn't be a frequent occurence if the files are kept small. The worst thing about C# 1 (in my opinion) was the lack of what's now partial classes; all classes should have been partial by default from the start (and there should be no partial keyword). The lack of partial classes leads to oversized files.

              J S B 3 Replies Last reply
              0
              • M Member 96

                Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


                Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

                M Offline
                M Offline
                Mike Dimmick
                wrote on last edited by
                #7

                We use SourceGear Vault[^]. We've generally been very happy with it. No loss of source code. It uses a SQL Server database to store the repository and history, so backing it up is simply a case of backing up the database and transaction log (once you have made a full backup, by default SQL Server assumes that you want a log backup chain [the Full recovery model] and retains transaction log records until backed up - if you don't back up the log, the transaction log just keeps growing). You should remember that whatever happens to your history, you still have the latest source on your developers' systems. You'll have to work some to merge it back together. Three years ago we used to work like you did - copy the whole source to a shared folder every night and whenever you've reached a suitable stopping point. Then we worked on a project that required three of us to work on the same deliverable simultaneously. It just wasn't feasible to do this by copying source files between developers. Slowly, source control has been adopted for every new project and as we work on older projects, they're brought in too. I've had to do concurrent development of a new version of a project and maintenance of the old one, which we did using branches and merging the changes from the maintenance code line to the new (or vice versa, depending on whether it was a fix already in the new version being backported). As long as you check in immediately before and immediately after making the fix, it's very easy to pick up the right changeset with Merge Branches - I rarely have to make many manual merges with it. Generally I don't actually make a branch whenever we make a release. Instead, I just label the project with the version number - this label is then associated with the file versions that made up the release. You can then later choose to branch at that point in the history, if need be.


                DoEvents: Generating unexpected recursion since 1991

                J L 2 Replies Last reply
                0
                • M Mike Dimmick

                  We use SourceGear Vault[^]. We've generally been very happy with it. No loss of source code. It uses a SQL Server database to store the repository and history, so backing it up is simply a case of backing up the database and transaction log (once you have made a full backup, by default SQL Server assumes that you want a log backup chain [the Full recovery model] and retains transaction log records until backed up - if you don't back up the log, the transaction log just keeps growing). You should remember that whatever happens to your history, you still have the latest source on your developers' systems. You'll have to work some to merge it back together. Three years ago we used to work like you did - copy the whole source to a shared folder every night and whenever you've reached a suitable stopping point. Then we worked on a project that required three of us to work on the same deliverable simultaneously. It just wasn't feasible to do this by copying source files between developers. Slowly, source control has been adopted for every new project and as we work on older projects, they're brought in too. I've had to do concurrent development of a new version of a project and maintenance of the old one, which we did using branches and merging the changes from the maintenance code line to the new (or vice versa, depending on whether it was a fix already in the new version being backported). As long as you check in immediately before and immediately after making the fix, it's very easy to pick up the right changeset with Merge Branches - I rarely have to make many manual merges with it. Generally I don't actually make a branch whenever we make a release. Instead, I just label the project with the version number - this label is then associated with the file versions that made up the release. You can then later choose to branch at that point in the history, if need be.


                  DoEvents: Generating unexpected recursion since 1991

                  J Offline
                  J Offline
                  Jon Sagara
                  wrote on last edited by
                  #8

                  I like and use SGV, too. I'll second the recommendation.

                  Jon Sagara Once again, the conservative sandwich-heavy portfolio pays off for the hungry investor! *slurp* Oh, I'm ruined! -- Dr. Zoidberg .NET Blog | Personal Blog | Articles

                  1 Reply Last reply
                  0
                  • P PIEBALDconsult

                    Judah Himango wrote:

                    It lets multiple people work in the same code file

                    That's good, but it shouldn't be a frequent occurence if the files are kept small. The worst thing about C# 1 (in my opinion) was the lack of what's now partial classes; all classes should have been partial by default from the start (and there should be no partial keyword). The lack of partial classes leads to oversized files.

                    J Offline
                    J Offline
                    Judah Gabriel Himango
                    wrote on last edited by
                    #9

                    I agree. Out of curiosity, in your opinion, how many lines of code & comments in a class is "too big"?

                    Tech, life, family, faith: Give me a visit. I'm currently blogging about: Sound The Great Shofar! The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

                    P 1 Reply Last reply
                    0
                    • M Member 96

                      Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


                      Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

                      D Offline
                      D Offline
                      Douglas Troy
                      wrote on last edited by
                      #10

                      John, I have used several source control systems (Object Cycle, Borland StarTeam, Source Safe (VSS) and Subversion); but I'll only discuss the two worth mentioning: VSS and and Subversion. VSS 6.0 I use this today at home on many of my own projects. Pros: - Simple to admin - Easy to use client interface - Directly and tightly integrates into all versions of Visual Studio - I, personally, have NEVER had as single issue with this product - Allows you to work in a disconnected state (when you don't have access to your source control DB); when you reconnect, you can then check-out and/or merge changes you've made. - Everything in "one package" (you don't have to download a bunch of add-ons to get it all working) - It's Microsoft Cons: - It's not free, if you don't have a Universal Subscription - Branching and Merging has a good bit of a learning curve - Unusable over a modem, and by that I mean it's slower than two blind drunken mating snails, and damn-near unusable even over Cable via VPN. There is an add-on product that corrects this, but I've never used/tried it. - VSS 6.0d is the last release of this product; now it's that Team Server thing (I know nothing about it) - Virtual no community support for this product; most of the time, you'll only hear people complaining about how unstable it is, and how it killed an ate their first born. - It's Microsoft Tips: - Get the latest SP for this before you even dream of using it (I believe it's 6.0d) - When you create a new database with it, it will prompt you to use the newer 6.0 format, which is freak'in stupid, you should say YES (OK). Why they even ask, is beyond me. - You should run ANALYZE on the DB on a regular basis. Create a batch file to do this, and add it to task manager to run nightly. Subversion (using tortoise client) Pros: - Free - ATOMIC - Fast (even over a modem/VPN) - Cross platform - True Client/Server (and stable, from what I've heard) - Using Tortoise SVN, it's very easy to add/create new projects under Source control via it's windows shell integration - Excellent on-going community support for this product - It's not Microsoft Cons: - You're going to spend time setting up the server; no way around it. Just commit yourself to RTFM - You have to download several different projects to get: a UI, Merge Tools, Diff Tools, and integration with Visual Studio - It's not Microsoft I use both VSS and Subversion at home; I like VSS because of it's tight integration directly in Studio, and I kn

                      E 1 Reply Last reply
                      0
                      • M Member 96

                        Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


                        Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

                        W Offline
                        W Offline
                        wout de zeeuw
                        wrote on last edited by
                        #11

                        I use svn with apache 2.0.59 (also for my own 1 person projects). Pretty easy to setup, and you and your team members can get to your source from anywhere. First time took maybe half a day to setup, now I got the config files already and can do it in 20 mins or so on a clean machine.

                        Wout

                        1 Reply Last reply
                        0
                        • D Douglas Troy

                          John, I have used several source control systems (Object Cycle, Borland StarTeam, Source Safe (VSS) and Subversion); but I'll only discuss the two worth mentioning: VSS and and Subversion. VSS 6.0 I use this today at home on many of my own projects. Pros: - Simple to admin - Easy to use client interface - Directly and tightly integrates into all versions of Visual Studio - I, personally, have NEVER had as single issue with this product - Allows you to work in a disconnected state (when you don't have access to your source control DB); when you reconnect, you can then check-out and/or merge changes you've made. - Everything in "one package" (you don't have to download a bunch of add-ons to get it all working) - It's Microsoft Cons: - It's not free, if you don't have a Universal Subscription - Branching and Merging has a good bit of a learning curve - Unusable over a modem, and by that I mean it's slower than two blind drunken mating snails, and damn-near unusable even over Cable via VPN. There is an add-on product that corrects this, but I've never used/tried it. - VSS 6.0d is the last release of this product; now it's that Team Server thing (I know nothing about it) - Virtual no community support for this product; most of the time, you'll only hear people complaining about how unstable it is, and how it killed an ate their first born. - It's Microsoft Tips: - Get the latest SP for this before you even dream of using it (I believe it's 6.0d) - When you create a new database with it, it will prompt you to use the newer 6.0 format, which is freak'in stupid, you should say YES (OK). Why they even ask, is beyond me. - You should run ANALYZE on the DB on a regular basis. Create a batch file to do this, and add it to task manager to run nightly. Subversion (using tortoise client) Pros: - Free - ATOMIC - Fast (even over a modem/VPN) - Cross platform - True Client/Server (and stable, from what I've heard) - Using Tortoise SVN, it's very easy to add/create new projects under Source control via it's windows shell integration - Excellent on-going community support for this product - It's not Microsoft Cons: - You're going to spend time setting up the server; no way around it. Just commit yourself to RTFM - You have to download several different projects to get: a UI, Merge Tools, Diff Tools, and integration with Visual Studio - It's not Microsoft I use both VSS and Subversion at home; I like VSS because of it's tight integration directly in Studio, and I kn

                          E Offline
                          E Offline
                          Erik Funkenbusch
                          wrote on last edited by
                          #12

                          Douglas Troy wrote:

                          VSS 6.0d is the last release of this product; now it's that Team Server thing (I know nothing about it)

                          Actually, that's not true. VSS 2005 was released with VS 2005. It's not a HUGE difference from VSS 6, but it seems to be more stable, and offers some extra remote features (web checkin/out). http://msdn2.microsoft.com/en-us/vstudio/aa718670.aspx[^] Also, there's SourceOffsite that lets you use VSS client/server and make remote access much easier. I recommend *NEVER* using VSS remotely under normal conditions, there's too much risk for database damage if you do. 99.9% of peoples problems with SourceSafe database damage is related to trying to use it over flaky networking, IMO.

                          -- Where are we going? And why am I in this handbasket?

                          D B D 3 Replies Last reply
                          0
                          • E Erik Funkenbusch

                            Douglas Troy wrote:

                            VSS 6.0d is the last release of this product; now it's that Team Server thing (I know nothing about it)

                            Actually, that's not true. VSS 2005 was released with VS 2005. It's not a HUGE difference from VSS 6, but it seems to be more stable, and offers some extra remote features (web checkin/out). http://msdn2.microsoft.com/en-us/vstudio/aa718670.aspx[^] Also, there's SourceOffsite that lets you use VSS client/server and make remote access much easier. I recommend *NEVER* using VSS remotely under normal conditions, there's too much risk for database damage if you do. 99.9% of peoples problems with SourceSafe database damage is related to trying to use it over flaky networking, IMO.

                            -- Where are we going? And why am I in this handbasket?

                            D Offline
                            D Offline
                            Douglas Troy
                            wrote on last edited by
                            #13

                            Erik Funkenbusch wrote:

                            VSS 2005 was released with VS 2005. It's not a HUGE difference from VSS 6,

                            Thank you for the correction; I'll have to look into this myself, I have many projects until VSS 6.0d at home.

                            Erik Funkenbusch wrote:

                            99.9% of peoples problems with SourceSafe database damage is related to trying to use it over flaky networking, IMO

                            Now THAT I would believe. Thank you for your insight.


                            :..::. Douglas H. Troy ::..
                            Bad Astronomy |VCF|wxWidgets|WTL

                            E 1 Reply Last reply
                            0
                            • J Judah Gabriel Himango

                              To borrow one from Mr. Spolsky, I really think you'd be smuggy smug smug with Subversion and the Tortoise SVN shell extension. We've used it here to do exactly what Scott describes. It lets multiple people work in the same code file and it will merge automatically (unless you stepped on each other, in which case, you right-click and resolve it yourself using their built-in tool). It's been very solid for us.

                              Tech, life, family, faith: Give me a visit. I'm currently blogging about: Sound The Great Shofar! The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

                              E Offline
                              E Offline
                              Erik Funkenbusch
                              wrote on last edited by
                              #14

                              Actually, no. I would *NOT* recommend Subversion to anyone that thinks source control is too much effort for it's value. The problem is that there are a lot of concepts you need to grasp to use Subversion (and many other version control systems) well. There's a fairly steep learning curve. There's a lot of setup, and configuration, and piecing things together. Instead, i'd suggest something simple that does the basics. I'll write more in my response to him.

                              -- Where are we going? And why am I in this handbasket?

                              J 1 Reply Last reply
                              0
                              • E Erik Funkenbusch

                                Actually, no. I would *NOT* recommend Subversion to anyone that thinks source control is too much effort for it's value. The problem is that there are a lot of concepts you need to grasp to use Subversion (and many other version control systems) well. There's a fairly steep learning curve. There's a lot of setup, and configuration, and piecing things together. Instead, i'd suggest something simple that does the basics. I'll write more in my response to him.

                                -- Where are we going? And why am I in this handbasket?

                                J Offline
                                J Offline
                                Judah Gabriel Himango
                                wrote on last edited by
                                #15

                                Really? We just installed subversion on a server, installed Tortoise on our dev machines, and we were pretty much done. What's hard about that?

                                Tech, life, family, faith: Give me a visit. I'm currently blogging about: Sound The Great Shofar! The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

                                E 1 Reply Last reply
                                0
                                • D Douglas Troy

                                  Erik Funkenbusch wrote:

                                  VSS 2005 was released with VS 2005. It's not a HUGE difference from VSS 6,

                                  Thank you for the correction; I'll have to look into this myself, I have many projects until VSS 6.0d at home.

                                  Erik Funkenbusch wrote:

                                  99.9% of peoples problems with SourceSafe database damage is related to trying to use it over flaky networking, IMO

                                  Now THAT I would believe. Thank you for your insight.


                                  :..::. Douglas H. Troy ::..
                                  Bad Astronomy |VCF|wxWidgets|WTL

                                  E Offline
                                  E Offline
                                  Erik Funkenbusch
                                  wrote on last edited by
                                  #16

                                  I actually like VS 2005 a lot, but it's still based on the old VSS code, so take it with a grain of salt. The problem with VSS is that each client is allowed to read and write to the database files directly. This means that if a program crashes, or a link drops, in mid-write, the database can become corrupt. In systems where only the server reads and writes to the database directly, or systems that use a real RDBMS, this problem all but goes away (hardware failure can still cause problems, of course).

                                  -- Where are we going? And why am I in this handbasket?

                                  1 Reply Last reply
                                  0
                                  • M Member 96

                                    Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


                                    Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

                                    B Offline
                                    B Offline
                                    Bob Nadler
                                    wrote on last edited by
                                    #17

                                    Subversion is the best so far. Besides the obvious pros, these features stand out for me: 1) IMHO, for source code the Copy-Modify-Merge model (like CVS) is better than Lock-Modify-Unlock (VSS). For exclusive use documents you just add the needs-lock property. 2) Directory versioning: You need to be judicious about its use, but the ability to restructure the repository in a controlled manner make SVN heads above the others. 3) Binary differencing: In particular, integration with Word and Excel.

                                    Bob on Medical Device Software [^]

                                    1 Reply Last reply
                                    0
                                    • M Member 96

                                      Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


                                      Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

                                      E Offline
                                      E Offline
                                      Ed Poore
                                      wrote on last edited by
                                      #18

                                      I highly recommend reading this[^] article by Hans, it's what really got me started into version control (and subversion). Seriously read that one, very simple introduction and got me started in next to no time at all.  To be honest I've got some of the same opinions as you and have been messing around with a VM as a virtual machine.  (been trying to get into this unit testing, continuous integration malarky) Read it, I can't emphasis it enough.


                                      My Blog[^]

                                      M 1 Reply Last reply
                                      0
                                      • M Member 96

                                        Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


                                        Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

                                        J Offline
                                        J Offline
                                        John M Drescher
                                        wrote on last edited by
                                        #19

                                        cvs and subversion are the best and most widely used source control systems. I mainly use cvs with wincvs [^]as the client. We do not lock any updates so that each user has their own read/write sandbox that they can commit to the repository whenever they need, however commits of common code are usually discussed before they are done. Backing up of the cvs server is done incrementally each night using bacula[^] and every once and a while we copy the repository to a DVD. One nice thing with cvs is the repository is stored as text files so it is easy to do maintenance and even some manual operations that are not supported by the cvs server (such as renaming a file or moving a folder).

                                        John

                                        E 1 Reply Last reply
                                        0
                                        • M Member 96

                                          Ok, after the major flamefest yesterday over my assertion that I personally in my shop had no use for source control a lone member of this board finally posted a single point that convinced me it might be a good idea if it doesn't slow us down too much and is a reliable product that will *NEVER LOSE OUR CODE*. Full credit to Scott Dorman in this post[^] for bringing up the entirely valid and useful point that, while we never release branch versions of our software, we do actually have a branch when we release a new version and want to separately work on the next release and bug fix of the old released version then merge them later. That's a brilliant point that I had never thought of and no one else suggested but Scott. I see subversion mentioned a lot, I also see VSS mentioned in a negative way a lot. This will be new for me and this is not hobby code it's very valuable code for a world wide used software product, I can't take any chances on losing anything. So my question is, given I want as little hassle as possible but still need something that can do the above and not much else, what source control systems should I look at for testing and suitability?


                                          Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

                                          E Offline
                                          E Offline
                                          Erik Funkenbusch
                                          wrote on last edited by
                                          #20

                                          You might want to read this post I wrote about 6.5 years ago: My Opinions on Source Control[^] Since then, Visual SourceSafe has improved a great deal, and other tools have come out such as SourceOffsite. VSS 2005 is actually a pretty good product. It's easy to use, and pretty reliable. I have issues largely with the branching and merging models, which most people never notice. However, I think you might be happier with something simple, like Code Co-op[^]. It doesn't have a server component, and uses email to keep everyone in sync, so each persons computer basically becomes a syncronized repository. I've never used it, though. So I can't say for sure how reliable or easy it is. See also this list of version control at Wikipedia[^]. Software I like (not necessarily in this order): * Visual SourceSafe (ease of use, doesn't do change sets though) * AccuRev (no check-in/out model is nice, just work on code, then merge it later) * Perforce (Fast and Reliable, and very strong in change sets.) * SourceGear Vault (designed to replace VSS, uses SQL Server) * Subversion (Free, and powerful, but there's a learning curve) Software I HATE (stay away from at all costs) * PVCS (* Hated with a burning passion of a billion suns) * MKS SourceIntegrity (* Similar to PVCS but not so bad, still difficult) * Borland StarTeam (Many features, some of them cool, but very slow and resource intensive) * IBM/Rational ClearCase (expensive, expensive, expensive, and frankly, stay away anything IBM/Rational)

                                          -- Where are we going? And why am I in this handbasket?

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups