X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FVCBackend.h;h=570c4a295f2ccfe3c91c1c4be68a5cba29f7401f;hb=78e256163ab4fef7766d023bf8388ac062a49984;hp=ab7f52fd9d6399bc06a71172d5034b18da1f5472;hpb=22b7ad2b0a6c228f234bcf7f5a0b164fca17e122;p=lyx.git diff --git a/src/VCBackend.h b/src/VCBackend.h index ab7f52fd9d..570c4a295f 100644 --- a/src/VCBackend.h +++ b/src/VCBackend.h @@ -33,14 +33,13 @@ public: UNLOCKED, LOCKED, NOLOCKING, - /// This file is not in version control, but it could be aded - /// (because the path is under version control) - UNVERSIONED, }; - VCS(Buffer * b) : owner_(b) {} + VCS(Buffer * b) : vcstatus(NOLOCKING), owner_(b) {} virtual ~VCS() {} + /// the name of the vc backend + virtual std::string vcname() const = 0; /// register a file for version control virtual void registrer(std::string const & msg) = 0; /// can this operation be processed in the current VCS? @@ -52,7 +51,7 @@ public: /// copy a file. Return non-empty log on success, empty log on failure. virtual std::string copy(support::FileName const &, std::string const &) = 0; /// check in the current revision. - /// \p log is non-empty on success and may be empty on failure. + /// \p log is non-empty on success and may be empty on failure. virtual LyXVC::CommandResult checkIn(std::string const & msg, std::string & log) = 0; /// can this operation be processed in the current VCS? @@ -105,9 +104,9 @@ public: virtual bool prepareFileRevisionEnabled() = 0; /// Check the directory of file and all parent directories - /// for the existence of the given pathname - static bool checkparentdirs(support::FileName const & file, std::string const & pathname); - + /// for the existence of repository-info like .git or .svn + static bool checkparentdirs(support::FileName const & file, std::string const & vcsdir); + protected: /// parse information from the version file virtual void scanMaster() = 0; @@ -115,7 +114,7 @@ protected: /// Prepare a version identifier suitable for RCS and CVS. /// If needed converts last or relative number to the absolute revision. bool makeRCSRevision(std::string const &version, std::string &revis) const; - + /// GUI container for doVCCommandCall int doVCCommand(std::string const & cmd, support::FileName const & path, bool reportError = true); /** @@ -153,6 +152,8 @@ public: /// get file from repo, the caller must ensure that it does not exist locally static bool retrieve(support::FileName const & file); + virtual std::string vcname() const { return "RCS"; }; + virtual void registrer(std::string const & msg); virtual bool renameEnabled(); @@ -237,6 +238,8 @@ public: /// get file from repo, the caller must ensure that it does not exist locally static bool retrieve(support::FileName const & file); + virtual std::string vcname() const { return "CVS"; }; + virtual void registrer(std::string const & msg); virtual bool renameEnabled(); @@ -276,7 +279,7 @@ public: virtual void getLog(support::FileName const &); - /// Check for messages in cvs output. + /// Check for messages in cvs output. /// Returns conflict line. std::string scanLogFile(support::FileName const & f, std::string & status); @@ -331,7 +334,7 @@ private: static int doVCCommandCallWithOutput(std::string const & cmd, support::FileName const & path, support::FileName const & output); - + /// return the quoted pathname if Directory or filename if File virtual std::string const getTarget(OperationMode opmode) const; /// collect the diff of file or directory against repository @@ -376,6 +379,8 @@ public: /// get file from repo, the caller must ensure that it does not exist locally static bool retrieve(support::FileName const & file); + virtual std::string vcname() const { return "SVN"; }; + virtual void registrer(std::string const & msg); virtual bool renameEnabled(); @@ -484,6 +489,8 @@ public: /// get file from repo, the caller must ensure that it does not exist locally static bool retrieve(support::FileName const & file); + virtual std::string vcname() const { return "GIT"; }; + virtual void registrer(std::string const & msg); virtual bool renameEnabled();