9 #define GIT_ID_LENGTH (40)
20 std::string
const &
url()
const
35 template <
typename VIEW>
void _assign(VIEW
const &
id);
38 explicit GitHash(std::string_view
const &
id);
39 explicit GitHash(
char const *
id);
40 void assign(std::string_view
const &
id);
41 std::string
toString(
int maxlen = -1)
const;
44 explicit operator bool ()
const;
45 operator std::string()
const
51 static bool isValidID(std::string
const &
id);
77 size_t operator () (
GitHash const &h)
const
98 explicit operator bool ()
const
142 void setParents(
const std::vector<std::string> &list);
143 explicit operator bool ()
const
160 std::vector<GitCommitItem>
list;
161 mutable std::vector<GitCommitItem *>
ptrs;
162 std::map<GitHash, size_t>
map;
190 void setList(std::vector<GitCommitItem> &&list);
203 std::basic_string_view<GitCommitItem *>
items()
const
206 return std::basic_string_view<GitCommitItem *>(
d.
ptrs.data(),
d.
ptrs.size());
209 std::basic_string_view<GitCommitItem const *>
c_items()
const
212 return std::basic_string_view<GitCommitItem const *>(
d.
ptrs.data(),
d.
ptrs.size());
270 explicit operator bool ()
const
289 explicit operator bool ()
const
291 return id.isValid() && !
name.empty();
317 enum class Code : unsigned int {
366 void parse(std::string
const &text);
428 explicit operator bool ()
const
430 return id.isValid() && !
path.empty();
512 GitDiff(std::string
const &
id, std::string
const &
path, std::string
const &
mode);
GitSignPolicy
Definition: GitTypes.h:464
@ True
Definition: GitTypes.h:467
@ Unset
Definition: GitTypes.h:465
@ False
Definition: GitTypes.h:466
#define GIT_ID_LENGTH
Definition: GitTypes.h:9
static bool operator==(GitHash const &l, GitHash const &r)
Definition: GitTypes.h:59
GitMergeFastForward
Definition: GitTypes.h:416
static bool operator!=(GitHash const &l, GitHash const &r)
Definition: GitTypes.h:64
std::string gitTrimPath(std::string const &s)
Definition: GitTypes.cpp:145
GitSource
Definition: GitTypes.h:309
GitSignatureGrade
Definition: GitTypes.h:470
static bool operator<(GitHash const &l, GitHash const &r)
Definition: GitTypes.h:69
Definition: DateTime.h:52
Definition: GitTypes.h:157
GitCommitItem const * find(GitHash const &id) const
Definition: GitTypes.cpp:281
GitCommitItemList(std::vector< GitCommitItem > &&list)
Definition: GitTypes.h:186
size_t size() const
Definition: GitTypes.cpp:212
GitCommitItem const & at(size_t i) const
Definition: GitTypes.cpp:222
void fixCommitLogOrder()
Definition: GitTypes.cpp:290
std::basic_string_view< GitCommitItem * > items() const
Definition: GitTypes.h:203
void assign(GitCommitItemList const &r)
Definition: GitTypes.h:166
void setList(std::vector< GitCommitItem > &&list)
Definition: GitTypes.cpp:206
GitCommitItem & _at(size_t i)
Definition: GitTypes.cpp:217
void _update_ptrs()
Definition: GitTypes.cpp:195
void updateIndex()
Definition: GitTypes.cpp:253
struct GitCommitItemList::D d
GitCommitItemList(GitCommitItemList &&r)
Definition: GitTypes.h:182
GitCommitItemList()=default
void push_front(GitCommitItem const &item)
Definition: GitTypes.cpp:237
void operator=(GitCommitItemList const &r)
Definition: GitTypes.h:178
std::basic_string_view< GitCommitItem const * > c_items() const
Definition: GitTypes.h:209
bool empty() const
Definition: GitTypes.cpp:232
int find_index(GitHash const &id) const
Definition: GitTypes.cpp:261
GitCommitItemList(GitCommitItemList const &r)
Definition: GitTypes.h:174
void updateCommitGraph()
MainWindow::updateCommitGraph.
Definition: GitTypes.cpp:360
GitCommitItem const & operator[](size_t i) const
Definition: GitTypes.cpp:227
std::string previousMessage() const
Definition: GitTypes.cpp:243
Definition: GitTypes.h:485
struct GitDiff::BLOB_AB_ blob
std::string mode
Definition: GitTypes.h:501
struct GitDiff::SubmoduleDetail a_submodule
std::string diff
Definition: GitTypes.h:498
Type
Definition: GitTypes.h:487
std::string index
Definition: GitTypes.h:499
QList< GitHunk > hunks
Definition: GitTypes.h:506
void makeForSingleFile(GitDiff *diff, const std::string &id_a, const std::string &id_b, const std::string &path, const std::string &mode)
Definition: Git.cpp:1770
struct GitDiff::SubmoduleDetail b_submodule
std::string path
Definition: GitTypes.h:500
bool isSubmodule() const
Definition: GitTypes.cpp:188
Type type
Definition: GitTypes.h:497
Definition: GitTypes.h:315
int code_y() const
Definition: GitTypes.h:385
bool isStaged() const
Definition: GitTypes.h:351
GitFileStatus(std::string const &text)
Definition: GitTypes.h:370
std::string rawpath1() const
Definition: GitTypes.h:405
std::string path1() const
Definition: GitTypes.h:395
void parse(std::string const &text)
Definition: Git.cpp:1629
bool isTracked() const
Definition: GitTypes.h:361
std::string rawpath2() const
Definition: GitTypes.h:410
int code_x() const
Definition: GitTypes.h:380
Code code() const
Definition: GitTypes.h:375
static Code parseFileStatusCode(char x, char y)
Definition: Git.cpp:1607
std::string path2() const
Definition: GitTypes.h:400
bool isUnmerged() const
Definition: GitTypes.h:356
bool isDeleted() const
Definition: GitTypes.h:390
Code
Definition: GitTypes.h:317
struct GitFileStatus::Data data
Definition: GitTypes.h:31
void _assign(VIEW const &id)
Definition: GitTypes.cpp:43
size_t _std_hash() const
Definition: GitTypes.cpp:114
bool valid_
Definition: GitTypes.h:33
uint8_t id_[GIT_ID_LENGTH/2]
Definition: GitTypes.h:34
void assign(std::string_view const &id)
Definition: GitTypes.cpp:70
static bool isValidID(std::string const &id)
Definition: GitTypes.cpp:119
GitHash()
Definition: GitTypes.cpp:29
bool isValid() const
Definition: GitTypes.cpp:91
int compare(GitHash const &other) const
Definition: GitTypes.cpp:101
std::string toString(int maxlen=-1) const
Definition: GitTypes.cpp:75
static bool isValidID(GitHash const &id)
Definition: GitTypes.h:53
Definition: GitTypes.h:479
std::string at
Definition: GitTypes.h:481
std::vector< std::string > lines
Definition: GitTypes.h:482
Definition: GitTypes.h:219
int exit_code()
Definition: GitTypes.h:240
std::vector< char > const & output() const
Definition: GitTypes.h:244
void set_error_message(std::string const &msg)
Definition: GitTypes.h:231
void set_exit_code(int code)
Definition: GitTypes.h:223
std::string error_message() const
Definition: GitTypes.h:252
ProcessStatus status_
Definition: GitTypes.h:221
bool ok() const
Definition: GitTypes.h:236
std::string output_string() const
Definition: GitTypes.h:248
void set_output(std::vector< char > const &out)
Definition: GitTypes.h:227
std::string log_message() const
Definition: GitTypes.h:256
Definition: MyProcess.h:21
bool ok
Definition: MyProcess.h:23
int exit_code
Definition: MyProcess.h:24
std::string error_message
Definition: MyProcess.h:26
std::vector< char > output
Definition: MyProcess.h:25
std::string log_message
Definition: MyProcess.h:27
bool isValidMailAddress(std::string const &email)
Definition: misc.cpp:508
Definition: GitTypes.h:74
Definition: GitTypes.h:276
GitHash id
Definition: GitTypes.h:278
std::string remote
Definition: GitTypes.h:279
int ahead
Definition: GitTypes.h:280
int flags
Definition: GitTypes.h:288
int behind
Definition: GitTypes.h:281
std::string name
Definition: GitTypes.h:277
@ Current
Definition: GitTypes.h:284
@ HeadDetachedFrom
Definition: GitTypes.h:286
@ None
Definition: GitTypes.h:283
@ HeadDetachedAt
Definition: GitTypes.h:285
bool isHeadDetached() const
Definition: GitTypes.h:297
bool isCurrent() const
Definition: GitTypes.h:293
Definition: GitTypes.h:303
std::string subdir
Definition: GitTypes.h:306
std::string basedir
Definition: GitTypes.h:305
std::string url
Definition: GitTypes.h:304
Definition: GitTypes.h:159
std::map< GitHash, size_t > map
Definition: GitTypes.h:162
std::vector< GitCommitItem * > ptrs
Definition: GitTypes.h:161
std::vector< GitCommitItem > list
Definition: GitTypes.h:160
Definition: GitTypes.h:121
struct GitCommitItem::@12 sign
bool has_child
Definition: GitTypes.h:138
std::vector< GitHash > parent_ids
Definition: GitTypes.h:124
std::string trust
Definition: GitTypes.h:136
GitHash tree
Definition: GitTypes.h:123
bool operator==(GitCommitItem const &other) const
Definition: GitTypes.h:147
std::string email
Definition: GitTypes.h:126
std::string message
Definition: GitTypes.h:127
bool resolved
Definition: GitTypes.h:140
std::string author
Definition: GitTypes.h:125
bool has_gpgsig
Definition: GitTypes.h:130
std::string gpgsig
Definition: GitTypes.h:131
GitHash commit_id
Definition: GitTypes.h:122
std::string text
Definition: GitTypes.h:133
DateTime commit_date
Definition: GitTypes.h:128
void setParents(const std::vector< std::string > &list)
Definition: Git.cpp:23
bool operator!=(GitCommitItem const &other) const
Definition: GitTypes.h:151
char verify
Definition: GitTypes.h:134
std::vector< GitTreeLine > parent_lines
Definition: GitTypes.h:129
std::vector< uint8_t > key_fingerprint
Definition: GitTypes.h:135
int marker_depth
Definition: GitTypes.h:139
Definition: GitTypes.h:518
bool ignore_space_change
Definition: GitTypes.h:519
Definition: GitTypes.h:440
std::string mode
Definition: GitTypes.h:442
std::string id
Definition: GitTypes.h:441
Definition: GitTypes.h:439
std::vector< std::string > files
Definition: GitTypes.h:445
std::string state
Definition: GitTypes.h:444
Definition: GitTypes.h:502
std::string a_id_or_path
Definition: GitTypes.h:503
std::string b_id_or_path
Definition: GitTypes.h:504
Definition: GitTypes.h:507
GitSubmoduleItem item
Definition: GitTypes.h:508
GitCommitItem commit
Definition: GitTypes.h:509
Definition: GitTypes.h:104
std::string name
Definition: GitTypes.h:105
bool isdir
Definition: GitTypes.h:106
Definition: GitTypes.h:339
std::string rawpath1
Definition: GitTypes.h:343
char code_y
Definition: GitTypes.h:341
std::string rawpath2
Definition: GitTypes.h:344
Code code
Definition: GitTypes.h:342
char code_x
Definition: GitTypes.h:340
std::string path1
Definition: GitTypes.h:345
std::string path2
Definition: GitTypes.h:346
Definition: GitTypes.h:84
QByteArray content
Definition: GitTypes.h:97
Type type
Definition: GitTypes.h:96
Type
Definition: GitTypes.h:85
Definition: GitTypes.h:453
std::string type
Definition: GitTypes.h:458
std::string atts_a
Definition: GitTypes.h:454
std::string path
Definition: GitTypes.h:459
std::string id_b
Definition: GitTypes.h:457
std::string atts_b
Definition: GitTypes.h:455
std::string id_a
Definition: GitTypes.h:456
Definition: GitTypes.h:448
QList< File > files
Definition: GitTypes.h:461
std::string message
Definition: GitTypes.h:452
std::string id
Definition: GitTypes.h:449
std::string head
Definition: GitTypes.h:450
std::string command
Definition: GitTypes.h:451
Definition: GitTypes.h:11
bool operator<(GitRemote const &r) const
Definition: GitTypes.h:16
std::string ssh_key
Definition: GitTypes.h:15
void set_url(std::string const &url)
Definition: GitTypes.h:24
std::string url_push
Definition: GitTypes.h:14
std::string const & url() const
Definition: GitTypes.h:20
std::string url_fetch
Definition: GitTypes.h:13
std::string name
Definition: GitTypes.h:12
Definition: GitTypes.h:422
std::string refs
Definition: GitTypes.h:426
GitHash id
Definition: GitTypes.h:424
std::string url
Definition: GitTypes.h:427
std::string name
Definition: GitTypes.h:423
std::string path
Definition: GitTypes.h:425
Definition: GitTypes.h:434
bool recursive
Definition: GitTypes.h:436
bool init
Definition: GitTypes.h:435
Definition: GitTypes.h:262
std::string name
Definition: GitTypes.h:263
GitHash id
Definition: GitTypes.h:264
Definition: GitTypes.h:109
bool bend_early
Definition: GitTypes.h:113
int color_number
Definition: GitTypes.h:112
GitTreeLine(int index=-1, int depth=-1)
Definition: GitTypes.h:114
int depth
Definition: GitTypes.h:111
int index
Definition: GitTypes.h:110
Definition: GitTypes.h:267
std::string email
Definition: GitTypes.h:269
std::string name
Definition: GitTypes.h:268