cpphs now in CVS

Sven Panne Sven.Panne at aedion.de
Wed Jun 9 04:00:41 EDT 2004


Malcolm Wallace wrote:
>>>[...] You can make symlinks within the CVS repository if you need to, as I
>>>have already done to ensure that nhc98/src/cpphs points to the master
>>>copy of the sources.
>>
>>Huh? Symlinks? Modules are the usual way to tie together different directories
>>in CVS...
> 
> 
> Can't say I ever fully understood the concept of CVS modules.
> So how would I (for instance) graft the hierarchical libraries,
> hsc2hs, and cpphs into the source tree of nhc98, all of which are
> currently symlinks?

I just had a look at the repository structure and only now I fully realize what
you mean by symlinking in the repository. This is evil and confuses CVS quite
a bit! :-] You get e.g. locks *per directory* in the repository, but with the
Evil Symlinking (tm) you get several locks for one entity, which is hardly what
is intended.

After fiddling around quite a bit with the syntax of the module file, I've added
an example module "nhc98all" which does almost what you want:

-- CVSROOT/modules -----------------------------------------------------------------
...
nhc98only	-d nhc98_                nhc98
nhc98cpphs	-d nhc98_/src/cpphs_     cpphs
nhc98hsc2hs	-d nhc98_/src/hsc2hs_    fptools/ghc/utils/hsc2hs
nhc98libraries	-d nhc98_/src/libraries_ fptools/libraries
nhc98template	-d nhc98_/script_        fptools/ghc/utils/hsc2hs template-hsc.h
nhc98all	-a nhc98only nhc98cpphs nhc98libraries nhc98hsc2hs nhc98template nhc98template
------------------------------------------------------------------------------------

Using "cvs -d ... co nhc98all" yields a nh98_ directory with the various parts
grafted to the right places. The lines containing "-d" are sub-modules for the
various parts moved to the right place, and the final module simply collects
them all. The underscores are only a temporary measure while the old (evil :-)
stuff is still there. You can changes this when the symlinks are removed.

There are a few other symlinks in the repository (e.g. HaXml), we should fix them,
too.

Cheers,
    S.



More information about the Cvs-hugs mailing list