]> git.lyx.org Git - lyx.git/blobdiff - src/VCBackend.cpp
* GuiToolbar.cpp:
[lyx.git] / src / VCBackend.cpp
index abe23df406aafa7b3c1c3c2f383e688363cf2bbc..ef85a62305a8729a84c37a3b6515c71eeed55603 100644 (file)
@@ -352,14 +352,16 @@ bool CVS::checkOutEnabled()
 
 void CVS::revert()
 {
-       // This is sensitive operation, so at lest some check before
-       if (doVCCommand("cvs --help", FileName(owner_->filePath())))
-               return;
        // Reverts to the version in CVS repository and
        // gets the updated version from the repository.
        string const fil = quoteName(onlyFilename(owner_->absFileName()));
-
-       doVCCommand("rm -f " + fil + "; cvs update " + fil,
+       // This is sensitive operation, so at lest some check about
+       // existence of cvs program and its file
+       if (doVCCommand("cvs log "+ fil, FileName(owner_->filePath())))
+               return;
+       FileName f(owner_->absFileName());
+       f.removeFile();
+       doVCCommand("cvs update " + fil,
                    FileName(owner_->filePath()));
        owner_->markClean();
 }
@@ -456,7 +458,7 @@ void SVN::checkIn(string const & msg)
                return;
        }
 
-       doVCCommand("svn commit -q -m \"" + msg + "\" "
+       doVCCommand("svn commit -m \"" + msg + "\" "
                    + quoteName(onlyFilename(owner_->absFileName()))
                    + " 2> " + tmpf.toFilesystemEncoding(),
                    FileName(owner_->filePath()));
@@ -466,7 +468,7 @@ void SVN::checkIn(string const & msg)
                frontend::Alert::error(_("Revision control error."),
                                _("Error when commiting to repository.\n"
                                "You have to manually resolve the problem.\n"
-                               "After pressing OK, LyX will reopen resolved document."));
+                               "After pressing OK, LyX will reopen the document."));
        tmpf.erase();
 }
 
@@ -478,14 +480,15 @@ bool SVN::checkInEnabled()
 
 // FIXME Correctly return code should be checked instead of this.
 // This would need another solution than just plain startscript.
+// Hint from Andre': QProcess::readAllStandardError()...
 string SVN::scanLogFile(FileName const & f)
 {
        ifstream ifs(f.toFilesystemEncoding().c_str());
        string line;
 
-       while (ifs){
-               getline(ifs,line);
-               lyxerr<<line<<"\n";
+       while (ifs) {
+               getline(ifs, line);
+               lyxerr << line << "\n";
                if (prefixIs(line, "C "))
                        return line;
                if (contains(line, "Commit failed"))
@@ -498,7 +501,7 @@ string SVN::scanLogFile(FileName const & f)
 void SVN::checkOut()
 {
        FileName tmpf = FileName::tempName("lyxvcout");
-       if (tmpf.empty()){
+       if (tmpf.empty()) {
                LYXERR(Debug::LYXVC, "Could not generate logfile " << tmpf);
                return;
        }