1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmCTestSVN.h,v $
6 Date: $Date: 2009-04-22 13:18:19 $
7 Version: $Revision: 1.6 $
9 Copyright (c) 2002 Kitware, Inc. All rights reserved.
10 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
20 #include "cmCTestGlobalVC.h"
23 * \brief Interaction with subversion command-line tool
26 class cmCTestSVN
: public cmCTestGlobalVC
29 /** Construct with a CTest instance and update log stream. */
30 cmCTestSVN(cmCTest
* ctest
, std::ostream
& log
);
32 virtual ~cmCTestSVN();
35 // Implement cmCTestVC internal API.
36 virtual void CleanupImpl();
37 virtual void NoteOldRevision();
38 virtual void NoteNewRevision();
39 virtual bool UpdateImpl();
41 // URL of repository directory checked out in the working tree.
44 // URL of repository root directory.
47 // Directory under repository root checked out in working tree.
50 std::string
LoadInfo();
51 void LoadModifications();
54 void GuessBase(std::vector
<Change
> const& changes
);
55 const char* LocalPath(std::string
const& path
);
57 void DoRevision(Revision
const& revision
,
58 std::vector
<Change
> const& changes
);
60 // Parsing helper classes.
65 friend class InfoParser
;
66 friend class LogParser
;
67 friend class StatusParser
;
68 friend class UpdateParser
;