*/
class LyXVC {
public:
+ /// Return status of a command
+ enum CommandResult {
+ Cancelled, ///< command was cancelled
+ ErrorBefore, ///< error before executing command
+ ErrorCommand, ///< error while executing command
+ VCSuccess ///< command was executed successfully
+ };
///
LyXVC();
///
// by the next multiple messages on the top of the processed dispatch
// machinery.
- /// Unlock and commit changes. Returns log.
- std::string checkIn();
- /// Does the current VC supports this operation?
+ ///
+ std::string rename(support::FileName const &);
+ /// Does the current VC support this operation?
+ bool renameEnabled() const;
+ ///
+ std::string copy(support::FileName const &);
+ /// Does the current VC support this operation?
+ bool copyEnabled() const;
+
+ /// Unlock and commit changes.
+ /// \p log is non-empty on success and may be empty on failure.
+ CommandResult checkIn(std::string & log);
+ /// Does the current VC support this operation?
bool checkInEnabled() const;
+ /// Should a log message be provided for next checkin?
+ bool isCheckInWithConfirmation() const;
/// Lock/update and prepare to edit document. Returns log.
std::string checkOut();
- /// Does the current VC supports this operation?
+ /// Does the current VC support this operation?
bool checkOutEnabled() const;
/// Synchronize the whole archive with repository
std::string repoUpdate();
- /// Does the current VC supports this operation?
+ /// Does the current VC support this operation?
bool repoUpdateEnabled() const;
/**
/// Undo last check-in.
void undoLast();
- /// Does the current VC supports this operation?
+ /// Does the current VC support this operation?
bool undoLastEnabled() const;
/**
* Prepare revision rev of the file into newly created temporary file
* for retrieving normal revisions (rev>0) or backtracking (rev<0).
*/
bool prepareFileRevision(std::string const & rev, std::string & f);
- /// Does the current VC supports this operation?
+ /// Does the current VC support this operation?
bool prepareFileRevisionEnabled();
/**
* keep things in synchro once we would allow user to toggle
* read-only flags.
*/
- void toggleReadOnly();
+ std::string toggleReadOnly();
/// Is the document under administration by VCS?
+ /// returns false for unregistered documents in a path managed by VCS
bool inUse() const;
/// Returns the RCS + version number for messages