X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FVCBackend.h;h=ab83535ad7f65fd21847ae564d94502293c9590c;hb=cca78e3c8ae27431323746abd64f9d7db017099d;hp=ad441c60816edade7d1436d12bb43f7b471ce6ca;hpb=bb14dc3a00a54f5c44e6d5c203f604153dfc4353;p=lyx.git diff --git a/src/VCBackend.h b/src/VCBackend.h index ad441c6081..ab83535ad7 100644 --- a/src/VCBackend.h +++ b/src/VCBackend.h @@ -34,12 +34,12 @@ public: /// register a file for version control virtual void registrer(std::string const & msg) = 0; - /// check in the current revision - virtual void checkIn(std::string const & msg) = 0; + /// check in the current revision, returns log + virtual std::string checkIn(std::string const & msg) = 0; // can be this operation processed in the current RCS? virtual bool checkInEnabled() = 0; - /// check out for editing - virtual void checkOut() = 0; + /// check out for editing, returns log + virtual std::string checkOut() = 0; // can be this operation processed in the current RCS? virtual bool checkOutEnabled() = 0; /// revert current edits @@ -65,17 +65,22 @@ public: Buffer * owner() const { return owner_; } /// return the lock status of this file VCStatus status() const { return vcstatus; } + /// do we need special handling for read-only toggling? + /// (also used for check-out operation) + virtual bool toggleReadOnlyEnabled() = 0; protected: /// parse information from the version file virtual void scanMaster() = 0; + // GUI container for doVCCommandCall + int doVCCommand(std::string const & cmd, support::FileName const & path); /** - * doVCCommand - call out to the version control utility + * doVCCommandCall - call out to the version control utility * @param cmd the command to execute * @param path the path from which to execute * @return exit status */ - static int doVCCommand(std::string const & cmd, support::FileName const & path); + static int doVCCommandCall(std::string const & cmd, support::FileName const & path); /** * The master VC file. For RCS this is *,v or RCS/ *,v. master should @@ -113,11 +118,11 @@ public: virtual void registrer(std::string const & msg); - virtual void checkIn(std::string const & msg); + virtual std::string checkIn(std::string const & msg); virtual bool checkInEnabled(); - virtual void checkOut(); + virtual std::string checkOut(); virtual bool checkOutEnabled(); @@ -133,6 +138,8 @@ public: return "RCS: " + version_; } + virtual bool toggleReadOnlyEnabled(); + protected: virtual void scanMaster(); }; @@ -150,11 +157,11 @@ public: virtual void registrer(std::string const & msg); - virtual void checkIn(std::string const & msg); + virtual std::string checkIn(std::string const & msg); virtual bool checkInEnabled(); - virtual void checkOut(); + virtual std::string checkOut(); virtual bool checkOutEnabled(); @@ -170,6 +177,8 @@ public: return "CVS: " + version_; } + virtual bool toggleReadOnlyEnabled(); + protected: virtual void scanMaster(); @@ -190,11 +199,11 @@ public: virtual void registrer(std::string const & msg); - virtual void checkIn(std::string const & msg); + virtual std::string checkIn(std::string const & msg); virtual bool checkInEnabled(); - virtual void checkOut(); + virtual std::string checkOut(); virtual bool checkOutEnabled(); @@ -210,8 +219,12 @@ public: return "SVN: " + version_; } + virtual bool toggleReadOnlyEnabled(); + protected: virtual void scanMaster(); + /// Check for messages in svn output. Returns error. + std::string scanLogFile(support::FileName const & f, std::string & status); private: support::FileName file_;