[CMake] CTEST_UPDATE_COMMAND vs sparse working copy (was Re: continuous integration with CMake)

Clinton Stimpson clinton at elemtech.com
Wed Feb 17 18:16:15 EST 2010


On 02/17/2010 03:49 PM, Tyler Roscoe wrote:
> On Wed, Feb 17, 2010 at 03:16:13PM -0700, Clinton Stimpson wrote:
>    
>> Have you tried setting CTEST_UPDATE_OPTIONS to contain the extra arguments for
>> updating the way you want?
>>      
> This affects the svn update command itself (which is working fine
> without further adjustment) but does not appear to affect the later svn
> log and svn status calls which (I assume) are what CTest parses to
> generate the Update log.
>
> Worse news for me: I don't think I can run "svn log projectA/ projectB/"
> to try to only get logs for those areas I care about because:
>
>      svn: When specifying working copy paths, only one target may be given
>
> (I tried with URLs instead of working copy paths but that didn't work
> either.)
>    

What about multiple ctest_update() calls (one for each sub dir)?
I've put in a request for that to be handled too.
http://public.kitware.com/Bug/view.php?id=8263

Clint

> Thanks,
> tyler
>
>    
>> On Wednesday 17 February 2010 02:45:17 pm Tyler Roscoe wrote:
>>      
>>> I've got a preliminary Continuous Integration system up and running
>>> based on the scripts Bill pointed me to. Thanks Bill!
>>>
>>> I have some questions about this setup. Let me know if you think I would
>>> get better responses on the CDash list. I'm going to break up these
>>> questions into separate posts to hopefully make ensuing discussion
>>> easier to follow in the mailing list archives.
>>>
>>> - CTEST_UPDATE_COMMAND vs sparse working copy
>>>
>>> For our project, we use Subversion and sparse working copies
>>> (http://svnbook.red-bean.com/nightly/en/svn.advanced.sparsedirs.html).
>>>
>>> A quick summary: Our repo looks like this:
>>>
>>> common/
>>> projectA/
>>> projectB/
>>> projectC/
>>> legacystuff/
>>>
>>> We use sparse working copies so that we can check out common/ and
>>> projectA/ without checking out the unrelated projectB/, projectC/, and
>>> legacystuff/ directories. Running svn update in a working copy
>>> configured this way only pulls changes in the desired modules (common/
>>> and projectA/).
>>>
>>> The Update phase of CTest doesn't understand sparse directories so it
>>> reports all changes and kicks off a build for all commits to the repo
>>> instead of just the commits in the directories I actually have checked
>>> out in my working copy.
>>>
>>> Does anyone else use sparse directories with CTest/CDash? Ideas on how
>>> to make it work? Do I need to write a replacement for "svn update" that
>>> only reports changes I care about? Do I need to hack
>>> CTest/cmCTestSVN.cxx to add support for a sparse directory mode?
>>>        



More information about the CMake mailing list