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: Andrew <afrayedknot AT thefrayedknot.armory.com>
  • To: sm-discuss AT lists.ibiblio.org
  • Subject: Re: [SM-Discuss] SMGL as GNU-certified Free(R)(TM) Distro?
  • Date: Thu, 3 Nov 2005 12:31:02 -0800

I dont think that email strictly required html :-)
but I'll respond anyway. Basically whats missing are the things you've
pointed out are missing.

In a word, merging. Taking two related branches being worked on in
parallel and incorporating changes back and forth from them without
having to think about it or get spurious conflicts.

For me, I want to be able to have my private branch be an actual
commitable branch, not just a seperate copied working tree. Sometimes
on bigger projects I'll do that with a p4 sandbox. Not being able to
commit sort of defeats the point of revision control.

Does that answer your question?

Distributed scms let you take a working tree and turn them into new
commitable branches, either by definition (mercurial, bzr, cogito, etc)
or with a seperate command (arch, bazaar, arx, svk (i think)).

Also, the ability to use scm functionalities while disconnected (or
server is down) is useful. Both svn and p4 let you modify files while
you're offline, but you can do p4 diff or anything.

Whats frustrating for me is that while subversion is the closest to
the paradigm of perforce (centralized storage, non-distributed)
and thus an easy transition, it lacks first-class merge support.
Last I used subversion merges were effectively edits with very little
tracable history.

In anycase, we dont have to use the same scm for grimoire, sorcery,
and cauldron. We can use what fits best for each. For me, ArX is the
closest fit, it has the distributed model I like (basically it does both
local branches and the centralized model you describe below).


-Andrew


On Thu, Nov 03, 2005 at 02:36:56PM -0500, Sergey A. Lipnevich wrote:
> <html>
> <head>
> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
> </head>
> <body bgcolor="#ffffff" text="#000000">
> Andrew,<br>
> <br>
> Let me ask differently because we're wondering around I think. Here's
> the scenario for central repository model:<br>
> <ol>
> <li>There's a central repository R;</li>
> <li>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;<br>
> </li>
> <li>There's my local working copy W1, which "points" at the tip
> (HEAD) of R, or R/trunk;</li>
> <li>I work with W1 and submit stuff to R/trunk;</li>
> <li>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;</li>
> <li>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;<br>
> </li>
> <li>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;</li>
> <li>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;</li>
> <li>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.<br>
> </li>
></ol>
>Because we were not discussing merges, I'm not including them here just
>yet.<br>
>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?<br>
><br>
>Sergey.<br>
></body>
></html>





--
_________________________________________________________________________
| Andrew D. Stitt | acedit at armory.com | astitt at sourcemage.org |
| irc: afrayedknot | Sorcery Team Lead | ftp://t.armory.com/ |
| 1024D/D39B096C | 76E4 728A 04EE 62B2 A09A 96D7 4D9E 239B D39B 096C |
-------------------------------------------------------------------------




Archive powered by MHonArc 2.6.24.

Top of Page