Loading ...
Sorry, an error occurred while loading the content.

RE: [XP] Re: Mechanics of big refactorings with CVS.

Expand Messages
  • Glew, Andy
    ... Since we are talking about CVS... Brian Berliner (the original CVS author) denigrated my suggestion that it might be nice to have such a mechanism. I m
    Message 1 of 3 , Aug 31 6:57 PM
    • 0 Attachment
      > XP uses an integration machine (or sometimes an integration token) to
      > make sure that only one pair is checking in at a time. So you may
      > have to reconcile your code with the top of the tree, but only once.
      > Then the pair in line behind you resolves their code with the new top
      > of the tree, and so on. No muss, no fuss, no branches.

      Since we are talking about CVS...

      Brian Berliner (the original CVS author) denigrated
      my suggestion that it might be nice to have such a
      mechanism. I'm even willing to reconcile more than
      once, a few times - update, reconcile, update again
      with any changes checked in while I was reconciling,
      and repeat. Brian was right that you usually can get
      your checkin done without further reconciliations
      after one or two attempts.

      But, I have seen occasions where multiple reconciliations
      are necessary. On those occasions it is nice to be able
      to "get a global lock" so that you can update, reconcile,
      checkin and be done with it.

      In parallel programming parlance,
      CVS's algorithm is non-blocking
      but can lead to starvation.
    • cg@cdegroot.com
      [if people think I m starting to whine, complain] ... But you integrate when you re ready with the task, not every 30 minutes. Integration is done on the trunk
      Message 2 of 3 , Aug 31 11:03 PM
      • 0 Attachment
        [if people think I'm starting to whine, complain]

        John Brewer <jbrewer@...> said:
        >XP uses an integration machine (or sometimes an integration token) to
        >make sure that only one pair is checking in at a time. So you may
        >have to reconcile your code with the top of the tree, but only once.
        >Then the pair in line behind you resolves their code with the new top
        >of the tree, and so on. No muss, no fuss, no branches.
        >
        But you integrate when you're ready with the task, not every 30 minutes.
        Integration is done on the trunk (main branch) in a serialized fashion
        just as you describe. In my opinion, branches are perfectly suited to
        serve as a backup mechanism where you can save your work often during
        the task (the stuff you used to do in the old days by copying your
        source code to a "sav" subdirectory, or something like that).

        --
        Cees de Groot http://www.cdegroot.com <cg@...>
        GnuPG 1024D/E0989E8B 0016 F679 F38D 5946 4ECD 1986 F303 937F E098 9E8B
        Forge your CipherSaber and list it: http://www.xs4all.nl/~cg/ciphersaber/
      • Ron Jeffries
        ... Ah. Yes. Do find a way to save your code any time you think you might want to go back. A branch is probably your best bet for that. ENVY, where I come
        Message 3 of 3 , Sep 1, 2000
        • 0 Attachment
          At 08:03 AM 9/1/00 +0200, cg@... wrote:
          >But you integrate when you're ready with the task, not every 30 minutes.
          >Integration is done on the trunk (main branch) in a serialized fashion
          >just as you describe. In my opinion, branches are perfectly suited to
          >serve as a backup mechanism where you can save your work often during
          >the task (the stuff you used to do in the old days by copying your
          >source code to a "sav" subdirectory, or something like that).

          Ah. Yes. Do find a way to save your code any time you think you might want
          to go back. A branch is probably your best bet for that.

          ENVY, where I come from, allows me to version anything under my name. When
          I want to make it be part of the real thing, I load the thing with my name
          on it (from your branch, equivalently) and release it (release it to the
          main thread in your mode).

          Trim the branches often. Integrating every thirty minutes is probably too
          often. Twice a day probably isn't. IMO of course.

          Ronald E Jeffries
          http://www.XProgramming.com
          http://www.objectmentor.com
        Your message has been successfully submitted and would be delivered to recipients shortly.