quote the file names in version control backend

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_3_X@9754 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2005-03-29 10:36:49 +00:00
parent 4fb1a6ae0d
commit 3895428ffe
3 changed files with 28 additions and 23 deletions

View File

@ -1,3 +1,8 @@
2005-03-25 Stephan Witt <stephan.witt@beusen.de>
* vc-backend.C: use QuoteName to protect file names wherever
necessary.
2005-03-10 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
* lyxrc.C (setDefaults, read, output): add support for

View File

@ -94,8 +94,7 @@ string const RCS::find_file(string const & file)
void RCS::retrieve(string const & file)
{
lyxerr[Debug::LYXVC] << "LyXVC::RCS: retrieve.\n\t" << file << endl;
VCS::doVCCommand("co -q -r \""
+ file + '"',
VCS::doVCCommand("co -q -r " + QuoteName(file),
string());
}
@ -168,9 +167,8 @@ void RCS::registrer(string const & msg)
{
string cmd = "ci -q -u -i -t-\"";
cmd += msg;
cmd += "\" \"";
cmd += OnlyFilename(owner_->fileName());
cmd += '"';
cmd += "\" ";
cmd += QuoteName(OnlyFilename(owner_->fileName()));
doVCCommand(cmd, owner_->filePath());
reload();
}
@ -178,8 +176,8 @@ void RCS::registrer(string const & msg)
void RCS::checkIn(string const & msg)
{
doVCCommand("ci -q -u -m\"" + msg + "\" \""
+ OnlyFilename(owner_->fileName()) + '"',
doVCCommand("ci -q -u -m\"" + msg + "\" "
+ QuoteName(OnlyFilename(owner_->fileName())),
owner_->filePath());
reload();
}
@ -188,8 +186,7 @@ void RCS::checkIn(string const & msg)
void RCS::checkOut()
{
owner_->markClean();
doVCCommand("co -q -l \""
+ OnlyFilename(owner_->fileName()) + '"',
doVCCommand("co -q -l " + QuoteName(OnlyFilename(owner_->fileName())),
owner_->filePath());
reload();
}
@ -197,8 +194,8 @@ void RCS::checkOut()
void RCS::revert()
{
doVCCommand("co -f -u" + version() + " \""
+ OnlyFilename(owner_->fileName()) + '"',
doVCCommand("co -f -u" + version() + " "
+ QuoteName(OnlyFilename(owner_->fileName())),
owner_->filePath());
// We ignore changes and just reload!
owner_->markClean();
@ -209,16 +206,16 @@ void RCS::revert()
void RCS::undoLast()
{
lyxerr[Debug::LYXVC] << "LyXVC: undoLast" << endl;
doVCCommand("rcs -o" + version() + " \""
+ OnlyFilename(owner_->fileName()) + '"',
doVCCommand("rcs -o" + version() + " "
+ QuoteName(OnlyFilename(owner_->fileName())),
owner_->filePath());
}
void RCS::getLog(string const & tmpf)
{
doVCCommand("rlog \""
+ OnlyFilename(owner_->fileName()) + "\" > "
doVCCommand("rlog "
+ QuoteName(OnlyFilename(owner_->fileName())) + " > "
+ tmpf, owner_->filePath());
}
@ -308,8 +305,8 @@ void CVS::scanMaster()
void CVS::registrer(string const & msg)
{
doVCCommand("cvs -q add -m \"" + msg + "\" \""
+ OnlyFilename(owner_->fileName()) + '"',
doVCCommand("cvs -q add -m \"" + msg + "\" "
+ QuoteName(OnlyFilename(owner_->fileName())),
owner_->filePath());
reload();
}
@ -317,8 +314,8 @@ void CVS::registrer(string const & msg)
void CVS::checkIn(string const & msg)
{
doVCCommand("cvs -q commit -m \"" + msg + "\" \""
+ OnlyFilename(owner_->fileName()) + '"',
doVCCommand("cvs -q commit -m \"" + msg + "\" "
+ QuoteName(OnlyFilename(owner_->fileName())),
owner_->filePath());
reload();
}
@ -335,9 +332,9 @@ void CVS::revert()
{
// Reverts to the version in CVS repository and
// gets the updated version from the repository.
string const fil = OnlyFilename(owner_->fileName());
string const fil = QuoteName(OnlyFilename(owner_->fileName()));
doVCCommand("rm -f \"" + fil + "\"; cvs update \"" + fil + '"',
doVCCommand("rm -f " + fil + "; cvs update " + fil,
owner_->filePath());
owner_->markClean();
reload();
@ -355,7 +352,7 @@ void CVS::undoLast()
void CVS::getLog(string const & tmpf)
{
doVCCommand("cvs log \""
+ OnlyFilename(owner_->fileName()) + "\" > " + tmpf,
doVCCommand("cvs log "
+ QuoteName(OnlyFilename(owner_->fileName())) + " > " + tmpf,
owner_->filePath());
}

View File

@ -75,6 +75,9 @@ What's new
- Fix lyxpreview2ppm.py to work with python versions older than 2.1.
- Fix version control on files which name contains some special
characters.
* User Interface: