View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007541CDashpublic2008-08-25 15:362009-12-18 08:21
ReporterBrad King 
Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusnewResolutionopen 
PlatformOSOS Version
Product Version1.2 
Target VersionFixed in Version 
Summary0007541: support modern version-control tools
DescriptionCurrently CDash supports only CVS-style file-based reporting of changes, and only defines a global revision by means of a date and a "nightly start time". Support for modern version-control tools requires a true notion of global revisions, as well as separate commit/publication times.
Additional InformationI've written some design discussion in the Wiki:

http://public.kitware.com/Wiki/CDash:Design#Global_Project_Revisions [^]
TagsNo tags attached.
Attached Files

 Relationships
parent of 0006857closedBrad King CMake Feature request: More UPDATE_TYPE (e.g. bzr) in CTest 
parent of 0006994closedBrad King CMake Add git support to CTest 
parent of 0008168closedBrad King CMake CTest retrieval of file versioning history has logic errors 
parent of 0007879closedBrad King CMake Support for mercurial 
parent of 0005258closedBrad King CMake Patch for perforce support in ctest 
related to 0003731closedBrad King CMake CTest incorrectly escpes SVN log while building Update.xml 

  Notes
(0015389)
Brad King (manager)
2009-02-25 14:47

I've made progress on the CMake side of this. The following changes are the main commit which rewrites the CTest Update handling. It now uses a factorized implementation that is more easily extended to other VCS tools.

ENH: Rewrite CTest Update implementation
/cvsroot/CMake/CMake/Source/CTest/cmCTestCVS.cxx,v <-- Source/CTest/cmCTestCVS.cxx
new revision: 1.2; previous revision: 1.1
/cvsroot/CMake/CMake/Source/CTest/cmCTestCVS.h,v <-- Source/CTest/cmCTestCVS.h
new revision: 1.2; previous revision: 1.1
/cvsroot/CMake/CMake/Source/CTest/cmCTestSVN.cxx,v <-- Source/CTest/cmCTestSVN.cxx
new revision: 1.5; previous revision: 1.4
/cvsroot/CMake/CMake/Source/CTest/cmCTestSVN.h,v <-- Source/CTest/cmCTestSVN.h
new revision: 1.5; previous revision: 1.4
/cvsroot/CMake/CMake/Source/CTest/cmCTestUpdateHandler.cxx,v <-- Source/CTest/cmCTestUpdateHandler.cxx
new revision: 1.62; previous revision: 1.61
/cvsroot/CMake/CMake/Source/CTest/cmCTestVC.cxx,v <-- Source/CTest/cmCTestVC.cxx
new revision: 1.7; previous revision: 1.6
/cvsroot/CMake/CMake/Source/CTest/cmCTestVC.h,v <-- Source/CTest/cmCTestVC.h
new revision: 1.6; previous revision: 1.5
(0018945)
Brad King (manager)
2009-12-18 08:21

The "Nightly Start Time" is not well-defined for distributed version control tools. There is discussion of this problem in some of the tool-specific children of this bug. DVCS tools allow so much flexibility that there is no "right" way to define and publish a nightly version. Our solution on the CTest side is to let individual project maintainers choose how to publish a nightly version that fits their workflow (IOW, no CTest-mandated approach).

The important part is that submissions to CDash indicate exactly what version of the project was tested. Previously this was determined for CVS (which versions files, not trees) by the nightly start time for Nightly builds, and left completely out for Experimental builds (other than file-wise update info). I've made changes to CTest to submit whole-tree revision information in Update.xml for all tools except CVS. This can be used by CDash to link to web viewers and/or display the exact version on the updates page.

Submit global tree revision in Update.xml
/cvsroot/CMake/CMake/Source/CTest/cmCTestGlobalVC.cxx,v <-- Source/CTest/cmCTestGlobalVC.cxx
new revision: 1.3; previous revision: 1.2
/cvsroot/CMake/CMake/Source/CTest/cmCTestGlobalVC.h,v <-- Source/CTest/cmCTestGlobalVC.h
new revision: 1.3; previous revision: 1.2
/cvsroot/CMake/CMake/Tests/CTestUpdateCVS.cmake.in,v <-- Tests/CTestUpdateCVS.cmake.in
new revision: 1.7; previous revision: 1.6
/cvsroot/CMake/CMake/Tests/CTestUpdateCommon.cmake,v <-- Tests/CTestUpdateCommon.cmake
new revision: 1.7; previous revision: 1.6

Submit Subversion directory path in Update.xml
/cvsroot/CMake/CMake/Source/CTest/cmCTestSVN.cxx,v <-- Source/CTest/cmCTestSVN.cxx
new revision: 1.10; previous revision: 1.9
/cvsroot/CMake/CMake/Source/CTest/cmCTestSVN.h,v <-- Source/CTest/cmCTestSVN.h
new revision: 1.8; previous revision: 1.7

 Issue History
Date Modified Username Field Change
2008-08-25 15:36 Brad King New Issue
2008-08-25 15:37 Brad King Relationship added related to 0006857
2008-08-25 15:38 Brad King Relationship added related to 0006994
2009-02-25 14:47 Brad King Note Added: 0015389
2009-02-25 14:58 Brad King Relationship added parent of 0008168
2009-03-05 10:40 Brad King Relationship added related to 0003731
2009-07-10 11:20 Brad King Relationship replaced parent of 0006994
2009-07-10 11:21 Brad King Relationship replaced parent of 0006857
2009-07-10 11:21 Brad King Relationship added parent of 0007879
2009-08-20 10:44 Brad King Relationship added parent of 0005258
2009-12-18 08:21 Brad King Note Added: 0018945


Copyright © 2000 - 2018 MantisBT Team