Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] SVN as p4 replacement

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" <sm-discuss AT lists.ibiblio.org>
  • Subject: Re: [SM-Discuss] SVN as p4 replacement
  • Date: Thu, 16 Mar 2006 08:34:27 -0800

On Thu, Mar 16, 2006 at 12:27:31AM +0100, Pieter Lenaerts wrote:
>
> if you use distributed with a central repo, you got two options, either
> you send patches, which will then be integrated or you push changes up.

Thats not the whole story. Theres two types of distributed scms. Theres
the traditional kind, which is what bzr and mercurial are (among many
others). In those a working tree is a branch is a repository. When you
do a 'commit' you store stuff in revision meta-data within the same
working tree (in hidden files/dirs). Then you either publish and have
people pull (ie linux kernel style), or you push changes up.

Theres another group of distributed scms where a working tree is just a
working tree (ala perforce/svn). The revision storage (aka the repository)
is external to the working tree and could be local or remote. So far we're
effectively the same as a centralized scm. What makes them different is
they seemlessly let you branch/merge between repositories. Most examples of
this are arch based: gnu-arch, bazaar (not bazaar-ng), arx, and also
svk fits this bill somewhat (iirc).

>
> if you send patches, you don't have the same repository anymore as the
> central one, so you'd have to clone/branch/... it every time == a lot of
> traffic.

You wouldn't have to clone or branch, you just pull, this is analgous
to syncing.

>
> if you push changes up, you'll need to get the changesets from other
> devs before you can push yours up or changeset order will be disrupted,
> resulting in diverging repos. not sure if there's a scm that allows to
> push changes up and afterwards pulling down missing changesets,
> submitted after your last pull but before your current push.

Perforce and svn do the same thing, you have to update before
submitting. Distributed scms aren't much different in that regard other
than terminology.

Monotone is unique in that if you dont have head-of-line when you submit,
it will automatically make a new branch (or head). You then have to
merge them together. This is somewhat neat since its harder to screw up
your work by merging on top of your work. Distributed scms tend to have
you submit locally, then push upstream.


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