Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] CDT compile errors after update from CVC

On 3/3/2010 9:22 AM, James Blackburn wrote:
Aren't there Git CDT repositories already on http://dev.eclipse.org/git/?
git://dev.eclipse.org/org.eclipse.cdt/org.eclipse.cdt-build.git
...
git://dev.eclipse.org/org.eclipse.cdt/org.eclipse.cdt.git
The granularity seems to be exactly what I would start with.
I must admit I've been averse to having these massive git repositories
as you have to clone the entire tree when you want to work on
something rather than checking out an individual Eclipse projects as
we currently do in CVS. IMHO project sets would give you an equivalent
functionality without requiring projects to be in the same git
repository.

FYI the cdt.core.git repo is 39M (which isn't too bad given it
contains all the history); however this is a big download for someone
who just wants to checkout cdt.core.  Amusingly the git repository for
org.eclipse.cdt/* is 131M, the full-source checkout of this git repo
is 176M(!). It takes less space to store all the history for CDT than
it does for the source checked out!

We definitely have to take a look at the structure before deciding the right
approach. I'm not sure how they've set these repos up since there are
symbolic links between them, especially from the cdt repo to the cdt-* ones...
Currently the CVS repo is a bit of a spiders web of links. I started
tracking this in git recently, so it may be worth noting down where
things really are (correct as of Sept 09):

Feature are located in two separate trees:

Directly under tools (for the old(er) features):
cvs/tools/org.eclipse.cdt-build
                org.eclipse.cdt-core
                org.eclipse.cdt-debug
                org.eclipse.cdt-launch
                org.eclipse.cdt-releng
                org.eclipse.cdt-contrib
                org.eclipse.cdt-cppunit
                org.eclipse.cdt-doc
                org.eclipse.cdt-old

New features:
cvs/tools/org.eclipse.cdt/
                                       c99/
                                       codan/
                                       cppunit/  ->  contains links up
                                       cross/
                                       dsf/
                                       dsf-gdb/
                                       jtag/
                                       lrparser/
                                       memory/
                                       mylyn/
                                       old/
                                       p2/
                                       releng/
                                       upc/
                                       util/
                                       windows/
                                       xlc/
                                       all/  ->  _almost_ exclusively
contains links

Now 'cvs/tools/org.eclipse.cdt/all' is special. It contains sym-links
to all the old(er) plugins which are in the top level of the
repository _apart_ from the following:
    all/
        org.eclipse.cdt.gnu.build-feature
        org.eclipse.cdt.gnu.debug-feature
        org.eclipse.cdt.platform-feature
        _Doug did you add you new build projects under here?_
These feature directories really live under all...


Perhaps the above could be rationalised?
In particular:
    - Move any real content out of the 'all' meta grouping to the
locations of the features where they belong. Create symlinks back for
these as is done for all the older(er) content.
    - Move the older(er) features from the top level to
org.eclipse.cdt/feature_name. Fix-up with symlinks.

Having done this we would have a repository layout that we can explain
to people :). All features live under
   org.eclipse.cdt/<feature_name>
and it's easy to create git repositories at this level (if this is the
granularity we want), as well as create projects sets that checkout
the features required for Debug + DSF, or Build, or All, or whatever.

Thoughts?

Cheers,
James
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
http://gitorious.org/boost

They are using something like "Git subprojects" or sub modules or something like that. I can't find the email where it was explained to me. Maybe the Git repo for CDT needs to setup the same type of thing.

Mike Jackson


Back to the top