]> git.lyx.org Git - lyx.git/blobdiff - src/LyXVC.cpp
Do not overwrite read-only files. We now move the file to the backup directory and...
[lyx.git] / src / LyXVC.cpp
index 5d3a49fdd935e29e07e36f2c6da73e7b3c9395e1..ba7b02025528d2ad885ac00fc9de9ad408c9a29e 100644 (file)
@@ -68,6 +68,7 @@ bool LyXVC::file_found_hook(FileName const & fn)
        }
 
        // file is not under any VCS.
+       vcs.reset(0);
        return false;
 }
 
@@ -148,6 +149,7 @@ bool LyXVC::registrer()
                        _("(no initial description)"));
        if (!ok) {
                LYXERR(Debug::LYXVC, "LyXVC: user cancelled");
+               vcs.reset(0);
                return false;
        }
        if (response.empty())
@@ -163,7 +165,9 @@ string LyXVC::checkIn()
        docstring empty(_("(no log message)"));
        docstring response;
        string log;
-       bool ok = Alert::askForText(response, _("LyX VC: Log Message"));
+       bool ok = true;
+       if (vcs->isCheckInWithConfirmation())
+               ok = Alert::askForText(response, _("LyX VC: Log Message"));
        if (ok) {
                if (response.empty())
                        response = empty;
@@ -204,7 +208,7 @@ string LyXVC::lockingToggle()
 }
 
 
-void LyXVC::revert()
+bool LyXVC::revert()
 {
        LYXERR(Debug::LYXVC, "LyXVC: revert");
 
@@ -212,11 +216,12 @@ void LyXVC::revert()
        docstring text = bformat(_("Reverting to the stored version of the "
                                "document %1$s will lose all current changes.\n\n"
                                "Do you want to revert to the older version?"), file);
-       int const ret = Alert::prompt(_("Revert to stored version of document?"),
-               text, 0, 1, _("&Revert"), _("&Cancel"));
+       int ret = 0;
+       if (vcs->isRevertWithConfirmation())
+               ret = Alert::prompt(_("Revert to stored version of document?"),
+                       text, 0, 1, _("&Revert"), _("&Cancel"));
 
-       if (ret == 0)
-               vcs->revert();
+       return ret == 0 && vcs->revert();
 }
 
 
@@ -282,7 +287,7 @@ string const LyXVC::getLogFile() const
 }
 
 
-std::string LyXVC::revisionInfo(RevisionInfo const info)
+string LyXVC::revisionInfo(RevisionInfo const info) const
 {
        if (!vcs)
                return string();
@@ -314,6 +319,13 @@ bool LyXVC::undoLastEnabled() const
        return vcs && vcs->undoLastEnabled();
 }
 
+
+bool LyXVC::repoUpdateEnabled() const
+{
+       return vcs && vcs->repoUpdateEnabled();
+}
+       
+       
 bool LyXVC::prepareFileRevision(string const & rev, std::string & f)
 {
        return vcs && vcs->prepareFileRevision(rev, f);