]> git.lyx.org Git - lyx.git/blobdiff - src/LyXVC.cpp
listerrors.lyx : Update a link.
[lyx.git] / src / LyXVC.cpp
index 5d3a49fdd935e29e07e36f2c6da73e7b3c9395e1..01743ecadbfff37e52fb86c64781c51caa3e16dc 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,10 +165,14 @@ 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;
+               //shell collisions
+               response = subst(response, from_utf8("\""), from_utf8("\\\""));
                log = vcs->checkIn(to_utf8(response));
 
                // Reserve empty string for cancel button
@@ -204,7 +210,7 @@ string LyXVC::lockingToggle()
 }
 
 
-void LyXVC::revert()
+bool LyXVC::revert()
 {
        LYXERR(Debug::LYXVC, "LyXVC: revert");
 
@@ -212,11 +218,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 +289,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 +321,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);