[OSM-dev] postgis branch

Jon Burgess jburgess777 at googlemail.com
Thu May 10 20:38:17 BST 2007


On Thu, 2007-05-10 at 12:35 -0600, SteveC wrote:
> On 10 May 2007, at 11:06, Dave wrote:
> 
> > I think that's what they've done Steve.
> >
> > SVN implements branching as a copy op. It doesn't actually do a copy
> > and paste so much as mark it as "this bit copied from this bit", ie:
> > the revision histories are maintained across the copy. The clever bit
> > happens when you try and merge stuff.
> 
> Oh cool thanks, my bad.
> 
> Is there a howto for this (and/or branches) without diving in to the  
> svn book?
> 

The red-bean book is ok on the subject:
http://svnbook.red-bean.com/nightly/en/svn.branchmerge.using.html

Here is the bit about 'Cheap Copies' being used for branches...

Cheap Copies

Subversion's repository has a special design. When you copy a directory,
you don't need to worry about the repository growing huge—Subversion
doesn't actually duplicate any data. Instead, it creates a new directory
entry that points to an existing tree. If you're a Unix user, this is
the same concept as a hard-link. As further changes are made to files
and directories beneath the copied directory, Subversion continues to
employ this hard-link concept where it can. It only duplicates data when
it is necessary to disambiguate different versions of objects.

This is why you'll often hear Subversion users talk about “cheap
copies”. It doesn't matter how large the directory is—it takes a very
tiny, constant amount of time to make a copy of it. In fact, this
feature is the basis of how commits work in Subversion: each revision is
a “cheap copy” of the previous revision, with a few items lazily changed
within. (To read more about this, visit Subversion's website and read
about the “bubble up” method in Subversion's design documents.)

Of course, these internal mechanics of copying and sharing data are
hidden from the user, who simply sees copies of trees. The main point
here is that copies are cheap, both in time and space. If you create a
branch entirely within the repository (by running svn copy URL1 URL2),
it's a quick, constant-time operation. Make branches as often as you
want.




> 
> >
> > If you browse source to the postgis branch and hit the "Revision Log"
> > link you can see this was done.
> >
> > It might have been better to follow the trunk/branches/tags
> > convention, but then nothing else in the OSM repository does, and it's
> > not actually required.
> >
> >
> > On 10/05/07, SteveC <steve at asklater.com> wrote:
> >> dear people making the postgis branch
> >>
> >> this is all cool - but can't we do some magical cool svn branch thing
> >> rather than copying and pasting everything? I've not done it before.
> >>
> >> have fun,
> >>
> >> SteveC | steve at asklater.com | http://www.asklater.com/steve/
> >>
> >>
> >>
> >> _______________________________________________
> >> dev mailing list
> >> dev at openstreetmap.org
> >> http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev
> >>
> >
> 
> have fun,
> 
> SteveC | steve at asklater.com | http://www.asklater.com/steve/
> 
> 
> 
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev





More information about the dev mailing list