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.
  • S Scott Dorman

    Not to jump on the "bandwagon", but my choice would be Subversion (SVN). I use it on several open source projects that I work on and have had virtually no issues with it. The repository is accessible via a web address (either internal or external, secured or not) and downloading the repository for the first time is relatively fast. A few people pointed out some resources on either SVN or source control concepts in general, which are all good to look at. The area that can cause the most headache in any source control system is the idea of branching and merging. It is important to have a good understanding of how those concepts work in the chosen system, but it is also equally important to have a well thought out plan in place for when branches occur. Some questions to ask are:

    • Should the branch occur immediately after the version ships?
    • Should the branch occur when the first bug is received?
    • Should the branch be allowed to be branched?
    • When (and how often) should the branch be merged back to the trunk?

    One thing you might want to consider is to set up a test repository to work out some of the implementation kinks you might run into. Then once you are comfortable with how everything is functioning, use a small project (if you have any) or possibly an isolated portion of an existing project as a pilot project. The assertion that you want a product that is guaranteed to never loose your code is valid, but I don't know of anything that can actually guarantee that 100%. That being said, as long as you continue a regular backup strategy on the repository you should be fine.

    Scott.


    —In just two days, tomorrow will be yesterday. [Forum Guidelines] [Articles] [Blog]

    M Offline
    M Offline
    Member 96
    wrote on last edited by
    #50

    Yeah I'm going to try subversion and tortoise today. Sadly the tortoise site seems to be down and I can't download or read any of the faq's etc. Most links are dead except unsurprisingly the donate link. :) I'm going to jump right in with a test of my largest project and experiment with a copy of it. I think the when and why to merge / branch etc seems to be self explanatory it's the how that I have to examine carefully and what the consequences etc are.


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

    S B 2 Replies Last reply
    0
    • S Scott Dorman

      I just checked it and it's working for me...

      Scott.


      —In just two days, tomorrow will be yesterday. [Forum Guidelines] [Articles] [Blog]

      M Offline
      M Offline
      Member 96
      wrote on last edited by
      #51

      That's funny, I tried it when I got your message and now it comes up and the pages look different than the ones I was getting earlier, they must have been re-jigging the site.


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

      S 1 Reply Last reply
      0
      • M Member 96

        Yeah I'm going to try subversion and tortoise today. Sadly the tortoise site seems to be down and I can't download or read any of the faq's etc. Most links are dead except unsurprisingly the donate link. :) I'm going to jump right in with a test of my largest project and experiment with a copy of it. I think the when and why to merge / branch etc seems to be self explanatory it's the how that I have to examine carefully and what the consequences etc are.


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

        S Offline
        S Offline
        Scott Dorman
        wrote on last edited by
        #52

        John Cardinal wrote:

        it's the how that I have to examine carefully and what the consequences etc

        Yes, from my experience the branching and merging concept is the one that most easily confuses people (developers, technical dev managers, and admins). It's important enough to really think through how you are going to do it and what the outcomes of the different strategies are. In some cases, it can influence the way you structure the repository.

        Scott.


        —In just two days, tomorrow will be yesterday. [Forum Guidelines] [Articles] [Blog]

        1 Reply Last reply
        0
        • M Member 96

          That's funny, I tried it when I got your message and now it comes up and the pages look different than the ones I was getting earlier, they must have been re-jigging the site.


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

          S Offline
          S Offline
          Scott Dorman
          wrote on last edited by
          #53

          You're right. I didn't even notice that the pages are different. You must have caught them right in the middle of the upload. :)

          Scott.


          —In just two days, tomorrow will be yesterday. [Forum Guidelines] [Articles] [Blog]

          1 Reply Last reply
          0
          • M Member 96

            Hi Ed, we use FogBugz for bug tracking currently. I'll check that out.


            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
            #54

            FogBugz seems to be the defacto standard but I'm a cheapskate and Axosoft offer a free license for single developers.  I'm all for free stuff.


            My Blog[^]

            M 1 Reply Last reply
            0
            • E Ed Poore

              I've also found the posts on this guys blog[^] to be very useful, even though they don't directly relate to me at the moment. OT: do you use something for bug tracking etc?  I've been looking at Axosoft's OnTime[^], their web-ui has been updated to include AJAX (one of the first I think) but it's supposed to be able to integrate with Subversion (not sure if it's out of the box) to track bugs in source as well.


              My Blog[^]

              P Offline
              P Offline
              Pete OHanlon
              wrote on last edited by
              #55

              I've used both FogBuz and OnTime. I prefer the interface of FogBugz, but the sheer volume of tracking features in OnTime and the fact that it does more than bug-tracking is a huge benefit to us.

              Deja View - the feeling that you've seen this post before.

              E 1 Reply Last reply
              0
              • P Pete OHanlon

                I've used both FogBuz and OnTime. I prefer the interface of FogBugz, but the sheer volume of tracking features in OnTime and the fact that it does more than bug-tracking is a huge benefit to us.

                Deja View - the feeling that you've seen this post before.

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

                That's what I've been thinking about, it at least has some features for feature tracking etc which will be nice to have integrated. It's nice to hear someone elses opinions of this.

                P 1 Reply Last reply
                0
                • E Ed Poore

                  FogBugz seems to be the defacto standard but I'm a cheapskate and Axosoft offer a free license for single developers.  I'm all for free stuff.


                  My Blog[^]

                  M Offline
                  M Offline
                  Member 96
                  wrote on last edited by
                  #57

                  It's good software, it could be better but I bought it more out of support for Joel than anything else. I.E. I didn't look too hard for alternatives once I saw it would do the job.


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

                  1 Reply Last reply
                  0
                  • E Ed Poore

                    That's what I've been thinking about, it at least has some features for feature tracking etc which will be nice to have integrated. It's nice to hear someone elses opinions of this.

                    P Offline
                    P Offline
                    Pete OHanlon
                    wrote on last edited by
                    #58

                    To be honest - we've started rolling our own bugtracker to combine the interface ideas of FogBugz with the feature set of OnTime. It's primarily intended for internal use, but if we get it to a point where we are happy with it we'll possibly look at licensing it out.

                    Deja View - the feeling that you've seen this post before.

                    E 1 Reply Last reply
                    0
                    • P Pete OHanlon

                      To be honest - we've started rolling our own bugtracker to combine the interface ideas of FogBugz with the feature set of OnTime. It's primarily intended for internal use, but if we get it to a point where we are happy with it we'll possibly look at licensing it out.

                      Deja View - the feeling that you've seen this post before.

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

                      It'd be interesting to see what you come up with.  I've thought about this myself but couldn't really be bothered.

                      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

                        L Offline
                        L Offline
                        Lost User
                        wrote on last edited by
                        #60

                        We use subversion where I work and I find it very good

                        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

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #61

                          One thing - if you go for version control you will need a good diff tool when merging. The best I've seen is Beyond compare[^]. Elaine :rose:

                          Visit http://www.readytogiveup.com/[^] and do something special today.

                          J 1 Reply Last reply
                          0
                          • E Ed Poore

                            It'd be interesting to see what you come up with.  I've thought about this myself but couldn't really be bothered.

                            P Offline
                            P Offline
                            Pete OHanlon
                            wrote on last edited by
                            #62

                            Tell you what. When we've finished the prototype, I'll send you a copy. You could be an unnofficial beta tester.:-D

                            Deja View - the feeling that you've seen this post before.

                            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

                              K Offline
                              K Offline
                              KaRl
                              wrote on last edited by
                              #63

                              Welcome on the light side of the force. Subversion does a good job, offers all the needed functionalities and is free. We make it run on a source server on FreeBSD, equipped with backup facilities. To interface subversion on our windows workstations, we use TortoiseSVN as a graphical interface that enables to pilot subversion from contextual menus in Explorer. For safety and authentication we use ssh in between with Pageant from PuTTY on the workstations as SSH authentication agent. Once set, this configuration is smooth to use and secure, and all software components are free. For the one-developer case, you could use only TortoiseSVN in a purely windows environment. TortoiseSVN also has source control possibilities but is less powerful than SVN.


                              Patriotism is when love of your own people comes first; nationalism, when hate for people other than your own comes first Fold with us! ¤ flickr

                              1 Reply Last reply
                              0
                              • E Erik Funkenbusch

                                The installation is easy, it's the rest that requires the learning curve.

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

                                R Offline
                                R Offline
                                Reinier Boon
                                wrote on last edited by
                                #64

                                I can recommend subversion wholeheartedly. There is an excellent subversion book (in HTML) explaining all the concepts very well (check http://svnbook.red-bean.com/). Once you've set things up, you can easily integrate with the Windows shell (TortoiseSvn), and with Eclipse (e.g. Subversive). The daily routine is just two clicks and adding some comment. To master the more complex stuff (like branching, tagging, restoring a previous version, merge other peoples changes with your changes) I can advise to create a little test repository, and just play around with it. You'll quickly get the idea. You have to invest a few hours, but they'll be worth every second!

                                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

                                  K Offline
                                  K Offline
                                  kirankss
                                  wrote on last edited by
                                  #65

                                  We use CVS installed on linux. WinCVS is used on the Windows systems accessing the CVS server!!!

                                  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
                                    JPaula
                                    wrote on last edited by
                                    #66

                                    For a Source control *redux*, I would surely recommend VSS. It's installation is just point and click, and it is integrated with all the MS tools right out of the box. You don't need to read any help files or manuals. *It just works.* I have been working with it since 1995 and never had any troubles, except for a corrupted hard drive (but that's what backups are for, right?). It has all the basic things in it, except for the more advanced stuff, like automatic merging of versions (anyway, I like to do it manually) or product (as in multiple projects) version and release management. I think the fact that it hasn't changed much for the last 10 years speaks for its usability and robustness. That fact, together with massive use (it is too easy to setup and use) accounts for "all" the criticism. JP

                                    1 Reply Last reply
                                    0
                                    • L Lost User

                                      One thing - if you go for version control you will need a good diff tool when merging. The best I've seen is Beyond compare[^]. Elaine :rose:

                                      Visit http://www.readytogiveup.com/[^] and do something special today.

                                      J Offline
                                      J Offline
                                      JPaula
                                      wrote on last edited by
                                      #67

                                      Just to complement the information, there is a FREE Open Source File comparison tool called WinMerge: http://winmerge.org/[^] It is a very active project with constant improvements. (project at http://sourceforge.net/projects/winmerge/[^]) It does everything I ever needed: file comparison and merging, directory comparison and merging, colour coding, zip (7zip support) or compressed folder comparison, VSS integration, etc. The user interface rocks - it is extremely easy to learn. JP

                                      1 Reply Last reply
                                      0
                                      • M Member 96

                                        Yeah I'm going to try subversion and tortoise today. Sadly the tortoise site seems to be down and I can't download or read any of the faq's etc. Most links are dead except unsurprisingly the donate link. :) I'm going to jump right in with a test of my largest project and experiment with a copy of it. I think the when and why to merge / branch etc seems to be self explanatory it's the how that I have to examine carefully and what the consequences etc are.


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

                                        B Offline
                                        B Offline
                                        Brad Stiles
                                        wrote on last edited by
                                        #68

                                        John, I have a couple of other comments about Subversion that I haven't seen yet. #1. I suggest subscribing to the Subversion Users mailing list (at http://subversion.tigris.org). It gets a fair bit of traffic, but I think you'll find a number of experts regularly post, including the developers. #2. You do not need a server to use Subversion, though using one is recommended for more than the simplest implementation. However, a local repository is perfect for testing whether or not you like the product or to perfect the understanding of some features. In addition, if you use a local file based repository, you don't even need to install Subversion itself, TortoiseSVN alone is sufficient. #3. Even if you do decide you need a server, there are two different types of server you can use, an Apache based web server solution and a daemon or service based one. And even though this one has been suggested before, I'll reiterate it. Read the red-bean book. It's a valuable resource not just for Subversion, but for version control in general. Brad

                                        1 Reply Last reply
                                        0
                                        • M Member 96

                                          Unfortunately their site seems to be down, is this a normal thing or... http://tortoisesvn.net/[^]


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

                                          D Offline
                                          D Offline
                                          DumpsterJuice
                                          wrote on last edited by
                                          #69

                                          I've recently come full circle on this source control topic. After trying to use subversion, and having little success, I started to question the "Conventional Wisdom" out there, that says that VSS is horrid. First - Tell me why you think its horrible: Is it VPN? Ok, that is valid, its improved greatly in the latest version, but still its slow. Is it slower than everything else? Is it slower than Subversion? Lets see some data on that.... Is it because of Pessimistic locking? That is now a setting in VSS now.. and its always supported optimistic locking, in a "work around" sort of way... using "Get Latest Version" ...which I have come to respect. You nkow ahead of time that there might be problems merging back... and you can plan for some time to make that smooth. I like my source control IN the IDE, ..not in Explorer thank you very much.... I like my source control to be so easy, nobody can find a reason to avoid using it. I like it to be "Not in the Way", and not add more Admin activities to the team... (Subversion and Tortoise, besides having to teach everyone how to use these, need a lot of TLC on the server side.) So - I am saying: Take another look at VSS, and stop going with the latest thing people think is so sexy... Subversion is not as easy to implement in team dev as has been said.... and I see no Cost / Benefit by using it. Also - Ask me about how we tried to implement Microsoft Team Foundation Server, and then discarded it, as Alpha ware crap. Another product that is too expensive, tries to do too much, and does nothing particularly well. We try to develop software, not spend all day as network admins, or Beta Testers.

                                          Where there's smoke, there's a Blue Screen of death.

                                          B B 2 Replies 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