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 Shog9 0

    Erik Funkenbusch wrote:

    If you want a powerful SCS that's easy to use after some learning, then SVN is a good choice. If you don't want a powerful SCS that's intuitive to use out of the box, then there are other choices.

    I think we can agree on that. :)

    every night, i kneel at the foot of my bed and thank the Great Overseeing Politicians for protecting my freedoms by reducing their number, as if they were deer in a state park. -- Chris Losinger, Online Poker Players?

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

    Lol. Ok, so maybe that was a Freudian slip... ;) I meant, If you want something simple that won't overpower you with features, and will be intuitive to use out of the box, there are other choices.. lol...

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

    S 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[^]

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

      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 1 Reply Last reply
      0
      • S Scott Dorman

        John Cardinal wrote:

        Full credit to Scott Dorman in this post[^]

        Thanks John! I never expected my argument would actually cause you to change your position. I'm going to finish reading through the replies before I make further comments/suggestions.

        Scott.


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

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

        I'm an *extremely* practical guy, the second I see anything of any benefit to me I'm all over it. You were the first one to suggest a solution to an actual scenario that we face.


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

        1 Reply 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

          L Offline
          L Offline
          Luca Leonardo Scorcia
          wrote on last edited by
          #44

          I second that too. Also, since you're a single developer, SourceGear Vault offers a trial mode that is fully functional for a single user. I'm a single developer too, and since I'm a student I couldn't afford buying it. But this single user thing, well, gave me a HUGE advantage over my colleagues that don't use source control for their projects (well, they even aren't accustomed to zip backups, but who am I to change the concept that our seventy-years-old programming teacher taught them? For him, these are just a waste of disk space...).

          Luca

          The Price of Freedom is Eternal Vigilance.

          En Það Besta Sem Guð Hefur Skapað, Er Nýr Dagur. But the best thing God has created, is a New Day.

          1 Reply Last reply
          0
          • E Erik Funkenbusch

            Lol. Ok, so maybe that was a Freudian slip... ;) I meant, If you want something simple that won't overpower you with features, and will be intuitive to use out of the box, there are other choices.. lol...

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

            S Offline
            S Offline
            Shog9 0
            wrote on last edited by
            #45

            :D

            every night, i kneel at the foot of my bed and thank the Great Overseeing Politicians for protecting my freedoms by reducing their number, as if they were deer in a state park. -- Chris Losinger, Online Poker Players?

            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

              C Offline
              C Offline
              Chris Maunder
              wrote on last edited by
              #46

              ionForge Evolution is free for single licence users. While you may not think that version tracking is useful I'm now convinced that simply being able to go back and compare the changes I made 2 weeks ago with current code has saved me immense amounts of time and pain.

              cheers, Chris Maunder

              CodeProject.com : C++ MVP

              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

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

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

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

                  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

                  S D 2 Replies 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

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

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

                    Scott.


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

                    M 1 Reply Last reply
                    0
                    • 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
                                          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