summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestSVN.h
Commit message (Collapse)AuthorAgeFilesLines
* Use C++11 override instead of CM_OVERRIDEBrad King2017-09-151-8/+8
| | | | | | | | We now require C++11 support including `override`. Drop use of the old compatibility macro. Convert references as follows: git grep -l CM_OVERRIDE -- '*.h' '*.hxx' '*.cxx' | xargs sed -i 's/CM_OVERRIDE/override/g'
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+1
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* c++: prefer vectors over listsBen Boeckel2017-05-041-2/+1
| | | | | | | | | | | None of these usages of `std::list` were inserting or removing elements in the middle of the structure, so there were no benefits to using it. Other uses were related to C pointers being stable in a list of strings whereas in a vector of strings, small pointer optimizations could be moved and become invalid after a modification to the hosting vector. None of these uses modified the vector after handing out a C string to an external store.
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-1/+1
| | | | | | | | | | | | | Automate with: git grep -l '#include <cm_' -- Source \ | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g' git grep -l '#include <cmsys/' -- Source \ | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g' git grep -l '#include <cm[A-Z]' -- Source \ | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
* ctest_update: Capture failure of svn to load revisions and local modsBrad King2017-02-161-2/+2
| | | | Issue: #16646
* ctest_update: Refactor internal APIs to support more failure casesBrad King2017-02-161-4/+4
| | | | | | Thread failure of VC tool commands through more APIs so that we can detect when they fail. Defer updating of the individual VC tool usage the future and just return true from them for now.
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* CTestSVN: Fix segfault when CTEST_UPDATE_VERSION_ONLY is enabledNils Gladitz2016-09-121-1/+1
| | | | | | | | | Before the change the list of externals was queried only before the svn update. With the change the list is queried both before and after. This should also be more accurate since the list of externals might change during the update.
* CTest: fix include-what-you-use violationsDaniel Pfeifer2016-08-251-1/+11
|
* mark functions with CM_OVERRIDEDaniel Pfeifer2016-06-271-8/+8
|
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-6/+9
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* cmCTestUpdateHandler: Port to cmXMLWriterDaniel Pfeifer2015-05-261-1/+1
|
* cmStandardIncludes: Remove list include.Stephen Kelly2015-02-061-0/+2
| | | | Include it only where used.
* cmCTestSVN: Fix compilation with Sun CC 5.1Brad King2012-10-041-0/+1
| | | | | | | Hack access to cmCTestVC::Revision on this compiler to avoid errors like Source/CTest/cmCTestSVN.cxx, line 23: Error: cmCTestSVN::SVNInfo is not accessible from cmCTestSVN::Revision. Source/CTest/cmCTestSVN.cxx, line 22: Error: cmCTestVC::Revision is not accessible from file level.
* ctest_update: Tell svn not to prompt interactively (#13024)Nils Gladitz2012-09-251-0/+3
| | | | | While at it, add SVNOptions/CTEST_SVN_OPTIONS configuration settings to add options to all svn invocations instead of just "svn update".
* cmCTestSVN: Add a LoadExternal() function and an ExternalParser classXavier Besseron2012-09-041-0/+3
| | | | | | This call 'svn status' and parse the result to get the list of externals repositories. The external repositories found are added to the Repositories list.
* cmCTestSVN: Use the SVNInfo structureXavier Besseron2012-09-041-12/+3
| | | | | | | - Suppress the URL, Root, Base fields from the cmCTestSVN class - Update the code to use RootInfo instead - LoadInfo(), GuessBase(), and a new LoadRevision() functions work on a given SVNInfo - Use the implementation from the base class for LocalPath(), correct path is built by SVNInfo::BuildLocalPath() instead
* cmCTestSVN: Add the Repositories list and the RootInfo pointerXavier Besseron2012-09-041-0/+6
| | | | | | The Repository list will contain the SVNInfo of all the repositories (root and external ones). The RootInfo pointer will point to the SVNInfo structure of the root repository.
* cmCTestSVN: Extend Revision struct with SVN repo informationXavier Besseron2012-09-041-2/+5
| | | | Also rename DoRevision to DoRevisionSVN since the signature changes.
* cmCTestSVN: Add the new SVNInfo structureXavier Besseron2012-09-031-0/+25
| | | | | It represents information of an SVN repository. It can be the base repository or an external one.
* Submit Subversion directory path in Update.xmlBrad King2009-12-181-0/+2
| | | | | | | | | | A Subversion revision is unique across the entire repository, but work trees typically correspond only to a subdirectory below the root path. In order to specify the version of the source code that was tested, CTest now submits a <SVNPath> element in Update.xml that specifies the directory of the repository that corresponds to the work tree. In combination with the revision number this uniquely specifies the tested source. See issue #7541.
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* ENH: Factor global-VC parts out of cmCTestSVNBrad King2009-04-221-27/+2
| | | | | | This factors parts of the svn update implementation that are useful for any globally-versioning vcs tool into cmCTestGlobalVC. It will allow the code to be shared among the support classes for most vcs tools.
* ENH: Rewrite CTest Update implementationBrad King2009-02-251-2/+36
| | | | | | | | | | | | | | | This adds a new VCS update implementation to the cmCTestVC hierarchy and removes it from cmCTestUpdateHandler. The new implementation has the following advantages: - Factorized implementation instead of monolithic function - Logs vcs tool output as it is parsed (less memory, inline messages) - Uses one global svn log instead of one log per file - Reports changes on cvs branches (instead of latest trunk change) - Generates simpler Update.xml (only one Directory element per dir) Shared components of the new implementation appear in cmCTestVC and may be re-used by subclasses for other VCS tools in the future.
* ENH: Teach cmCTestSVN to load repo/tree relationBrad King2009-02-241-0/+9
| | | | | | This teaches cmCTestSVN::NoteNewRevision to save the repository URL checked out in the work tree, the repository root, and the path below the root to reach the full URL.
* ENH: Factor out VCS work tree revision checksBrad King2009-02-241-0/+14
| | | | | This moves checks of the work tree revision before and after update from cmCTestUpdateHandler::ProcessHandler into the cmCTestVC hierarchy.
* ENH: Factor out svn work tree cleanupBrad King2009-02-241-0/+4
| | | | | This removes work tree cleanup from cmCTestUpdateHandler and adds an interface for it in cmCTestVC with an implementation in cmCTestSVN.
* ENH: Add cmCTestCVS and cmCTestSVNBrad King2009-02-241-0/+35
These cmCTestVC subclasses will implement interaction with CVS and SVN tools.