[cvsnt] Strange virtual modules checkouts

Bo Berglund Bo.Berglund at system3r.se
Mon Oct 24 09:43:44 BST 2005


One of my developers came across a strange problem with using virtual modules:

The modules file contains this definition of a module:
MPMakinoMEL  &_MPCommonModules \
             &_MPMakinoMELSrc \
             &_MPMakinoMELConfigDll \
             &_MPMakinoMELMachinefiles \
             &_MPMakinoMELWrapper \
             &_MPMakinoMELClassfiles \
             &_MPMakinoMELUtilfiles 

The definition of the _MPMakinoMELConfigDll module is:
_MPMakinoMELConfigDll -d Source/cfg/bin MP/Bin/ConfigDll MPMakinoMELConfig.dll

Note that the single file is retrieved from the external location MP/Bin/ConfigDll.

The _MPMakinoMELSrc definition is:
_MPMakinoMELSrc -d Source MP/Makino/MPMakinoMEL

This module is checked out in full and it contains a subdir named cfg.
The cfg module contains the sources for MPMakinoMELConfig.dll so the developer
wanted to move the binary back to a bin subfolder using the modules file.

When we use this module for checkout this is also what happens,
the Source/cfg/bin folder is cretated and populated with the single dll 
file as requested.
The CVS metadata for the bin folder contains the Entries.Static file too.

Now the strange thing:
When one checks out the same module again on top of itself (the recommended 
way to do an update for a virtual module to retrieve also new folders from 
the server) then the Source/cfg/bin folder suddenly gets *all* of the files 
from the repository, not only the wanted dll file!
It looks like the Entries.Static file is no longer respected and sure enough 
the second checkout removes the Entries.Static file.

The server is still 2.0.41a but I have tested with the bleeding edge
cvsnt build 2130 on the client side as well as a few older ones all the
way back to 2.0.41.
All behave the same way.

Is it forbidden to embed a directory from another location into a checked
out module like this?

Final question:
I noted that the Entries files seem to have a final line with a single D
as the contents and no directory name. What does this mean?

/Bo



More information about the cvsnt mailing list