1 #ifndef GITOBJECTMANAGER_H
2 #define GITOBJECTMANAGER_H
23 static void applyDelta(QByteArray
const *base, QByteArray
const *delta, QByteArray *out);
37 static QStringList
findObject(
const QString &
id,
const QString &repo_local_dir);
88 case TREE: t =
"TREE";
break;
89 case BLOB: t =
"BLOB";
break;
91 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:364
QList< GitTreeItem > GitTreeItemList
Definition: GitObjectManager.h:95
std::shared_ptr< GitPackIdxV2 > GitPackIdxPtr
Definition: GitPackIdxV2.h:68
Definition: GitObjectManager.h:97
GitCommitTree(GitObjectCache *objcache)
Definition: GitDiff.cpp:312
GitTreeItemList const * treelist() const
Definition: GitObjectManager.h:115
std::map< QString, GitTreeItem > blob_map
Definition: GitObjectManager.h:102
GitTreeItemList root_item_list
Definition: GitObjectManager.h:100
std::map< QString, QString > tree_id_map
Definition: GitObjectManager.h:103
QString parseCommit(GitRunner g, const Git::Hash &commit_id)
Definition: GitDiff.cpp:396
QString lookup_(GitRunner g, QString const &file, GitTreeItem *out)
Definition: GitDiff.cpp:317
void parseTree(GitRunner g, QString const &tree_id)
Definition: GitDiff.cpp:391
GitObjectCache * objcache
Definition: GitObjectManager.h:99
QString lookup(GitRunner g, QString const &file)
Definition: GitDiff.cpp:371
Definition: GitObjectManager.h:64
static bool parseCommit(GitRunner g, GitObjectCache *objcache, Git::Hash const &id, GitCommit *out)
Definition: GitObjectManager.cpp:334
QString tree_id
Definition: GitObjectManager.h:66
QStringList parents
Definition: GitObjectManager.h:67
Definition: GitObjectManager.h:40
GitObjectManager object_manager_
Definition: GitObjectManager.h:48
Git::Hash const & item_id(int i) const
Definition: GitObjectManager.h:58
size_t size() const
Definition: GitObjectManager.cpp:233
void clear()
Definition: GitObjectManager.cpp:242
std::vector< ItemPtr > items_
Definition: GitObjectManager.h:50
std::map< QString, Git::Hash > rev_parse_map_
Definition: GitObjectManager.h:51
Git::Object catFile(GitRunner g, const Git::Hash &id)
Definition: GitObjectManager.cpp:270
std::shared_ptr< Item > ItemPtr
Definition: GitObjectManager.h:49
Git::Hash revParse(GitRunner g, QString const &name)
Definition: GitObjectManager.cpp:249
Definition: GitObjectManager.h:16
QString findObjectPath(GitRunner g, const Git::Hash &id)
Definition: GitObjectManager.cpp:179
QString subdir_git_objects_pack
Definition: GitObjectManager.h:20
static void applyDelta(QByteArray const *base, QByteArray const *delta, QByteArray *out)
Definition: GitObjectManager.cpp:52
void clearIndexes()
Definition: GitObjectManager.cpp:47
void init()
Definition: GitObjectManager.cpp:20
GitObjectManager()
Definition: GitObjectManager.cpp:14
std::vector< GitPackIdxPtr > git_idx_list
Definition: GitObjectManager.h:21
QString subdir_git_objects
Definition: GitObjectManager.h:19
void loadIndexes(GitRunner g)
Definition: GitObjectManager.cpp:31
static bool loadPackedObject(GitPackIdxPtr const &idx, QIODevice *packfile, GitPackIdxItem const *item, GitPack::Object *out)
Definition: GitObjectManager.cpp:109
void setup()
Definition: GitObjectManager.cpp:26
bool extractObjectFromPackFile(GitPackIdxPtr const &idx, GitPackIdxItem const *item, GitPack::Object *out)
Definition: GitObjectManager.cpp:144
bool loadObject(GitRunner g, const Git::Hash &id, QByteArray *out, Git::Object::Type *type)
Definition: GitObjectManager.cpp:205
static QStringList findObject(const QString &id, const QString &repo_local_dir)
GitObjectManager::findObject.
Definition: GitObjectManager.cpp:415
bool catFile(GitRunner g, const Git::Hash &id, QByteArray *out, Git::Object::Type *type)
Definition: GitObjectManager.cpp:223
Definition: GitPackIdxV2.h:20
Definition: GitObjectManager.h:42
QByteArray ba
Definition: GitObjectManager.h:44
Git::Object::Type type
Definition: GitObjectManager.h:45
Git::Hash id
Definition: GitObjectManager.h:43
Definition: GitPackIdxV2.h:10
Definition: GitObjectManager.h:72
QString mode
Definition: GitObjectManager.h:82
Type
Definition: GitObjectManager.h:73
@ TREE
Definition: GitObjectManager.h:75
@ UNKNOWN
Definition: GitObjectManager.h:74
@ COMMIT
Definition: GitObjectManager.h:77
@ BLOB
Definition: GitObjectManager.h:76
QString name
Definition: GitObjectManager.h:80
QString id
Definition: GitObjectManager.h:81
QString to_string_() const
Definition: GitObjectManager.h:84
Type type
Definition: GitObjectManager.h:79