class Repository
{
public:
- struct Branch
+ class Transaction
{
- QString branchFrom;
- bool isCreated;
- };
+ Q_DISABLE_COPY(Transaction)
+ friend class Repository;
+ struct FileProperties {
+ int mode;
+ int mark;
+ };
+
+ Repository *repository;
+ QByteArray branch;
+ QByteArray svnprefix;
+ QByteArray author;
+ QByteArray log;
+ uint datetime;
+ int revnum;
+ int lastmark;
+
+ QStringList deletedFiles;
+ QHash<QString, FileProperties> modifiedFiles;
+ inline Transaction() {}
+ public:
+ ~Transaction();
+ void commit();
+
+ void setAuthor(const QByteArray &author);
+ void setDateTime(uint dt);
+ void setLog(const QByteArray &log);
+
+ void deleteFile(const QString &path);
+ QIODevice *addFile(const QString &path, int mode, qint64 length);
+ };
Repository(const Rules::Repository &rule);
~Repository();
+ void reloadBranches();
+ void createBranch(const QString &branch, int revnum,
+ const QString &branchFrom, int revFrom);
+ Transaction *newTransaction(const QString &branch, const QString &svnprefix, int revnum);
+
private:
+ struct Branch
+ {
+ int created;
+ };
+
QHash<QString, Branch> branches;
+ QString name;
QProcess fastImport;
+ int commitCount;
+ bool processHasStarted;
+
+ void startFastImport();
+
+ Q_DISABLE_COPY(Repository)
};
#endif