]> git.lyx.org Git - lyx.git/blobdiff - src/LyXVC.h
New XHTML math options. Format change.
[lyx.git] / src / LyXVC.h
index b81269f4473c3873cecc1a9e88c4773c1ecbd29a..fb561a39e2c4220bd621df6ff7278daa34dd5097 100644 (file)
@@ -104,6 +104,17 @@ public:
        void undoLast();
        /// Does the current VC supports this operation?
        bool undoLastEnabled() const;
+       /**
+        * Prepare revision rev of the file into newly created temporary file
+        * and save the filename into parameter f.
+        * Parameter rev can be either revision number or negative number
+        * which is interpreted as how many revision back from the current
+        * one do we want. rev=0 is reserved for the last (committed) revision.
+        * We need rev to be string, since in various VCS revision is not integer.
+        */
+       bool prepareFileRevision(std::string const & rev, std::string & f);
+       /// Does the current VC supports this operation?
+       bool prepareFileRevisionEnabled();
 
        /**
         * Generate a log file and return the filename.
@@ -123,26 +134,30 @@ public:
        /// Is the document under administration by VCS?
        bool inUse() const;
 
-       /// FIXME resurrect version once we add version info
-       /// into SVN. RCS parser is already prepared.
-       /// Returns the version number.
-       //std::string const & version() const;
-       /// Returns the version number.
+       /// Returns the RCS + version number for messages
        std::string const versionString() const;
 
        /**
-        * Returns the userid of the person who has locked the doc.
-        * FIXME This property is descendant from the original VCS
-        * and used in RCS for user id or "unlocked" strings.
-        * It would be problem to use this under SVN since getting
-        * the locker would need connection to server any time we
-        * load document. SVN currently (mis)uses this as a signal
-        * for locking state, as we do not have API for vcstatus().
-        * The RCS code for user id parsing is working but we don't display
-        * it anywhere. One possibility is to provide proper vcstatus()
-        * interface and kill the whole locker thing.
+        * Returns whether we use locking for the given file.
+        */
+       bool locking() const;
+
+       // type of the revision information
+       enum RevisionInfo {
+               Unknown = 0,
+               File = 1,
+               Tree = 2,
+               Author = 3,
+               Date = 4,
+               Time = 5
+       };
+
+       /**
+        * Return revision info specified by the argument.
+        * Its safe to call it regardless VCS is in usage or this
+        * info is (un)available. Returns empty string in such a case.
         */
-       std::string const & locker() const;
+       std::string revisionInfo(RevisionInfo const info);
 
 private:
        ///