cpphs now in CVS
Malcolm Wallace
Malcolm.Wallace at cs.york.ac.uk
Wed Jun 9 11:06:28 EDT 2004
Sven Panne <Sven.Panne at aedion.de> writes:
> 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.
Well, I still don't understand why symlinks are evil, and locks
have never yet caused me a problem, but thank you for showing me the
CVS-native way of achieving my goal.
> 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
> --------------------------------------------------------------
Yes, it is almost right. That is, it seems to work nicely for
grafting directories, but doesn't work at all as expected for grafting
individual files, e.g. the template-hsc.h entry. If I remove its
symlink from the repository and de-underscore your module stuff:
nhc98template -d nhc98_/script fptools/ghc/utils/hsc2hs template-hsc.h
then template-hsc.h gets placed in the correct directory on checkout,
but subsequent operations (update, diff, commit) claim the file does
not exist in the repository.
Perhaps I will adopt your solution for directories but retain symlinks
for the files. :-] How does that grab you?
> There are a few other symlinks in the repository (e.g. HaXml), we should fix
> them, too.
Yes, I propose simply to move the actual HaXml sources into
fptools/libraries, so the original toplevel location is no longer
directly available, but replaced by a module definition like
HaXml -d HaXml fptools/libraries/HaXml
Regards,
Malcolm
More information about the Cvs-hugs
mailing list