Go to the documentation of this file. 1 #ifndef GITOBJECTMANAGER_H
2 #define GITOBJECTMANAGER_H
27 static void applyDelta(QByteArray
const *base, QByteArray
const *delta, QByteArray *out);
41 g2->setWorkingRepositoryDir(
g->workingDir(), submod.
path,
g->sshKey());
52 static QStringList
findObject(
const QString &
id,
const QString &repo_local_dir);
113 case TREE: t =
"TREE";
break;
114 case BLOB: t =
"BLOB";
break;
116 return QString(
"GitTreeItem:{ %1 %2 %3 %4 }").arg(t).arg(
id).arg(
mode).arg(
name);
136 QString
lookup(QString
const &file);
154 #endif // GITOBJECTMANAGER_H
Git::CommitID id
Definition: GitObjectManager.h:58
static Git::Object::Type stripHeader(QByteArray *out)
Definition: GitPack.cpp:52
Type type
Definition: Git.h:84
void parseGitTreeObject(QByteArray const &ba, const QString &path_prefix, GitTreeItemList *out)
Definition: GitObjectManager.cpp:407
std::shared_ptr< GitPackIdxV2 > GitPackIdxPtr
Definition: GitPackIdxV2.h:68
static QStringList splitWords(QString const &text)
文字列を単語に分割する。
Definition: misc.cpp:162
Type
Definition: GitObjectManager.h:98
static void decodeTree(QByteArray *out)
Definition: GitPack.cpp:7
std::map< QString, QString > tree_id_map
Definition: GitObjectManager.h:128
const GitTreeItemList * treelist() const
Definition: GitObjectManager.h:142
std::shared_ptr< Git > GitPtr
Definition: Git.h:38
static bool seekPackedObject(QIODevice *file, GitPackIdxItem const *item, Info *out)
Definition: GitPack.cpp:152
Definition: GitObjectManager.h:97
@ BLOB
Definition: GitObjectManager.h:101
QByteArray ba
Definition: GitObjectManager.h:59
bool catFile(const Git::CommitID &id, QByteArray *out, Git::Object::Type *type)
Definition: GitObjectManager.cpp:233
size_t offset
Definition: GitPackIdxV2.h:13
GitTreeItemList root_item_list
Definition: GitObjectManager.h:125
static QString joinWithSlash(QString const &left, QString const &right)
Definition: misc.cpp:272
uint32_t checksum
Definition: GitPackIdxV2.h:16
void init()
Definition: GitObjectManager.cpp:24
QString parseCommit(QString const &commit_id)
Definition: GitDiff.cpp:451
Definition: GitObjectManager.h:89
size_t size() const
Definition: GitObjectManager.cpp:243
QString subdir_git_objects_pack
Definition: GitObjectManager.h:22
void parseGitTreeObject(QByteArray const &ba, const QString &path_prefix, GitTreeItemList *out)
Definition: GitObjectManager.cpp:407
size_t expanded_size
Definition: GitPack.h:14
GitPtr g
Definition: GitObjectManager.h:19
@ UNKNOWN
Definition: GitObjectManager.h:99
GitObjectCache * objcache
Definition: GitObjectManager.h:124
uint32_t checksum
Definition: GitPack.h:17
static QStringList findObject(const QString &id, const QString &repo_local_dir)
GitObjectManager::findObject.
Definition: GitObjectManager.cpp:458
QString lookup_(QString const &file, GitTreeItem *out)
Definition: GitDiff.cpp:372
std::shared_ptr< Item > ItemPtr
Definition: GitObjectManager.h:64
const Git::CommitID & item_id(int i) const
Definition: GitObjectManager.h:83
Definition: GitObjectManager.h:55
QString mode
Definition: GitObjectManager.h:107
QString workingDir()
Definition: GitObjectManager.cpp:36
static QString trimPath(QString const &s)
Definition: Git.cpp:1587
bool loadObject(const Git::CommitID &id, QByteArray *out, Git::Object::Type *type)
Definition: GitObjectManager.cpp:215
uint64_t offset
Definition: GitPack.h:15
QString findObjectPath(const Git::CommitID &id)
Definition: GitObjectManager.cpp:189
static bool decompress(QIODevice *in, size_t expanded_size, QByteArray *out, size_t *consumed=nullptr, uint32_t *crc=nullptr)
Definition: GitPack.cpp:82
Git::CommitID getCommitIdFromTag(const QString &tag)
Definition: GitObjectManager.cpp:343
QString id
Definition: GitObjectManager.h:106
QByteArray content
Definition: Git.h:85
static QStringList splitLines(QByteArray const &ba, std::function< QString(char const *ptr, size_t len)> const &tos)
QByteArrayの文字列を行に分割する。
Definition: misc.cpp:33
bool parse(QIODevice *in, int ids_only)
Definition: GitPackIdxV2.cpp:61
Git::Object catFile(const Git::CommitID &id)
Definition: GitObjectManager.cpp:283
QString subdir_git_objects
Definition: GitObjectManager.h:21
QList< GitTreeItem > GitTreeItemList
Definition: GitObjectManager.h:120
static bool load(QIODevice *file, GitPackIdxItem const *item, Object *out)
Definition: GitPack.cpp:221
Git::CommitID revParse(QString const &name)
Definition: GitObjectManager.cpp:261
Definition: GitPackIdxV2.h:20
static bool parseCommit(GitObjectCache *objcache, Git::CommitID const &id, GitCommit *out)
Definition: GitObjectManager.cpp:377
Definition: GitPackIdxV2.h:10
GitPtr git(Git::SubmoduleItem const &submod)
Definition: GitObjectManager.h:38
static bool isValidID(QString const &id)
Definition: Git.cpp:154
GitPtr git()
Definition: GitObjectManager.h:69
Definition: GitObjectManager.h:16
GitObjectManager object_manager
Definition: GitObjectManager.h:63
@ COMMIT
Definition: GitObjectManager.h:102
#define GIT_ID_LENGTH
Definition: Git.h:16
QString tree_id
Definition: GitObjectManager.h:91
static bool loadPackedObject(GitPackIdxPtr const &idx, QIODevice *packfile, GitPackIdxItem const *item, GitPack::Object *out)
Definition: GitObjectManager.cpp:119
Definition: GitObjectManager.h:57
GitPtr git()
Definition: GitObjectManager.h:34
static void applyDelta(QByteArray const *base, QByteArray const *delta, QByteArray *out)
Definition: GitObjectManager.cpp:62
void setup(GitPtr g)
Definition: GitObjectManager.cpp:252
Definition: GitObjectManager.h:122
Git::Object::Type type
Definition: GitPack.h:13
std::vector< ItemPtr > items
Definition: GitObjectManager.h:65
std::map< QString, GitTreeItem > blob_map
Definition: GitObjectManager.h:127
QByteArray content
Definition: GitPack.h:20
@ TREE
Definition: GitObjectManager.h:100
void setup(GitPtr g)
Definition: GitObjectManager.cpp:30
QString path
Definition: Git.h:91
static QString qid(GitPackIdxItem const &item)
Definition: GitPackIdxV2.cpp:7
bool extractObjectFromPackFile(GitPackIdxPtr const &idx, GitPackIdxItem const *item, GitPack::Object *out)
Definition: GitObjectManager.cpp:154
GitPtr git(Git::SubmoduleItem const &submod)
Definition: GitObjectManager.h:73
GitCommitTree(GitObjectCache *objcache)
Definition: GitDiff.cpp:362
QString lookupFileID(GitObjectCache *objcache, QString const &commit_id, QString const &file)
指定されたコミットに属するファイルのIDを求める
Definition: GitDiff.cpp:468
Type type
Definition: GitObjectManager.h:104
Git::Object::Type type
Definition: GitObjectManager.h:60
QString lookup(QString const &file)
Definition: GitDiff.cpp:426
QString name
Definition: GitObjectManager.h:105
GitPtr git()
Definition: GitDiff.cpp:367
void loadIndexes()
Definition: GitObjectManager.cpp:41
std::map< QString, Git::CommitID > revparsemap
Definition: GitObjectManager.h:66
QString toQString(const std::vector< char > &vec)
Definition: Win32Process.cpp:235
void parseTree(QString const &tree_id)
Definition: GitDiff.cpp:446
void clearIndexes()
Definition: GitObjectManager.cpp:57
QMutex mutex
Definition: GitObjectManager.h:20
QString ref_id
Definition: GitPack.h:16
std::vector< GitPackIdxPtr > git_idx_list
Definition: GitObjectManager.h:23
QString to_string_() const
Definition: GitObjectManager.h:109
QStringList parents
Definition: GitObjectManager.h:92
GitObjectManager()
Definition: GitObjectManager.cpp:13
void each(std::function< bool(GitPackIdxItem const *)> const &fn) const
Definition: GitPackIdxV2.cpp:259