bool RCS::undoLastEnabled()
{
- return true;
+ return owner_->hasReadonlyFlag();
}
return rev_date_cache_;
case LyXVC::Time:
return rev_time_cache_;
- default: ;
+ default:
+ break;
}
return string();
if (contains(line, tmpf)) {
// Ok extract the fields.
smatch sm;
-
- // false positive from coverity
- // coverity[CHECKED_RETURN]
- regex_match(line, sm, reg);
+ if (!regex_match(line, sm, reg)) {
+ LYXERR(Debug::LYXVC, "\t Cannot parse line. Skipping.");
+ continue;
+ }
//sm[0]; // whole matched string
//sm[1]; // filename
LYXERR(Debug::LYXVC, line << '\n');
if (prefixIs(line, "date:")) {
smatch sm;
- regex_match(line, sm, reg);
- //sm[0]; // whole matched string
- rev_date_cache_ = sm[1];
- rev_time_cache_ = sm[2];
- //sm[3]; // GMT offset
- rev_author_cache_ = sm[4];
+ if (regex_match(line, sm, reg)) {
+ //sm[0]; // whole matched string
+ rev_date_cache_ = sm[1];
+ rev_time_cache_ = sm[2];
+ //sm[3]; // GMT offset
+ rev_author_cache_ = sm[4];
+ } else
+ LYXERR(Debug::LYXVC, "\tCannot parse line. Skipping.");
break;
}
}
dispatch(FuncRequest(LFUN_DIALOG_SHOW, "file " + tmpf.absFileName()));
ret = frontend::Alert::prompt(_("Changes detected"),
text, 0, 1, _("&Continue"), _("&Abort"));
- hideDialogs("file", 0);
+ hideDialogs("file", nullptr);
}
if (ret == 1)
return string();
return rev_date_cache_;
case LyXVC::Time:
return rev_time_cache_;
- default: ;
+ default:
+ break;
}
}
return string();
dispatch(FuncRequest(LFUN_DIALOG_SHOW, "file " + tmpf.absFileName()));
ret = frontend::Alert::prompt(_("Changes detected"),
text, 0, 1, _("&Yes"), _("&No"));
- hideDialogs("file", 0);
+ hideDialogs("file", nullptr);
}
if (ret == 1)
return string();
return rev_date_cache_;
case LyXVC::Time:
return rev_time_cache_;
- default: ;
-
+ default:
+ break;
}
return string();
// fill the rest of the attributes for a single file
if (rev_file_cache_.empty())
- if (!getFileRevisionInfo())
+ if (!getFileRevisionInfo()) {
rev_file_cache_ = "?";
+ rev_file_abbrev_cache_ = "?";
+ }
switch (info) {
case LyXVC::File:
if (rev_file_cache_ == "?")
return string();
return rev_file_cache_;
+ case LyXVC::FileAbbrev:
+ if (rev_file_abbrev_cache_ == "?")
+ return string();
+ return rev_file_abbrev_cache_;
case LyXVC::Author:
return rev_author_cache_;
case LyXVC::Date:
return rev_date_cache_;
case LyXVC::Time:
return rev_time_cache_;
- default: ;
-
+ default:
+ break;
}
return string();
return false;
}
- doVCCommand("git log -n 1 --pretty=format:%H%n%an%n%ai " + quoteName(onlyFileName(owner_->absFileName()))
+ doVCCommand("git log -n 1 --pretty=format:%H%n%h%n%an%n%ai " + quoteName(onlyFileName(owner_->absFileName()))
+ " > " + quoteName(tmpf.toFilesystemEncoding()),
FileName(owner_->filePath()));
if (ifs)
getline(ifs, rev_file_cache_);
+ if (ifs)
+ getline(ifs, rev_file_abbrev_cache_);
if (ifs)
getline(ifs, rev_author_cache_);
if (ifs) {
}
doVCCommand("git describe --abbrev --dirty --long > " + quoteName(tmpf.toFilesystemEncoding()),
- FileName(owner_->filePath()));
+ FileName(owner_->filePath()),
+ false); //git describe returns $?=128 when no tag found (but git repo still exists)
if (tmpf.empty())
return false;