X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fvc-backend.h;h=1c3fa62c1812470c415ea109a8bbe39922193de9;hb=855181bd35f0440b08b65eabacce0720b93a0b53;hp=0df186cde299e0123a284491e24831784fce3985;hpb=35058c638ea817a58d1c72119dba1879d79c6302;p=lyx.git diff --git a/src/vc-backend.h b/src/vc-backend.h index 0df186cde2..1c3fa62c18 100644 --- a/src/vc-backend.h +++ b/src/vc-backend.h @@ -1,4 +1,12 @@ // -*- C++ -*- +/** + * \file vc-backend.h + * Copyright 1995-2002 the LyX Team + * Read the file COPYING + * + * \author Lars Gullik Bjønnes + */ + #ifndef VC_BACKEND_H #define VC_BACKEND_H @@ -8,67 +16,76 @@ #endif #include "LString.h" -#include "support/syscall.h" class Buffer; -/// +/// A simple version control system interface class VCS { public: - /// + /// the status of the managed file enum VCStatus { - /// UNLOCKED, - /// LOCKED }; - /// + virtual ~VCS() {} - /// - virtual void scanMaster() = 0; - /// + + /// register a file for version control virtual void registrer(string const & msg) = 0; - /// + /// check in the current revision virtual void checkIn(string const & msg) = 0; - /// + /// check out for editing virtual void checkOut() = 0; - /// + /// revert current edits virtual void revert() = 0; - /// + /// FIXME virtual void undoLast() = 0; - /// + /** + * getLog - read the revision log into the given file + * @param fname file name to read into + */ virtual void getLog(string const &) = 0; - /// + /// return the current version description virtual string const versionString() const = 0; - /// + /// return the current version string const & version() const { - return version_; + return version_; } - /// + /// return the user who has locked the file string const & locker() const { return locker_; } - /// + /// set the owning buffer void owner(Buffer * b) { owner_ = b; } - /// + /// return the owning buffer Buffer * owner() const { return owner_; } - /// + /// return the lock status of this file VCStatus status() const { return vcstatus; } protected: - /// - static int doVCCommand(string const &, string const &); + /// parse information from the version file + virtual void scanMaster() = 0; - /** The master VC file. For RCS this is *,v or RCS/ *,v. master should - have full path. - */ + /** + * doVCCommand - 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(string const & cmd, string const & path); + + /** + * The master VC file. For RCS this is *,v or RCS/ *,v. master should + * have full path. + */ string master_; - + /// The status of the VC controlled file. VCStatus vcstatus; - - /** The version of the VC file. I am not sure if this can be a - string of if it must be a - float/int. */ + + /** + * The version of the VC file. I am not sure if this can be a + * string or if it must be a float/int. + */ string version_; - + /// The user currently keeping the lock on the VC file. string locker_; /// The buffer using this VC @@ -79,31 +96,33 @@ protected: /// class RCS : public VCS { public: - /// + explicit RCS(string const & m); - /// + + /// return the revision file for the given file, if found static string const find_file(string const & file); - /// - static void retrive(string const & file); - /// - virtual void scanMaster(); - /// + + static void retrieve(string const & file); + virtual void registrer(string const & msg); - /// + virtual void checkIn(string const & msg); - /// + virtual void checkOut(); - /// + virtual void revert(); - /// + virtual void undoLast(); - /// + virtual void getLog(string const &); - /// + virtual string const versionString() const { return "RCS: " + version_; } + +protected: + virtual void scanMaster(); }; @@ -113,27 +132,30 @@ public: /// explicit CVS(string const & m, string const & f); - /// + + /// return the revision file for the given file, if found static string const find_file(string const & file); - /// - virtual void scanMaster(); - /// + virtual void registrer(string const & msg); - /// + virtual void checkIn(string const & msg); - /// + virtual void checkOut(); - /// + virtual void revert(); - /// + virtual void undoLast(); - /// + virtual void getLog(string const &); - /// + virtual string const versionString() const { return "CVS: " + version_; } + +protected: + virtual void scanMaster(); + private: string file_; }; -#endif +#endif // VCBACKEND_H