[os-infrastructure] svn and piccolo
Andrew Ross
Andrew.Ross at ingres.com
Thu May 22 09:00:09 PDT 2008
Understood about the replicated piccolo server & database company
comment Alex. Perhaps you would like to race... you setting up &
documenting work flow for replicated piccolo vs. me setting up a
mirrored svn repository?
;-)
Regarding svn's build in merge capabilities. No argument is needed. The
svn team is very up front about the fact they make no attempt to provide
a leading diff tool. Pick whichever diff tool you like and tell svn to
use it. If we believe this were a real show stopper, then we must feel
the countless people using svn are daft.
In general, regarding mixed revision requirement will be a challenge to
most version control systems on the market (closed source or open). It
sounds like the answer to my question is that you're in favour of
running two systems, correct?
Andrew
________________________________
From: opensource-infrastructure-bounces at lists.ingres.com
[mailto:opensource-infrastructure-bounces at lists.ingres.com] On Behalf Of
Alex Hanshaw
Sent: May 22, 2008 11:05 AM
To: Discussions about the infrastructure needed to support a true
opensourcecommunity
Cc: David Reed; Robert Kibble
Subject: RE: [os-infrastructure] svn and piccolo
Hi Andrew
So far my experience of svn's merge capabilities is that it is
dreadful. Merging a change that adds a line and deletes a line against
an earlier
revision of a file failed miserably and required a manual merge.
Mercurial documentation includes an overview of other software and the
merge
capabilities of svn were one of the big criticisms aimed at svn. SE
crosses all changes to all forward code lines. Poor merge means a lot of
manual work.
svn does not have labels, it has tags that turn into a branch so you
can pulled a mixed code revision with and use it for further code
submissions.
The number of times I pull an entire build is very small. Regular
incremental pulls to head revs not only mean that HOQA tests are
against current change but mean that piccolo network performance is not
an issue. Mixed revision labels from which we can work is a requirement.
svn does not provide that requirement. You would need to pull a tag work
out wha the fix was and then pull a second build against the main
code repository in order to submit the change and not make the tag a
branch. So now I'd have to pull 2 copies locally.
Given my experience of svn's attempts to merge changes I'm not so sure
one system would actually be less work.
If piccolo performance is really that bad I'm sure "p read" could be
set up to pull from a local read only replicated DB. If only we were a
database company with a replication product.
Alex
________________________________
From: opensource-infrastructure-bounces at lists.ingres.com
[mailto:opensource-infrastructure-bounces at lists.ingres.com] On Behalf Of
Andrew Ross
Sent: 22 May 2008 15:42
To: Discussions about the infrastructure needed to support a true
opensourcecommunity
Cc: David Reed; Robert Kibble
Subject: RE: [os-infrastructure] svn and piccolo
Hi Alex, Bruce, All
I haven't had time to try it yet, but I'm fairly certain we can mirror
the repository to all offices. You'd pull code or update from a
read-only mirror that's available on the local (gigabit) network. This
should take a deterministic amount of time and greatly reduce
inter-office (VPN?) code pull traffic.
The read-only mirror repositories would sync when someone commits code
to the master.
Updates will be committed against the master repository. Since we're
mostly only pushing tiny diffs, even going over a slow network for this
should still be zippy.
Andrew
p.s. Following up on the disk space & svn discussion. The repository
today consumes only 266MB of disk space, even with the branches people
have created. Borrowing a line from Steve, disk space is indeed cheap.
Having issues with disk space because people are using the system *a
lot* is a good problem to have.
________________________________
From: opensource-infrastructure-bounces at lists.ingres.com
[mailto:opensource-infrastructure-bounces at lists.ingres.com] On Behalf Of
Alex Hanshaw
Sent: May 22, 2008 10:23 AM
To: Discussions about the infrastructure needed to support a true
opensourcecommunity
Cc: David Reed; Robert Kibble
Subject: RE: [os-infrastructure] svn and piccolo
Hi Bruce
Piccolo is throttled on the network, svn is not.
Svn took over an hour to come down in the uk, vs 5 minutes for Andrew.
There may be a problem in setting up the OpenRoad community repository
given the code is shares from
different versions of Ingres. Some discussion with Andrew may be
required.
Alex
________________________________
From: opensource-infrastructure-bounces at lists.ingres.com
[mailto:opensource-infrastructure-bounces at lists.ingres.com] On Behalf Of
Bruce A. Lunsford
Sent: 22 May 2008 15:17
To: Discussions about the infrastructure needed to support a true
opensourcecommunity
Cc: David Reed; Robert Kibble
Subject: RE: [os-infrastructure] svn and piccolo
Sounds good to me, particularly if the syncing of piccolo-opensrc and
svn is automated, which it seems like it could be. One other advantage
is that we don't lose the history in piccolo by a 1-time switchover to
svn (or alternatively have to come up with a way to get the history
migrated to svn). One downside is that I was really enjoying the
under-10-minute refresh of an entire source build area using svn as
opposed to 8 hours or so with piccolo (which is why "p need" will
continue to be the favored approach with piccolo versus blowing away a
build area and starting from scratch).
>From the perspective of EDBC, this approach also helps because the EDBC
server code is now at the point of being put into piccolo. This was
never possible before because of the lack of a piccolo mainframe client,
which was recently completed. Moving to another CM system would have
meant porting another CM client to the mainframe (or sticking with
piccolo).
Regards,
Bruce
________________________________
From: opensource-infrastructure-bounces at lists.ingres.com
[mailto:opensource-infrastructure-bounces at lists.ingres.com] On Behalf Of
Alex Hanshaw
Sent: Thursday, May 22, 2008 3:49 AM
To: opensource-infrastructure at lists.ingres.com
Cc: David Reed; Robert Kibble
Subject: [os-infrastructure] svn and piccolo
Hi all
Robert Kibble today suggested a rather neat solution to our svn and
piccolo dilemma.
The idea is that we create a piccolo branch off of main that is
identical and kept in tight lock step with
the svn repository.
Every submission in the svn repository could then be replicated in the
piccolo-opensrc branch with a file
copy of the affected files. No need to merge difs.
Every change in the svn repository could then be easily integrated into
main through the use of an ineed against
the piccolo-opensrc branch.
Any change in main that we wished to push through into the svn
repository could be done by locking the affected
files in the svn repository at head rev, crossing the change from main
into the piccolo-opensrc branch (identical
at head rev to svn) and then whole file copy the piccolo-opensrc files
to the svn repository for submission.
By forcing a tight lockstep of the svn repository and the
piccolo-opensrc branch replicating the changes between
the two repositories would be as simple as copying files.
If we adopt this approach:
1) We have zero disruption to our paying customers.
2) We can provide a community codeline using svn.
3) We can easily pull changes between the community repository and
our piccolo repository.
4) No need to rewrite existing scripts and procedures built on and
around piccolo.
5) Significantly reduced svn training costs.
6) Ingres staff wanting to contribute to the community edition can
working in svn or piccolo (removes the barrier of not knowing svn).
Let me know what you think.
Regards
Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ingres.com/pipermail/opensource-infrastructure/attachments/20080522/936a4760/attachment-0001.html
More information about the opensource-infrastructure
mailing list