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 code check ins

source code check ins

Scheduled Pinned Locked Moved The Lounge
helpcomquestionannouncement
49 Posts 27 Posters 4 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.
  • J Jim Crafton

    I have a "friend", whose working on a project implemented in a coffee flavored language. My friend has observed that the project has an extreme rate of checkins - update once, and 10-15 minnutes later there will frequently be 20 or 30 more updates to grab. Making my friend think that the project has people checking in whenever they save a file. A side effect seems to be that you can update, have a broken build, report it as broken, only to have the "fix" mysteriously checked in while you're emailing the problem in. Another update, and the build is "fixed". Has anyone else heard of this? How often do you check in?

    ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

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

    Jim Crafton wrote:

    Has anyone else heard of this?

    Is there an incentive to break the build? I check in when the new feature I'm working on is stable.

    Bastard Programmer from Hell :suss:

    1 Reply Last reply
    0
    • K Kschuler

      We only check in code when it's been tested and is ready to move to the production server.

      A Offline
      A Offline
      Albert Holguin
      wrote on last edited by
      #11

      This should only be true if you're working on the main development trunk... otherwise, why would you move your code so sparingly? What if your machine crashes or gets a virus? Work on a branch and check in as often as necessary.

      K 1 Reply Last reply
      0
      • R Rama Krishna Vavilala

        When using centralized SCS (TFS, SourceSafe, SVN) I normally checkin after a unit of work has been completed. This is basically a small feature or a fix. When using distributed SCS (GIT and mercurial), I check in as often as I can sometimes even after modification of a single file. Of course, I push it to the centralized build server only after a unit has been completed.

        A Offline
        A Offline
        Albert Holguin
        wrote on last edited by
        #12

        Rama Krishna Vavilala wrote:

        When using centralized SCS (TFS, SourceSafe, SVN) I normally checkin after a unit of work has been completed. This is basically a small feature or a fix.

        You can do frequent check-ins on centralized servers too, just need to branch your work so you don't affect the main source trunk.

        R 1 Reply Last reply
        0
        • R Rutvik Dave

          Your friend's friends needs DVCS (i.e. Mercurial / GIT), so that they can check-in as many times they want without breaking the built, and still get the statisfaction of check-ins. and once their code works then, they can push it to the server.

          Jim Crafton wrote:

          Has anyone else heard of this?

          No, looks like a bad habit to me.

          Jim Crafton wrote:

          How often do you check in?

          When the issue / work item I am working is done with minor functional testing.

          A Offline
          A Offline
          Albert Holguin
          wrote on last edited by
          #13

          See my comment above in regards to branching.

          1 Reply Last reply
          0
          • A Albert Holguin

            This should only be true if you're working on the main development trunk... otherwise, why would you move your code so sparingly? What if your machine crashes or gets a virus? Work on a branch and check in as often as necessary.

            K Offline
            K Offline
            Kschuler
            wrote on last edited by
            #14

            We do have other methods of backup in case a machine crashes. But you have a point. It's probably a lot easier to recover from some kind of failure if you use those features in your source control instead.

            A 1 Reply Last reply
            0
            • J Jim Crafton

              I have a "friend", whose working on a project implemented in a coffee flavored language. My friend has observed that the project has an extreme rate of checkins - update once, and 10-15 minnutes later there will frequently be 20 or 30 more updates to grab. Making my friend think that the project has people checking in whenever they save a file. A side effect seems to be that you can update, have a broken build, report it as broken, only to have the "fix" mysteriously checked in while you're emailing the problem in. Another update, and the build is "fixed". Has anyone else heard of this? How often do you check in?

              ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

              P Offline
              P Offline
              Paul M Watt
              wrote on last edited by
              #15

              We have used IBM Rational Unified Change Management, which is very overwhelming at first, and a bit heavy on process. In a large organization, I think it's the only way to go. Each developer gets their own "view" of the source. I can check-out and check-in my source all I want in my view. After I am done developing, testing I "deliver" to the integration stream that everyone on my team is working on for the current project. Before I finalize the delivery, I can actually build from the integration stream to verify that I didn't break the build. If anyone tries to update their source during that period, they will get the code at the point before I deliver. If I find I have made a mistake, I can easily back-out the check-in, and try again once I have resolved the issue. Finally, the changes from the integration stream can be delivered up the chain to the base stream.

              J P E 3 Replies Last reply
              0
              • A Albert Holguin

                Rama Krishna Vavilala wrote:

                When using centralized SCS (TFS, SourceSafe, SVN) I normally checkin after a unit of work has been completed. This is basically a small feature or a fix.

                You can do frequent check-ins on centralized servers too, just need to branch your work so you don't affect the main source trunk.

                R Offline
                R Offline
                Rutvik Dave
                wrote on last edited by
                #16

                Branches are easy to create, very easy... the problem is Merging which almost all the SVN / CVS lacks (It's the design flaw). and it requires lot of manual work. :)

                J A 2 Replies Last reply
                0
                • P Paul M Watt

                  We have used IBM Rational Unified Change Management, which is very overwhelming at first, and a bit heavy on process. In a large organization, I think it's the only way to go. Each developer gets their own "view" of the source. I can check-out and check-in my source all I want in my view. After I am done developing, testing I "deliver" to the integration stream that everyone on my team is working on for the current project. Before I finalize the delivery, I can actually build from the integration stream to verify that I didn't break the build. If anyone tries to update their source during that period, they will get the code at the point before I deliver. If I find I have made a mistake, I can easily back-out the check-in, and try again once I have resolved the issue. Finally, the changes from the integration stream can be delivered up the chain to the base stream.

                  J Offline
                  J Offline
                  Jim Crafton
                  wrote on last edited by
                  #17

                  Oooh - the days of ClearCase (I think this is what this used to be called). I remember all that now! Yeah it was a bit over blown, but it did have a lot of nice features once it was all set up correctly. But I think all the developers bitched about the amount of time it took to get used to it. It was also a nearly full time job to babysit the server to keep it up and running and happy :)

                  ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                  P 1 Reply Last reply
                  0
                  • R Rutvik Dave

                    Branches are easy to create, very easy... the problem is Merging which almost all the SVN / CVS lacks (It's the design flaw). and it requires lot of manual work. :)

                    J Offline
                    J Offline
                    Jim Crafton
                    wrote on last edited by
                    #18

                    I've found merging in SVN less hassle than CVS. But it's still a bit of a PITA.

                    ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                    R 1 Reply Last reply
                    0
                    • J Jim Crafton

                      I've found merging in SVN less hassle than CVS. But it's still a bit of a PITA.

                      ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                      R Offline
                      R Offline
                      Rutvik Dave
                      wrote on last edited by
                      #19

                      For me even TFS failed many times to merge automatically after adding few lines on the file which someone else is also working. It will get confused if you move a block of code, because SVN/TFS/CVS doent keep track of changes, they keep copies of files.

                      1 Reply Last reply
                      0
                      • R Rutvik Dave

                        Branches are easy to create, very easy... the problem is Merging which almost all the SVN / CVS lacks (It's the design flaw). and it requires lot of manual work. :)

                        A Offline
                        A Offline
                        Albert Holguin
                        wrote on last edited by
                        #20

                        I use svn... Once you get the hang of doing merges... Not very hard at all...

                        R 1 Reply Last reply
                        0
                        • N Nish Nishant

                          Your ol-tag is screwed up. Intentional? :~

                          Regards, Nish


                          My technology blog: voidnish.wordpress.com

                          A Offline
                          A Offline
                          AspDotNetDev
                          wrote on last edited by
                          #21

                          Mostly intentional. It starts at Int32.MinValue :)

                          Somebody in an online forum wrote:

                          INTJs never really joke. They make a point. The joke is just a gift wrapper.

                          1 Reply Last reply
                          0
                          • N Nish Nishant

                            Your ol-tag is screwed up. Intentional? :~

                            Regards, Nish


                            My technology blog: voidnish.wordpress.com

                            R Offline
                            R Offline
                            Rutvik Dave
                            wrote on last edited by
                            #22

                            looks like bug to me, if you are on the post above and press ctrl + ->, they are messed up but if you are on the post below and press ctrl + <-, then looks ok.

                            A 1 Reply Last reply
                            0
                            • K Kschuler

                              We do have other methods of backup in case a machine crashes. But you have a point. It's probably a lot easier to recover from some kind of failure if you use those features in your source control instead.

                              A Offline
                              A Offline
                              Albert Holguin
                              wrote on last edited by
                              #23

                              Plus if you use multiple machines, it is way easier and faster to move your source around.... Since once you've done the initial checheckout, you just have to update from the repository (get changes instead of whole thing).

                              1 Reply Last reply
                              0
                              • R Rama Krishna Vavilala

                                When using centralized SCS (TFS, SourceSafe, SVN) I normally checkin after a unit of work has been completed. This is basically a small feature or a fix. When using distributed SCS (GIT and mercurial), I check in as often as I can sometimes even after modification of a single file. Of course, I push it to the centralized build server only after a unit has been completed.

                                G Offline
                                G Offline
                                Glenn Dawson
                                wrote on last edited by
                                #24

                                If you're using TFS, you can shelve your changes.

                                1 Reply Last reply
                                0
                                • R Rutvik Dave

                                  looks like bug to me, if you are on the post above and press ctrl + ->, they are messed up but if you are on the post below and press ctrl + <-, then looks ok.

                                  A Offline
                                  A Offline
                                  AspDotNetDev
                                  wrote on last edited by
                                  #25

                                  Define "messed up" and "ok". I know that IE has a bug where OL items will all get a value of 0 and interacting with the page a bit will restore the numbers to their correct values.

                                  Somebody in an online forum wrote:

                                  INTJs never really joke. They make a point. The joke is just a gift wrapper.

                                  R 1 Reply Last reply
                                  0
                                  • P Paul M Watt

                                    We have used IBM Rational Unified Change Management, which is very overwhelming at first, and a bit heavy on process. In a large organization, I think it's the only way to go. Each developer gets their own "view" of the source. I can check-out and check-in my source all I want in my view. After I am done developing, testing I "deliver" to the integration stream that everyone on my team is working on for the current project. Before I finalize the delivery, I can actually build from the integration stream to verify that I didn't break the build. If anyone tries to update their source during that period, they will get the code at the point before I deliver. If I find I have made a mistake, I can easily back-out the check-in, and try again once I have resolved the issue. Finally, the changes from the integration stream can be delivered up the chain to the base stream.

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

                                    Paul Watt wrote:

                                    Rational Unified Change Management

                                    I think I need to rename the app I'm working on to "Free Unified Change Keeper". :cool:

                                    1 Reply Last reply
                                    0
                                    • J Jim Crafton

                                      I have a "friend", whose working on a project implemented in a coffee flavored language. My friend has observed that the project has an extreme rate of checkins - update once, and 10-15 minnutes later there will frequently be 20 or 30 more updates to grab. Making my friend think that the project has people checking in whenever they save a file. A side effect seems to be that you can update, have a broken build, report it as broken, only to have the "fix" mysteriously checked in while you're emailing the problem in. Another update, and the build is "fixed". Has anyone else heard of this? How often do you check in?

                                      ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                                      RaviBeeR Offline
                                      RaviBeeR Offline
                                      RaviBee
                                      wrote on last edited by
                                      #27

                                      Jim Crafton wrote:

                                      the project has people checking in whenever they save a file.

                                      That seems wrong on so many fronts. IMHO, a checkin should reflect a bug fix or a (partial or complete) feature implementation.  The important thing is, a checkin should be revertable without breaking the build or run-time functionality.  We use TFS's shelveset feature all the time, allowing us to preserve (and share for code-review) partially completed pieces of work without fear of losing data or corrupting the codebase. Looks like some (gently proffered) developer education is appropriate. :) /ravi

                                      My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                                      J 1 Reply Last reply
                                      0
                                      • RaviBeeR RaviBee

                                        Jim Crafton wrote:

                                        the project has people checking in whenever they save a file.

                                        That seems wrong on so many fronts. IMHO, a checkin should reflect a bug fix or a (partial or complete) feature implementation.  The important thing is, a checkin should be revertable without breaking the build or run-time functionality.  We use TFS's shelveset feature all the time, allowing us to preserve (and share for code-review) partially completed pieces of work without fear of losing data or corrupting the codebase. Looks like some (gently proffered) developer education is appropriate. :) /ravi

                                        My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                                        J Offline
                                        J Offline
                                        Jim Crafton
                                        wrote on last edited by
                                        #28

                                        Yes, that's what my friend thought as well. Unfortunately he's not in a position to do anything about it, just make the best of the situation and move on.

                                        ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                                        1 Reply Last reply
                                        0
                                        • J Jim Crafton

                                          I have a "friend", whose working on a project implemented in a coffee flavored language. My friend has observed that the project has an extreme rate of checkins - update once, and 10-15 minnutes later there will frequently be 20 or 30 more updates to grab. Making my friend think that the project has people checking in whenever they save a file. A side effect seems to be that you can update, have a broken build, report it as broken, only to have the "fix" mysteriously checked in while you're emailing the problem in. Another update, and the build is "fixed". Has anyone else heard of this? How often do you check in?

                                          ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                                          R Offline
                                          R Offline
                                          Rage
                                          wrote on last edited by
                                          #29

                                          Jim Crafton wrote:

                                          How often do you check in?

                                          It depends where. What you describe looks like two problems in one. First, everybody seems to be working in the same branch. Second, people are using check ins as save operations ( unless there are 50,000 programmers in the company, in which case 100 changes / hour is not uncommon). The repository architecture plays a very important role in the check-in process. If the integrator did not think out his repository structure well ( numbers of branches, dependencies, ...), you can end-up needing ten times more time to achieve the same task; this is something that is frequently forgotten when a project starts, because at that point of time, there is little code and little dependencies. And once it grows, it is to complicated too re-engineer, and that's how you end up in the situation you've described. The *good* frequency of check-in depends on a lot of parameters. When you are working alone on a branch on some not so important change with a good back-up system (SecondCopy...), you don't check in as often as if you work on an important big fix on the main trunk without back-up at all. Breaking the build is usually never a good idea, since others could use your broken code as a base, and the nightly build and unit testing would all fail. But if you are alone in your branch and want to save your work before going home, and it does not compile, why not do it ? Configuration management is almost never taught in school, although being a very basic knowledge of project management and software development... :^)

                                          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