Curtis Olson wrote:
On Wed, Sep 2, 2009 at 2:02 PM, Tom P <[email protected]
<mailto:[email protected]>> wrote:
Hi Curt
My only concern with SVN is that it stores every file twice in the
local file system, so it's not ideal for the 'data' portion of
FlightGear. For example, right now a complete checkout of Aircraft
is ~ 2 GB, and it would double overnight.
A quick check of the 'data' repository reports it's size is about
5Gb. Presumably with a distributed source code control system, each
end user would be downloading this much data + the disk space foot
print would be at least this much (+ maybe the extra 2Gb for a working
copy?)
Yes, I agree, a distributed system is overkill for the data portion.
But for source, it's VERY powerful and convenient, and the fact that it
doesn't scatter CVS or .svn directories all over the tree is a major
plus in my eye.
Is this an argument to stay with CVS for the data portion of the project?
Well, it's more an argument in favor of splitting the data and source
code, like it's already the case for the Scenery
http://code.google.com/p/terrascenery/
Because the two sets seem to have different requirements when it comes
to revision control.
1) data is handled well by a lightweight client-server model (either CVS
or SVN) that:
- allows users and developers to synchronize their local data set,
simply and quickly
- for updates, the UI is very simple
- the client is available as a library and can be embedded inside
tools like 'terrasync'
- the repository has a small footprint on the local system (ok, SVN is
not ideal, but still manageable)
- doesn't need advanced support for branching and merging
- doesn't need local access to the entire project history
2) source can be handled equally well with a centralized server model or
with a distributed one, but as FG development evolves, the requirements
will grow from basic centralized revision control to:
- advanced branching and merging
- completely unplugged operation
(very nice, you can code on your laptop and have the entire project
history at your fingertips)
- support for a work-flow where many developers don't have commit
access to the central repository and send patches
This is a good point to bring up though in advance. The default
project quota at code.google.com <http://code.google.com> (is there a
shorter abbreviation?) is 1Gb so we'd be fine for SimGear and
FlightGear code, but we'd blow way over that for data.
terrascenery is hosted on code.google.com, and that's way above 1 GB, so
Google probably waives the limit for specific projects.
I know, disk space is cheap in these days, but the double-write
also results in slower checkouts.
In other words, I think we should import FlightGear as well into
code.google.com <http://code.google.com> and see if we are happy
with the performance before jumping.
Part of the goal of my original post was to have people take a look at
SimGear in google/svn form to see if there were any major oversights
in the migration process before we make any actual move. But
certainly the large size of the data is an additional dimension to test.
I'm available to test a SVN FlightGear repo on code.google.com if you
have the time to import from CVS.
I can benchmark checkout times and disk usage and provide a comparison
between CVS, SVN and the GIT repositories.
Just let me know, thanks.
Apart from this concern, I've used CVS, SVN and GIT and I'm not
religious about the choice.
In the end, any tool will work as long as it's:
- fast
- easy to use
- well integrated with other tools like bug tracking SW <-----
and this is very important IMHO
(you have bugs referring to check-ins, check-ins referring to
bugs, RSS feeds of changes, etc ...)
I noticed google has an interesting system (which I haven't explored
in detail) that allows users to rate individual commits as positive,
neutral, or negative, with the option to leave comments. Any changes
to the tools also implies some changes to the typical workflow, but
code.google.com <http://code.google.com> has some nice features.
Yep, by switching we would get a nice issue tracker, I think it could be
a huge improvement for the project.
It also supports mercurial (hg) which might be an option for the
future if we decide a distributed source code management system is the
better way to go.
And here's a page comparing SVN, GIT and Mercurial. It's light on
details but might help a bit with the decision:
http://www.russellbeattie.com/blog/distributed-revision-control-systems-git-vs-mercurial-vs-svn
Regards,
Curt.
--
Curtis Olson: http://baron.flightgear.org/~curt/
<http://baron.flightgear.org/%7Ecurt/>
------------------------------------------------------------------------
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
------------------------------------------------------------------------
_______________________________________________
Flightgear-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Flightgear-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel