]> git.lyx.org Git - lyx.git/blobdiff - src/VCBackend.cpp
That didn't really work. So revert to old CSS for gray notes.
[lyx.git] / src / VCBackend.cpp
index 19dbb9638547653fadbf4b15c0a0bebb7efcdb89..61e31f5ac313fcf52dda8c4b176d96b3cd71d991 100644 (file)
 
 #include "VCBackend.h"
 #include "Buffer.h"
+#include "LyXFunc.h"
+#include "FuncRequest.h"
 
 #include "frontends/alert.h"
+#include "frontends/Application.h"
 
 #include "support/debug.h"
 #include "support/filetools.h"
@@ -41,7 +44,7 @@ int VCS::doVCCommandCall(string const & cmd, FileName const & path)
        LYXERR(Debug::LYXVC, "doVCCommandCall: " << cmd);
        Systemcall one;
        support::PathChanger p(path);
-       return one.startscript(Systemcall::Wait, cmd);
+       return one.startscript(Systemcall::Wait, cmd, false);
 }
 
 
@@ -646,6 +649,7 @@ void SVN::fileLock(bool lock, FileName const & tmpf, string &status)
                    + " > " + quoteName(tmpf.toFilesystemEncoding()),
                    FileName(owner_->filePath()));
 
+       // Lock error messages go unfortunately on stderr and are unreachible this way.
        ifstream ifs(tmpf.toFilesystemEncoding().c_str());
        string line;
        while (ifs) {
@@ -724,9 +728,15 @@ string SVN::repoUpdate()
                                "In case of file conflict version of the local directory files "
                                "will be preferred."
                                "\n\nContinue?"), file);
-               int const ret = frontend::Alert::prompt(_("Changes detected"),
+               int ret = frontend::Alert::prompt(_("Changes detected"),
+                               text, 0, 1, _("&Yes"), _("&No"), _("View &Log ..."));
+               if (ret == 2 ) {
+                       dispatch(FuncRequest(LFUN_DIALOG_SHOW, "file " + tmpf.absFilename()));
+                       ret = frontend::Alert::prompt(_("Changes detected"),
                                text, 0, 1, _("&Yes"), _("&No"));
-               if (ret) {
+                       hideDialogs("file", 0);
+               }
+               if (ret == 1 ) {
                        tmpf.erase();
                        return string();
                }