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?
/// 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?
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
/// 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();
/// 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();
/// 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();
/// 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();