kDB: Knowledge DataBase
Loading...
Searching...
No Matches
Manager.h
1#include <functional>
2
3#include <kDB/Forward.h>
4#include <kDB/Repository/TripleStore.h>
5
6#include "Revision.h"
7
8namespace kDB::Repository::VersionControl
9{
10 class Manager
11 {
12 friend class Repository::TripleStore;
13 Manager(const kDB::Repository::Connection& _connection,
15 public:
16 ~Manager();
20 void setSigningEnabled(bool _signing);
24 bool signingEnabled() const;
25 cres_qresult<QList<Revision>> revisions(const kDB::Repository::Transaction& _transaction
27 cres_qresult<Revision> tip(const kDB::Repository::Transaction& _transaction
29 cres_qresult<QByteArray> tipHash(const kDB::Repository::Transaction& _transaction
31 cres_qresult<QList<Revision>> heads(const kDB::Repository::Transaction& _transaction
36 RevisionBuilder insertRevision(const QByteArray& _content_hash);
37 cres_qresult<QList<Revision>> revisionsPath(const QByteArray& _source,
38 const QByteArray& _destination) const;
39 cres_qresult<bool> hasRevision(const QByteArray& _hash,
40 const kDB::Repository::Transaction& _transaction
42 cres_qresult<Revision> revision(const QByteArray& _hash,
43 const kDB::Repository::Transaction& _transaction
48 cres_qresult<bool> canFastForward(const QByteArray& _hash,
49 const kDB::Repository::Transaction& _transaction
51 cres_qresult<void> fastForward(const QByteArray& _hash,
52 const kDB::Repository::Transaction& _transaction
58 cres_qresult<bool> containsChangesFrom(const QByteArray& _hash,
59 const kDB::Repository::Transaction& _transaction
64 cres_qresult<void> checkout(const QByteArray& _hash,
65 const kDB::Repository::Transaction& _transaction
67 cres_qresult<bool> canMerge(const QByteArray& _hash,
68 const kDB::Repository::Transaction& _transaction
70 cres_qresult<void> merge(const QByteArray& _hash,
71 const kDB::Repository::Transaction& _transaction
76 cres_qresult<void> merge(const QList<QByteArray>& _hashes,
77 const kDB::Repository::Transaction& _transaction
82 cres_qresult<void> publish(const QByteArray& _hash,
83 const kDB::Repository::Transaction& _transaction
88 cres_qresult<void> publish(const Revision& _revision,
89 const kDB::Repository::Transaction& _transaction
94 QMetaObject::Connection
95 listenNewRevision(const std::function<void(const Revision&)>& _receiver);
99 QMetaObject::Connection
100 listenRevisionTagsChanged(const std::function<void(const Revision&)>& _receiver);
107 cres_qresult<bool> canRebase(const QByteArray& _hash,
108 const kDB::Repository::Transaction& _transaction
116 cres_qresult<bool> canRebaseTo(const QByteArray& _hash,
117 const kDB::Repository::Transaction& _transaction
125 cres_qresult<Revision> rebase(const QByteArray& _hash, bool _squash,
126 const kDB::Repository::Transaction& _transaction
128 void dump();
132 void setDefaultRevisionTags(Revision::Tags _tags);
137 void setDefaultRevisionTag(Revision::Tag _tag, bool _on = true);
141 Revision::Tags defaultRevisionTags() const;
142 private:
143 cres_qresult<void> applyDelta(const kDB::Repository::Transaction& _transaction,
144 const Delta& _delta, TripleStore* _store, bool _reverse);
145 struct Private;
146 Private* const d;
147 };
148} // namespace kDB::Repository::VersionControl
Definition Revision.h:9
Definition Forward.h:6
Definition Connection.h:26
Definition Transaction.h:19
Definition TripleStore.h:19
cres_qresult< void > checkout(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction())
cres_qresult< void > publish(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction())
Definition Manager.cpp:725
Revision::Tags defaultRevisionTags() const
QMetaObject::Connection listenNewRevision(const std::function< void(const Revision &)> &_receiver)
cres_qresult< void > merge(const QList< QByteArray > &_hashes, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction())
cres_qresult< bool > containsChangesFrom(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction()) const
void setDefaultRevisionTags(Revision::Tags _tags)
cres_qresult< bool > canRebaseTo(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction()) const
RevisionBuilder insertRevision(const QByteArray &_content_hash)
cres_qresult< bool > canFastForward(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction()) const
QMetaObject::Connection listenRevisionTagsChanged(const std::function< void(const Revision &)> &_receiver)
cres_qresult< Revision > rebase(const QByteArray &_hash, bool _squash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction())
void setDefaultRevisionTag(Revision::Tag _tag, bool _on=true)
cres_qresult< bool > canRebase(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction()) const