Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] SMGL as GNU-certified Free(R)(TM) Distro?

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: "Sergey A. Lipnevich" <sergey AT sourcemage.org>
  • To: sm-discuss AT lists.ibiblio.org
  • Subject: Re: [SM-Discuss] SMGL as GNU-certified Free(R)(TM) Distro?
  • Date: Thu, 03 Nov 2005 14:36:56 -0500

Andrew,

Let me ask differently because we're wondering around I think. Here's the scenario for central repository model:
  1. There's a central repository R;
  2. Repository has the main line of development (trunk), supports tags, and can also have parallel lines of development (branches) that are secondary to trunk; I will use R/trunk, R/branch to differentiate them;
  3. There's my local working copy W1, which "points" at the tip (HEAD) of R, or R/trunk;
  4. I work with W1 and submit stuff to R/trunk;
  5. If I need to work on something privately and separately from the main line; I check out R/trunk into a directory different from W1, say W2, or I copy W1 into W2; no merge-related information is lost here;
  6. I can work with W1 and W2 in parallel, or I can create W3, and all this doesn't require the server to do diffs or reverts; in essense, W2, W3, etc. can be considered my private branches; I can't commit them anywhere yet (see below) but I'm OK if I write code there; I can pull files from the central repository into any of these working copies, and I can do it either piecemeal or file-by-file;
  7. If I decide that I would like to commit W2 (push it out), then I either want to do it on the R/trunk or create a branch;
  8. If I want to commit my "private branch" W2 to the trunk, I'm free to do that, as long as I resolve conflicts that may arise; in my experience, they're resolved with acceptable quality in Subversion, no worse than Perforce or CVS;
  9. If I want to create a branch that's published, I create a new empty branch R/branch/b on the server, do a "switch" command in my W2 working copy, and commit to this branch; now I can use R/branch/b and collaborate with others.
Because we were not discussing merges, I'm not including them here just yet.
So, we have various degrees of support for working copies, private branches, public branches and tags. Arguably, "private branch" here is a stretch, but as I described it can be done and works. In this scenario, which is shamelessly tailored to Subversion, what's missing in your opinion?

Sergey.



Archive powered by MHonArc 2.6.24.

Top of Page