Guitar
GitCommitItem.h
Go to the documentation of this file.
1 
2 #ifndef GITCOMMITITEM_H
3 #define GITCOMMITITEM_H
4 
5 #include "GitHash.h"
6 #include <q/DateTime.h>
7 #include <vector>
8 
9 struct GitTreeLine {
10  int index;
11  int depth;
12  int color_number = 0;
13  bool bend_early = false;
14  GitTreeLine(int index = -1, int depth = -1)
15  : index(index)
16  , depth(depth)
17  {
18  }
19 };
20 
21 struct GitCommitItem {
24  std::vector<GitHash> parent_ids;
25  std::string author;
26  std::string email;
27  std::string message;
29  std::vector<GitTreeLine> parent_lines;
30  bool has_gpgsig = false;
31  std::string gpgsig;
32  struct {
33  std::string text;
34  char verify = 0; // git log format:%G?
35  std::vector<uint8_t> key_fingerprint;
36  std::string trust;
37  } sign;
38  bool has_child = false;
39  int marker_depth = -1;
40  bool resolved = false;
41  // bool order_fixed = false; // 時差や時計の誤差などの影響により、並び順の調整が行われたとき
42  void setParents(const std::vector<std::string> &list);
43  explicit operator bool () const
44  {
45  return (bool)commit_id;
46  }
47  bool operator == (GitCommitItem const &other) const
48  {
49  return commit_id == other.commit_id;
50  }
51  bool operator != (GitCommitItem const &other) const
52  {
53  return commit_id != other.commit_id;
54  }
55 };
56 
57 #endif // GITCOMMITITEM_H
Definition: DateTime.h:52
Definition: GitHash.h:9
Definition: GitCommitItem.h:21
struct GitCommitItem::@12 sign
bool has_child
Definition: GitCommitItem.h:38
std::vector< GitHash > parent_ids
Definition: GitCommitItem.h:24
std::string trust
Definition: GitCommitItem.h:36
GitHash tree
Definition: GitCommitItem.h:23
bool operator==(GitCommitItem const &other) const
Definition: GitCommitItem.h:47
std::string email
Definition: GitCommitItem.h:26
std::string message
Definition: GitCommitItem.h:27
bool resolved
Definition: GitCommitItem.h:40
std::string author
Definition: GitCommitItem.h:25
bool has_gpgsig
Definition: GitCommitItem.h:30
std::string gpgsig
Definition: GitCommitItem.h:31
GitHash commit_id
Definition: GitCommitItem.h:22
std::string text
Definition: GitCommitItem.h:33
DateTime commit_date
Definition: GitCommitItem.h:28
void setParents(const std::vector< std::string > &list)
Definition: Git.cpp:29
bool operator!=(GitCommitItem const &other) const
Definition: GitCommitItem.h:51
char verify
Definition: GitCommitItem.h:34
std::vector< GitTreeLine > parent_lines
Definition: GitCommitItem.h:29
std::vector< uint8_t > key_fingerprint
Definition: GitCommitItem.h:35
int marker_depth
Definition: GitCommitItem.h:39
Definition: GitCommitItem.h:9
bool bend_early
Definition: GitCommitItem.h:13
int color_number
Definition: GitCommitItem.h:12
GitTreeLine(int index=-1, int depth=-1)
Definition: GitCommitItem.h:14
int depth
Definition: GitCommitItem.h:11
int index
Definition: GitCommitItem.h:10