1 #ifndef GITOBJECTMANAGER_H
2 #define GITOBJECTMANAGER_H
21 static QByteArray
applyDelta(QByteArray
const *base, QByteArray
const *delta);
39 static std::vector<std::string>
findObject(
const std::string &
id,
const QString &repo_local_dir);
QList< GitTreeItem > GitTreeItemList
Definition: GitObjectManager.h:94
GitTreeItemList parseGitTreeObject(QByteArray const &ba, std::string const &path_prefix)
Definition: GitObjectManager.cpp:457
Definition: GitObjectManager.h:96
GitCommitTree(GitObjectCache *objcache)
Definition: GitDiffManager.cpp:339
QString parseCommit(GitRunner g, const GitHash &commit_id)
Definition: GitDiffManager.cpp:425
GitTreeItemList const * treelist() const
Definition: GitObjectManager.h:114
GitTreeItemList root_item_list_
Definition: GitObjectManager.h:99
std::map< QString, GitTreeItem > blob_map
Definition: GitObjectManager.h:101
GitObjectCache * object_cache_
Definition: GitObjectManager.h:98
std::map< QString, QString > tree_id_map
Definition: GitObjectManager.h:102
QString lookup_(GitRunner g, QString const &file, GitTreeItem *out)
Definition: GitDiffManager.cpp:344
void parseTree(GitRunner g, QString const &tree_id)
Definition: GitDiffManager.cpp:420
QString lookup(GitRunner g, QString const &file)
Definition: GitDiffManager.cpp:400
Definition: GitObjectManager.h:71
static bool parseCommit(GitRunner g, GitObjectCache *objcache, GitHash const &id, GitCommit *out)
Definition: GitObjectManager.cpp:427
std::vector< std::string > parents
Definition: GitObjectManager.h:74
std::string tree_id
Definition: GitObjectManager.h:73
Definition: GitObjectManager.h:42
GitObjectManager object_manager_
Definition: GitObjectManager.h:51
std::map< std::string, GitHash > rev_parse_map_
Definition: GitObjectManager.h:54
GitObject catFile(GitRunner g, const GitHash &id)
Definition: GitObjectManager.cpp:344
size_t size() const
Definition: GitObjectManager.cpp:291
GitHash rev_parse(GitRunner g, const std::string &name)
Definition: GitObjectManager.cpp:307
void clear()
Definition: GitObjectManager.cpp:300
std::vector< ItemPtr > items_
Definition: GitObjectManager.h:53
std::mutex * mutex_
Definition: GitObjectManager.h:50
GitObjectCache(std::mutex *mutex=nullptr)
Definition: GitObjectManager.h:57
GitHash const & item_id(int i) const
Definition: GitObjectManager.h:65
std::shared_ptr< Item > ItemPtr
Definition: GitObjectManager.h:52
Definition: GitObjectManager.h:15
~GitObjectManager()
Definition: GitObjectManager.cpp:40
bool catFile(GitRunner g, const GitHash &id, QByteArray *out, GitObject::Type *type)
Definition: GitObjectManager.cpp:281
static bool loadPackedObject(std::shared_ptr< GitPackIdxV2 > const &idx, QIODevice *packfile, GitPackIdxItem const *item, GitPackObject *out)
Definition: GitObjectManager.cpp:153
void loadIndexes(GitRunner g, std::mutex *mutex)
Definition: GitObjectManager.cpp:65
bool extractObjectFromPackFile(std::shared_ptr< GitPackIdxV2 > const &idx, GitPackIdxItem const *item, GitPackObject *out)
Definition: GitObjectManager.cpp:187
GitObjectManager(std::mutex *mutex)
Definition: GitObjectManager.cpp:27
bool loadObject(GitRunner g, const GitHash &id, QByteArray *out, GitObject::Type *type)
Definition: GitObjectManager.cpp:261
void clearIndexes()
Definition: GitObjectManager.cpp:89
Private * m
Definition: GitObjectManager.h:18
void init()
Definition: GitObjectManager.cpp:54
static QByteArray applyDelta(QByteArray const *base, QByteArray const *delta)
Definition: GitObjectManager.cpp:94
std::string findObjectPath(GitRunner g, const GitHash &id)
Definition: GitObjectManager.cpp:230
void setup()
Definition: GitObjectManager.cpp:60
GitObjectManager(GitObjectManager &&other)=delete
static std::vector< std::string > findObject(const std::string &id, const QString &repo_local_dir)
GitObjectManager::findObject.
Definition: GitObjectManager.cpp:509
GitObjectManager & operator=(GitObjectManager const &other)
Definition: GitObjectManager.cpp:45
Definition: GitPackIdxV2.h:21
Definition: GitRunner.h:21
Definition: GitObjectManager.h:7
Definition: GitObjectManager.h:44
QByteArray ba
Definition: GitObjectManager.h:46
GitObject::Type type
Definition: GitObjectManager.h:47
GitHash id
Definition: GitObjectManager.h:45
Definition: GitObjectManager.cpp:20
Definition: GitObject.h:7
Type
Definition: GitObject.h:8
Definition: GitPackIdxV2.h:11
Definition: GitObjectManager.h:79
std::string mode
Definition: GitObjectManager.h:89
Type
Definition: GitObjectManager.h:80
@ TREE
Definition: GitObjectManager.h:82
@ UNKNOWN
Definition: GitObjectManager.h:81
@ COMMIT
Definition: GitObjectManager.h:84
@ BLOB
Definition: GitObjectManager.h:83
std::string to_string_() const
Definition: GitObjectManager.cpp:556
std::string name
Definition: GitObjectManager.h:87
std::string id
Definition: GitObjectManager.h:88
Type type
Definition: GitObjectManager.h:86