1 #ifndef GITOBJECTMANAGER_H
2 #define GITOBJECTMANAGER_H
16 static void applyDelta(QByteArray
const *base, QByteArray
const *delta, QByteArray *out);
34 static QStringList
findObject(
const QString &
id,
const QString &repo_local_dir);
90 case TREE: t =
"TREE";
break;
91 case BLOB: t =
"BLOB";
break;
93 return QString(
"GitTreeItem:{ %1 %2 %3 %4 }").arg(t).arg(
id).arg(
mode).arg(
name);
void parseGitTreeObject(QByteArray const &ba, const QString &path_prefix, GitTreeItemList *out)
Definition: GitObjectManager.cpp:450
QList< GitTreeItem > GitTreeItemList
Definition: GitObjectManager.h:97
Definition: GitObjectManager.h:99
GitCommitTree(GitObjectCache *objcache)
Definition: GitDiffManager.cpp:330
QString parseCommit(GitRunner g, const GitHash &commit_id)
Definition: GitDiffManager.cpp:414
GitTreeItemList const * treelist() const
Definition: GitObjectManager.h:117
std::map< QString, GitTreeItem > blob_map
Definition: GitObjectManager.h:104
GitTreeItemList root_item_list
Definition: GitObjectManager.h:102
std::map< QString, QString > tree_id_map
Definition: GitObjectManager.h:105
QString lookup_(GitRunner g, QString const &file, GitTreeItem *out)
Definition: GitDiffManager.cpp:335
void parseTree(GitRunner g, QString const &tree_id)
Definition: GitDiffManager.cpp:409
GitObjectCache * objcache
Definition: GitObjectManager.h:101
QString lookup(GitRunner g, QString const &file)
Definition: GitDiffManager.cpp:389
Definition: GitObjectManager.h:66
static bool parseCommit(GitRunner g, GitObjectCache *objcache, GitHash const &id, GitCommit *out)
Definition: GitObjectManager.cpp:420
QString tree_id
Definition: GitObjectManager.h:68
QStringList parents
Definition: GitObjectManager.h:69
Definition: GitTypes.h:32
Definition: GitObjectManager.h:37
GitObjectManager object_manager_
Definition: GitObjectManager.h:46
GitHash revParse(GitRunner g, QString const &name)
Definition: GitObjectManager.cpp:301
GitObject catFile(GitRunner g, const GitHash &id)
Definition: GitObjectManager.cpp:338
size_t size() const
Definition: GitObjectManager.cpp:285
void clear()
Definition: GitObjectManager.cpp:294
std::vector< ItemPtr > items_
Definition: GitObjectManager.h:48
std::mutex * mutex_
Definition: GitObjectManager.h:45
std::map< QString, GitHash > rev_parse_map_
Definition: GitObjectManager.h:49
GitObjectCache(std::mutex *mutex=nullptr)
Definition: GitObjectManager.h:52
GitHash const & item_id(int i) const
Definition: GitObjectManager.h:60
std::shared_ptr< Item > ItemPtr
Definition: GitObjectManager.h:47
Definition: GitObjectManager.h:10
~GitObjectManager()
Definition: GitObjectManager.cpp:35
bool catFile(GitRunner g, const GitHash &id, QByteArray *out, GitObject::Type *type)
Definition: GitObjectManager.cpp:275
static bool loadPackedObject(std::shared_ptr< GitPackIdxV2 > const &idx, QIODevice *packfile, GitPackIdxItem const *item, GitPackObject *out)
Definition: GitObjectManager.cpp:146
void loadIndexes(GitRunner g, std::mutex *mutex)
Definition: GitObjectManager.cpp:60
bool extractObjectFromPackFile(std::shared_ptr< GitPackIdxV2 > const &idx, GitPackIdxItem const *item, GitPackObject *out)
Definition: GitObjectManager.cpp:181
GitObjectManager(std::mutex *mutex)
Definition: GitObjectManager.cpp:22
bool loadObject(GitRunner g, const GitHash &id, QByteArray *out, GitObject::Type *type)
Definition: GitObjectManager.cpp:255
static void applyDelta(QByteArray const *base, QByteArray const *delta, QByteArray *out)
Definition: GitObjectManager.cpp:89
void clearIndexes()
Definition: GitObjectManager.cpp:84
Private * m
Definition: GitObjectManager.h:13
void init()
Definition: GitObjectManager.cpp:49
void setup()
Definition: GitObjectManager.cpp:55
GitObjectManager(GitObjectManager &&other)=delete
QString findObjectPath(GitRunner g, const GitHash &id)
Definition: GitObjectManager.cpp:224
GitObjectManager & operator=(GitObjectManager const &other)
Definition: GitObjectManager.cpp:40
static QStringList findObject(const QString &id, const QString &repo_local_dir)
GitObjectManager::findObject.
Definition: GitObjectManager.cpp:501
Definition: GitPackIdxV2.h:20
Definition: GitRunner.h:11
Definition: GitObjectManager.h:39
QByteArray ba
Definition: GitObjectManager.h:41
GitObject::Type type
Definition: GitObjectManager.h:42
GitHash id
Definition: GitObjectManager.h:40
Definition: GitObjectManager.cpp:15
Definition: GitTypes.h:78
Type
Definition: GitTypes.h:79
Definition: GitPackIdxV2.h:10
Definition: GitObjectManager.h:74
QString mode
Definition: GitObjectManager.h:84
Type
Definition: GitObjectManager.h:75
@ TREE
Definition: GitObjectManager.h:77
@ UNKNOWN
Definition: GitObjectManager.h:76
@ COMMIT
Definition: GitObjectManager.h:79
@ BLOB
Definition: GitObjectManager.h:78
QString name
Definition: GitObjectManager.h:82
QString id
Definition: GitObjectManager.h:83
QString to_string_() const
Definition: GitObjectManager.h:86
Type type
Definition: GitObjectManager.h:81