// file on disk, but existent in ,v version.
// Seems there is no reasonable scenario for adding implementation
// of retrieve for cvs or svn.
- if (!RCS::findFile(fn).empty())
- return true;
+ if (!RCS::findFile(fn).empty()) {
+ docstring const file = makeDisplayPath(fn.absFilename(), 20);
+ docstring const text =
+ bformat(_("Do you want to retrieve the document"
+ " %1$s from version control?"), file);
+ int const ret = Alert::prompt(_("Retrieve from version control?"),
+ text, 0, 1, _("&Retrieve"), _("&Cancel"));
+
+ if (ret == 0) {
+ // How can we know _how_ to do the checkout?
+ // With the current VC support it has to be an RCS
+ // file since CVS and SVN do not have special ,v files.
+ RCS::retrieve(fn);
+ return true;
+ }
+ }
return false;
}
string LyXVC::checkIn()
{
LYXERR(Debug::LYXVC, "LyXVC: checkIn");
+ docstring empty(_("(no log message)"));
docstring response;
string log;
bool ok = Alert::askForText(response, _("LyX VC: Log Message"));
if (ok) {
if (response.empty())
- response = _("(no log message)");
+ response = empty;
log = vcs->checkIn(to_utf8(response));
+
+ // Reserve empty string for cancel button
+ if (log.empty())
+ log = to_utf8(empty);
} else {
LYXERR(Debug::LYXVC, "LyXVC: user cancelled");
}