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

> 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


Back to the top