[os-infrastructure] Pragmatic Version Control using Subversion

Stephen Ball Stephen.Ball at ingres.com
Wed May 14 04:23:08 PDT 2008


Yes, I remember I had to build Subversion from source because the distributed version was incompatible with just about everything on the archaic OS level we were using; it's probably easiest to just blow away everything and start from scratch, although you may have to build from source as I did; you may also have to jerk with httpd.

Steve

-----Original Message-----
From: opensource-infrastructure-bounces at lists.ingres.com [mailto:opensource-infrastructure-bounces at lists.ingres.com] On Behalf Of Grant Croker
Sent: Wednesday, May 14, 2008 9:12 PM
To: Discussions about the infrastructure needed to support a true open sourcecommunity
Cc: Jeremy M. Hankinson; Christopher M. Hane
Subject: Re: [os-infrastructure] Pragmatic Version Control using Subversion

Steve,

qasling6 has two copies of svn, the system one as well as your 
hand-installed release (a 1.1.0 RC from what I can tell). I will remove 
the system provided server since it is even older and get the latest 1.5 
code installed.

regards

grant


Stephen Ball wrote:
> Hehe...qasling6 is an ideal server for this and it already has a copy of Subversion 1.5 server installed; the interesting coincidence is that the copy of Subversion on that machine is causing an update conflict with up2date right now....what is even funnier is that I think I'm the person that installed Subversion on that machine....way before Andrew cooked up this whole Subversion thing (12-18 months ago) I had been playing around with Subversion and had set it up as a WebDAV server to use for document storage and versioning, and I think I used qasling6.
>
> I say we just blow off the updates on this qasling6, unentitle it from RedHat, and set it up as an internal Subversion server.
>
> Steve
>
> -----Original Message-----
> From: opensource-infrastructure-bounces at lists.ingres.com [mailto:opensource-infrastructure-bounces at lists.ingres.com] On Behalf Of Grant Croker
> Sent: Wednesday, May 14, 2008 7:43 PM
> To: Discussions about the infrastructure needed to support a true open sourcecommunity
> Cc: Jeremy M. Hankinson; Christopher M. Hane
> Subject: Re: [os-infrastructure] Pragmatic Version Control using Subversion
>
> I can set this up - If there is a preferred machine to do it on please 
> let me know.
>
> regards
>
> grant
>
> Stephen Ball wrote:
>   
>> I think the principal applies to any action that makes a copy, 
>> including tagging, but I haven’t tested it.
>>
>>  
>>
>> Andrew, it would be nice to have an svn_play repository, even if it’s 
>> internal only,  just like we have a picplay one in piccolo, to test 
>> this kind of thing.
>>
>>  
>>
>> Steve
>>
>>  
>>
>> *From:* opensource-infrastructure-bounces at lists.ingres.com 
>> [mailto:opensource-infrastructure-bounces at lists.ingres.com] *On Behalf 
>> Of *Bodo Bergmann
>> *Sent:* Tuesday, May 13, 2008 8:49 PM
>> *To:* Discussions about the infrastructure needed to support a true 
>> opensourcecommunity; Alex Hanshaw
>> *Subject:* RE: [os-infrastructure] Pragmatic Version Control using 
>> Subversion
>>
>>  
>>
>> Steve,
>>
>>  
>>
>> the manual says in the "Cheap Copies" part:
>>
>> 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.
>>
>> But in case of taking a label (tagging) we don't do a "svn copy URL1 
>> URL2".
>>
>> The copy is rather done from a local working copy to a URL (svn copy 
>> my-working-copy http://svn.example.com/repos/calc/tags/mytag),
>>
>> so I'm not sure if the same "cheap copy" mechanism applies there too.
>>
>> Bodo.
>>
>>  
>>
>> ------------------------------------------------------------------------
>>
>> *From:* opensource-infrastructure-bounces at lists.ingres.com 
>> [mailto:opensource-infrastructure-bounces at lists.ingres.com] *On Behalf 
>> Of *Stephen Ball
>> *Sent:* Tuesday, May 13, 2008 12:30 PM
>> *To:* Alex Hanshaw
>> *Cc:* Discussions about the infrastructure needed to support a true 
>> opensourcecommunity
>> *Subject:* RE: [os-infrastructure] Pragmatic Version Control using 
>> Subversion
>>
>> Hi Alex,
>>
>>  
>>
>> Actually, the manual doesn’t make it completely clear exactly when the 
>> links are used and broken, so I’m not completely sure since I haven’t 
>> actually tried it. Assuming we’re talking entirely about the server 
>> rather than the client, the manual seems to imply that the links are 
>> created when the branch is taken, and then people might edit the files 
>> in the branch, and once they commit their changes back to the server 
>> the link is broken on the server and replaced with the updated file. I 
>> assume that if the client contains a copy of both the trunk and the 
>> branch, it will contain multiple copies of the files rather than links 
>> (as it does in piccolo). The description is in the section named 
>> “cheap copies” here:
>>
>>  
>>
>> http://svnbook.red-bean.com/nightly/en/svn.branchmerge.using.html
>>
>>  
>>
>> The implication is that taking branches doesn’t cost you disk space 
>> unless you change something in them.
>>
>>  
>>
>> Steve
>>
>>  
>>
>> *From:* Alex Hanshaw
>> *Sent:* Tuesday, May 13, 2008 8:00 PM
>> *To:* Stephen Ball
>> *Cc:* Discussions about the infrastructure needed to support a true 
>> opensource community
>> *Subject:* RE: [os-infrastructure] Pragmatic Version Control using 
>> Subversion
>>
>>  
>>
>> Hi Steve
>>
>> I can't see how svn could be using links in this situation. What step 
>> would break the link and provide a local copy? There's no concept of 
>> an "open" and
>> editing the file would change the tag and the original file in one hit.
>> Working through the steps to create a TAG no directory or local copy 
>> is established until you checkout the TAG. If you are are suggesting 
>> that svn
>> maintains files revision information in the repository and then 
>> creates a copy for the TAG branch IF changes are made in the tag, that 
>> makes sense because there
>> is no local visible copy until you check out the TAG.
>>
>> Alex
>>
>> On Mon, 2008-05-12 at 20:21 -0400, Stephen Ball wrote:
>>
>> Actually Subversion branching works much like piccolo branching, the 
>> branches themselves are implemented as hard links on the server until 
>> someone changes one of the files in the branch, at which time the link 
>> is broken and replaced with a real file; so the disk implications of a 
>> branch are very small…In any case disk is cheap.
>>
>>  
>>
>> In piccolo taking a branch does normally take a few hours and numerous 
>> branches eventually cause performance issues in the database, but the 
>> time and performance problem in piccolo is largely a design issue, the 
>> database itself was never designed with the intention of branching 
>> numerous (over 8,000) files numerous times. We shouldn’t assume that 
>> in Subversion branching either takes a long time or causes database 
>> performance issues, we need to test that aspect of it; since Grant has 
>> taken a branch already he may be able to add some input.
>>
>>  
>>
>> The one thing I’m worried about is the maintenance problem of numerous 
>> branches; as far as I can see we can’t avoid taking numerous branches 
>> of the code in order to get the features we need (my read on the 
>> documentation is the same as Alex’s, we need to make a branch in order 
>> to get a non head-rev tag), so how do we keep track of all the 
>> branches and make sure the whole things doesn’t become a big mess?
>>
>>  
>>
>> If anyone is interested, I have managed to install a version of the 
>> Subversive plug-in for Eclipse, and have it running against our 
>> repository. If we are to get a grip on branch maintenance, a GUI tool 
>> has to be in the picture, and Subversive looks promising. I have it 
>> all rolled up into a VMWare VM running SuSE Linux if anyone wants a 
>> copy; the VM includes SuSE 10.3, all the pre-requisites needed to 
>> build Ingres pulled directly from the SuSE repository, a copy of 
>> Eclipse with the CDT and the Subversive plug-in, and a complete 
>> pre-built copy of Ingres from about a week ago.
>>
>>  
>>
>> Steve
>>
>>  
>>
>>     IngresLogo_Color
>>
>>      
>>
>>     Steve Ball
>>
>>     Direcor, Ingres DBMS Development
>>
>>     *Ingres Corporation*
>>
>>     stephen.ball at ingres.com <mailto:first.last at ingres.com>
>>
>>      
>>
>>     *www.ingres.com <http://www.ingres.com>*
>>
>>      
>>
>>     This transmission is confidential and intended solely for the use
>>     of the recipient named above. It may contain confidential,
>>     proprietary, or legally privileged information. If you are not the
>>     intended recipient, you are hereby notified that any unauthorized
>>     review, use, disclosure or distribution is strictly prohibited. If
>>     you have received this transmission in error, please contact the
>>     sender by reply e-mail and delete the original transmission and
>>     all copies from your system.
>>
>>      
>>
>>     *From:*opensource-infrastructure-bounces at lists.ingres.com
>>     [mailto:opensource-infrastructure-bounces at lists.ingres.com] *On
>>     Behalf Of *Bodo Bergmann
>>     *Sent:* Tuesday, May 13, 2008 1:51 AM
>>     *To:* Alex Hanshaw; Discussions about the infrastructure needed to
>>     support a trueopensource community; OpenSourceInfrastructure
>>     *Subject:* AW: [os-infrastructure] Pragmatic Version Control using
>>     Subversion
>>
>>      
>>
>>     Yes, that's what I've already added to the Wiki page.
>>
>>
>>
>>      
>>
>>     But this implementation is both a waste of disk resources on the
>>     server
>>
>>     and also has a huge performance impact as
>>
>>     creating a label is not just a matter of seconds but will probably
>>     take several minutes.
>>
>>
>>
>>      
>>
>>     Bodo.
>>
>>      
>>
>>     ------------------------------------------------------------------------
>>
>>     *Von:*opensource-infrastructure-bounces at lists.ingres.com im
>>     Auftrag von Alex Hanshaw
>>     *Gesendet:* Mo 12.05.2008 08:02
>>     *An:* OpenSourceInfrastructure
>>     *Betreff:* [os-infrastructure] Pragmatic Version Control using
>>     Subversion
>>
>>     Hi all
>>
>>     So far one of the problem areas we've mentioned with regards to
>>     subversion is that there is no equivalent to a label.
>>     Some have already said "tags" do not provide the same functionality.
>>     However, in the above book I've just read "Tags can also be made
>>     from a mixed revision working copy - a set of files you've checked
>>     out that doesn't correspond to a single repository revision
>>     number". The book only arrived today, I check out the rest of the
>>     tags and branches section to see if this
>>     claim is true or not.
>>
>>     Alex
>>
>>
>>
>>      
>>
>>
>>  
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> opensource-infrastructure mailing list
>> opensource-infrastructure at lists.ingres.com
>> http://lists.ingres.com/mailman/listinfo/opensource-infrastructure
>>   
>>     
>
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> opensource-infrastructure mailing list
> opensource-infrastructure at lists.ingres.com
> http://lists.ingres.com/mailman/listinfo/opensource-infrastructure
>   


-- 
Grant Croker - Ingres PHP, Ruby and Python maintainer
Gods don't like people not doing much work. People who aren't busy all the time might start to think.
    -- Terry Pratchett, Small Gods

_______________________________________________
opensource-infrastructure mailing list
opensource-infrastructure at lists.ingres.com
http://lists.ingres.com/mailman/listinfo/opensource-infrastructure


More information about the opensource-infrastructure mailing list