| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*============================================================================
- CMake - Cross Platform Makefile Generator
- Copyright 2000-2009 Kitware, Inc.
- Distributed under the OSI-approved BSD License (the "License");
- see accompanying file Copyright.txt for details.
- This software is distributed WITHOUT ANY WARRANTY; without even the
- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the License for more information.
- ============================================================================*/
- #ifndef cmCTestGIT_h
- #define cmCTestGIT_h
- #include "cmCTestGlobalVC.h"
- /** \class cmCTestGIT
- * \brief Interaction with git command-line tool
- *
- */
- class cmCTestGIT: public cmCTestGlobalVC
- {
- public:
- /** Construct with a CTest instance and update log stream. */
- cmCTestGIT(cmCTest* ctest, std::ostream& log);
- virtual ~cmCTestGIT();
- private:
- unsigned int CurrentGitVersion;
- unsigned int GetGitVersion();
- std::string GetWorkingRevision();
- virtual void NoteOldRevision();
- virtual void NoteNewRevision();
- virtual bool UpdateImpl();
- std::string FindGitDir();
- std::string FindTopDir();
- bool UpdateByFetchAndReset();
- bool UpdateByCustom(std::string const& custom);
- bool UpdateInternal();
- void LoadRevisions();
- void LoadModifications();
- // "public" needed by older Sun compilers
- public:
- // Parsing helper classes.
- class OneLineParser;
- class DiffParser;
- class CommitParser;
- friend class OneLineParser;
- friend class DiffParser;
- friend class CommitParser;
- };
- #endif
|