Commit Graph

65 Commits

Author SHA1 Message Date
Georg Baum
f09a9fe2e6 Remove unsafe method FileName::tempName()
FileName::tempName() created a new temp file name by using qt to create a
temporary file with a unique name, and then deleting that file and returning
the name. This was unsafe, since other processes or even other threads of the
running LyX could create files with the same name between deletion and then
using the temp name.
This is fixed by using the TempFile class instead. As a side effect, a few
cases where the temp files were not deleted after usage were fixed as well.
The only place that is still unsafe is createTmpDir().
2014-06-09 13:05:50 +02:00
Georg Baum
ceb2303e2b Remove partial support for non-buffer files in VCS
This reverts a small part of 0526eb9d and gets rid of the double calls of
SVN::findFile() and GIT::findFile(). Please note that git detection does
currently not work because of 26dd4d0c.
2013-04-10 22:31:38 +02:00
Vincent van Ravesteijn
41843646b7 Fix monolithic build 2013-03-18 20:42:28 +01:00
Georg Baum
2f9ef2b98a Implement very basic git support
Only the local index is considered, no remote repo. Also getting the revision
(aka commit hash) is missing. How push and pull could be integrated with the
LyX VCS interface needs to be discussed, but the implemented functionality was
quite straight forward.
2013-02-06 22:07:31 +01:00
Georg Baum
a3e6c7830c Fix copy-paste error 2013-02-06 20:38:54 +01:00
Georg Baum
0526eb9d47 Implement VCS copy and rename
The advantage of having this in LyX is the intelligent file name handling
of included files. Implementation as discussed on the list, but ensure also
that an attempt to use locked files fails.
2013-02-06 20:38:54 +01:00
Georg Baum
d33450a592 Fix inconsistent VCS checkin return values
It is not possible to transport the different error/abort/success conditions
of a VCS checkin through a simple empty or nonempty string. Therefore it was
no wonder that the return values were used inconsistently for different VCS.
Now the log and return status are decoupled, and all VCS are handled
consistently. This is a prerequisite for proper locking detection of the
upcoming rename command.
2013-02-04 22:01:59 +01:00
Georg Baum
1a48d5a967 Dot not swallow log messages 2013-02-03 19:55:44 +01:00
Georg Baum
e82cc5d498 Fix typos 2013-02-03 19:55:44 +01:00
Georg Baum
89c60f388a guard against dereferencing null pointers 2012-11-25 19:07:57 +01:00
Georg Baum
9d99d3dbea Implement extractFromVC() for CVS and SVN.
Both cvs and svn are able to retrieve non-existing files from repository,
but this was only implemented for rcs. This is a prerequisite for the
planned move and copy VCV operations. I also improved error schecking and
used extractFromVC() also for files specified on the command line if they
do not exist (in GUI mode, it was already the case in non-GUI mode).
2012-11-15 22:01:19 +01:00
Georg Baum
56e3d2153f Get rid of redundant CVS/SVN file_ member
It did always point to the buffer's file name, so it is not needed and it was
not used in most cases anyway. Instead, ensure that owner_ is always set and
cannot be changed later.
2012-11-13 21:44:36 +01:00
Pavel Sanda
02dbb905ee Fix bug #7338
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37866 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-07 00:37:26 +00:00
Stephan Witt
ba00acbd65 check for user cancel or errors on vcs revert before reload of buffer in LFUN_VC_REVERT
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36160 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-06 11:54:08 +00:00
Stephan Witt
c6d4080694 #6396 no dialog when no doc changes were done and check-in or revert is done
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35828 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 13:27:48 +00:00
Stephan Witt
6749b1fa0a invalidate vcs data if user cancelled the registrer operation, otherwise the registrer cannot be called again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35798 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-24 13:26:00 +00:00
Stephan Witt
b2137a65de validate version control status after buffer save or save-as
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35796 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-23 18:35:13 +00:00
Stephan Witt
de5aab29d4 add missing implementation of the check method for repo-update availability
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35572 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-08 05:26:12 +00:00
Pavel Sanda
b2512f44d6 These things need to be updated for each dialog opening
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35308 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-07 11:29:05 +00:00
Pavel Sanda
62ca7f3ae5 Proper camel case for FileName.absFilename
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34234 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:09 +00:00
Vincent van Ravesteijn
ab76cb0bc9 Typo and style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33717 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-11 19:40:11 +00:00
Pavel Sanda
3309cdca59 Allow revision to be string.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33474 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-15 07:10:59 +00:00
Pavel Sanda
7929cad343 We need public API
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33446 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 12:16:34 +00:00
Pavel Sanda
f26f990076 Kill locker() API in VCS
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33438 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 07:21:11 +00:00
Pavel Sanda
495daad277 unused code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33437 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 06:45:52 +00:00
Pavel Sanda
4c5ba07a7a Spots from Abdel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33428 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 01:44:13 +00:00
Pavel Sanda
7b227d6899 VCS: Extended API for revision info
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33425 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 01:43:59 +00:00
Pavel Sanda
ddfb49a4f0 Part of r32942. We want to avoid reload flickering when
user canceled commiting dialog.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg156936.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32956 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-10 21:18:41 +00:00
Vincent van Ravesteijn
e0a6a7a542 Move some code from Buffer::loadLyXFile to LyXVC::file_not_found_hook. Accoring to the description of the latter, this should already be the case.
Furthermore, make sure that the read-only flag is always set to both true and false, since now the buffer can be read-only during a reload.

Last, set the buffer clean after a successful reload.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32896 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-08 18:48:36 +00:00
Vincent van Ravesteijn
defc7ebac5 Constify some functions and correct a typo.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32688 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-31 14:40:02 +00:00
Pavel Sanda
4257aa5e7f Make updating less dangerous, see comments in #6255.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31615 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-14 19:18:06 +00:00
Pavel Sanda
4f0957c819 Bug #6255 - Update linked files with version control
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31546 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-06 23:20:52 +00:00
Pavel Sanda
7355a53a73 Guify setting of svn locking property
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30255 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-25 14:48:11 +00:00
Pavel Sanda
77d824af42 more robust version
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28316 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-01 23:46:41 +00:00
Pavel Sanda
1f5c703bae Squash warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28315 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-01 23:27:58 +00:00
Vincent van Ravesteijn
c53082b6c3 Improved UI for version control:
* the menu-item should also be enabled when the buffer is still unnamed (it will be saved anyway), and
* no buffer-reload after user cancel.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28028 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-08 00:14:55 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Pavel Sanda
de7c7ea360 Fix http://bugzilla.lyx.org/show_bug.cgi?id=5430 .
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg145723.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27197 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-30 13:47:41 +00:00
Pavel Sanda
c697f9f6b9 Small glitch in RCS registering procedure, useless parse of wrong file (part of 5389).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27144 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-27 01:06:24 +00:00
Pavel Sanda
aaa4169ece VCS: Towards statusbar info.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25976 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-29 13:14:51 +00:00
Pavel Sanda
6a9c45b50b Change strings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25794 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 10:16:30 +00:00
Pavel Sanda
d4b9c97555 ReadOnly mode only for RCS
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25793 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 10:16:12 +00:00
Pavel Sanda
38edfeb537 toggleReadOnly belongs only to RCS, not CVS.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25787 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 09:00:05 +00:00
Pavel Sanda
0129d2fad1 Comments forthe current state.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25786 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 08:59:47 +00:00
Pavel Sanda
bb14dc3a00 VCS svn support, partly fixes http://bugzilla.lyx.org/show_bug.cgi?id=2574.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25785 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 08:59:15 +00:00
Pavel Sanda
4b00e7f527 This should bring cvs revision control to usable state.
LyXVC API was too narrow to master both cvs and rcs, so we have to change interface.

We still need one more operation for cvs update, but i need to sleep sometimes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25750 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-21 01:55:58 +00:00
Pavel Sanda
d37daf5e8a Set cvs registration process to the document directory.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25747 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-21 00:18:19 +00:00
Abdelrazak Younes
2bf1c09376 header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23049 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-18 07:14:42 +00:00
Abdelrazak Younes
e7bb71ff4e header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22178 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-16 22:09:28 +00:00
Abdelrazak Younes
86506a80eb Simplify FileName::tempName().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22163 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-16 09:52:36 +00:00