27 virtual void scanMaster() = 0;
29 virtual void registrer(string const & msg) = 0;
31 virtual void checkIn(string const & msg) = 0;
33 virtual void checkOut() = 0;
35 virtual void revert() = 0;
37 virtual void undoLast() = 0;
39 virtual void getLog(string const &) = 0;
41 virtual string const versionString() const = 0;
43 string const & version() const {
47 string const & locker() const { return locker_; }
49 void owner(Buffer * b) { owner_ = b; }
51 Buffer * owner() const { return owner_; }
53 VCStatus status() const { return vcstatus; }
56 static int doVCCommand(string const &, string const &);
58 /** The master VC file. For RCS this is *,v or RCS/ *,v. master should
63 /// The status of the VC controlled file.
66 /** The version of the VC file. I am not sure if this can be a
67 string of if it must be a
71 /// The user currently keeping the lock on the VC file.
73 /// The buffer using this VC
79 class RCS : public VCS {
83 RCS(string const & m);
85 static string const find_file(string const & file);
87 static void retrive(string const & file);
89 virtual void scanMaster();
91 virtual void registrer(string const & msg);
93 virtual void checkIn(string const & msg);
95 virtual void checkOut();
97 virtual void revert();
99 virtual void undoLast();
101 virtual void getLog(string const &);
103 virtual string const versionString() const {
104 return "RCS: " + version_;
110 class CVS : public VCS {
114 CVS(string const & m, string const & f);
116 static string const find_file(string const & file);
118 virtual void scanMaster();
120 virtual void registrer(string const & msg);
122 virtual void checkIn(string const & msg);
124 virtual void checkOut();
126 virtual void revert();
128 virtual void undoLast();
130 virtual void getLog(string const &);
132 virtual string const versionString() const {
133 return "CVS: " + version_;