Guitar
GitDiffManager.h
Go to the documentation of this file.
1 
2 #ifndef GITDIFFMANAGER_H
3 #define GITDIFFMANAGER_H
4 
5 #include "GitRunner.h"
6 #include <list>
7 
8 class GitObjectCache;
9 
11  friend class CommitListThread;
12 private:
13  class LookupTable;
14 private:
16 
17  using MapList = std::list<LookupTable>;
18 
20  static void AddItem(GitDiff *item, QList<GitDiff> *diffs);
21 public:
23  {
24  objcache_ = objcache;
25  }
26 
27  std::vector<GitDiff> diff(GitRunner g, const GitHash &id, const std::vector<GitSubmoduleItem> &submodules);
28  std::vector<GitDiff> diff_uncommited(GitRunner g, const std::vector<GitSubmoduleItem> &submodules);
29 
30 public:
31  static std::string diffObjects(GitRunner g, const std::string &a_id, const std::string &b_id);
32  static std::string diffFiles(GitRunner g, const std::string &a_path, const std::string &b_path);
33  static GitDiff parseDiff(std::string const &s, GitDiff const &info);
34  static std::string makeKey(std::string const &a_id, std::string const &b_id);
35  static std::string makeKey(const GitDiff &diff);
36  static std::string prependPathPrefix(const std::string &path);
37 };
38 
39 QString lookupFileID(GitRunner g, GitObjectCache *objcache, const GitHash &commit_id, QString const &file);
40 
41 #endif // GITDIFFMANAGER_H
QString lookupFileID(GitRunner g, GitObjectCache *objcache, const GitHash &commit_id, QString const &file)
指定されたコミットに属するファイルのIDを求める
Definition: GitDiffManager.cpp:442
Definition: GitDiffManager.cpp:14
Definition: GitDiffManager.h:10
static std::string prependPathPrefix(const std::string &path)
Definition: GitDiffManager.cpp:64
friend class CommitListThread
Definition: GitDiffManager.h:11
std::list< LookupTable > MapList
Definition: GitDiffManager.h:17
std::vector< GitDiff > diff(GitRunner g, const GitHash &id, const std::vector< GitSubmoduleItem > &submodules)
コミットの差分を取得する
Definition: GitDiffManager.cpp:145
GitRunner git_for_submodule(GitRunner g, const GitSubmoduleItem &submod)
Definition: GitDiffManager.cpp:49
static void AddItem(GitDiff *item, QList< GitDiff > *diffs)
std::vector< GitDiff > diff_uncommited(GitRunner g, const std::vector< GitSubmoduleItem > &submodules)
Definition: GitDiffManager.cpp:332
static std::string diffFiles(GitRunner g, const std::string &a_path, const std::string &b_path)
Definition: GitDiffManager.cpp:82
static std::string diffObjects(GitRunner g, const std::string &a_id, const std::string &b_id)
Definition: GitDiffManager.cpp:69
GitDiffManager(GitObjectCache *objcache)
Definition: GitDiffManager.h:22
GitObjectCache * objcache_
Definition: GitDiffManager.h:15
static GitDiff parseDiff(std::string const &s, GitDiff const &info)
Definition: GitDiffManager.cpp:89
static std::string makeKey(std::string const &a_id, std::string const &b_id)
Definition: GitDiffManager.cpp:54
Definition: GitDiff.h:16
Definition: GitHash.h:9
Definition: GitObjectManager.h:42
Definition: GitRunner.h:21
Definition: GitSubmodule.h:7