diff options
Diffstat (limited to 'src/repository.h')
-rw-r--r-- | src/repository.h | 43 |
1 files changed, 39 insertions, 4 deletions
diff --git a/src/repository.h b/src/repository.h index 7779bdf..cd50cdc 100644 --- a/src/repository.h +++ b/src/repository.h @@ -26,18 +26,53 @@ 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 branchRef; + QByteArray svnprefix; + QByteArray author; + QByteArray log; + uint datetime; + int revnum; + QStringList deletedFiles; + QHash<QString, FileProperties> modifiedFiles; + + 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(); + Transaction *newTransaction(const QString &branch, const QString &svnprefix, int revnum); + private: + struct Branch + { + QString branchFrom; + bool isCreated; + }; + QHash<QString, Branch> branches; QProcess fastImport; + + Q_DISABLE_COPY(Repository) }; #endif |