15 #define SINGLE_THREAD 0
17 #define GIT_ID_LENGTH (40)
19 #define PATH_PREFIX "*"
50 template <
typename VIEW>
void _assign(VIEW
const &
id);
53 explicit Hash(std::string_view
const &
id);
54 explicit Hash(QString
const &
id);
55 explicit Hash(
char const *
id);
56 void assign(std::string_view
const &qid);
57 void assign(
const QString &qid);
65 return memcmp(
id_, other.
id_,
sizeof(
id_));
67 operator bool ()
const
101 operator bool ()
const
138 operator bool ()
const
179 for (
size_t i = 0; i <
list.size(); i++) {
185 auto it =
index.find(
id);
186 if (it !=
index.end()) {
187 return &
list[it->second];
235 return mode ==
"160000";
281 operator bool ()
const
283 return id.isValid() && !
name.isEmpty();
357 void parse(QString
const &text);
411 std::map<QString, std::vector<char>>
map;
413 std::shared_ptr<Data>
d;
417 d = std::make_shared<Data>();
420 operator bool ()
const
430 std::vector<char> *
find(QString
const &key)
432 if (!
d)
return nullptr;
433 auto it =
d->map.find(key);
434 if (it !=
d->map.end()) {
439 void insert(QString
const &key, std::vector<char>
const &value)
446 static QString
trimPath(QString
const &s);
460 Git(
Context const &cx, QString
const &repodir, QString
const &submodpath, QString
const &sshkey);
467 void setGitCommand(QString
const &gitcmd,
const QString &sshcmd = {});
472 bool chdirexec(std::function<
bool ()>
const &fn);
480 bool git(QString
const &arg,
Option const &opt,
bool debug_ =
false);
481 bool git(QString
const &arg)
490 return git(arg, opt);
497 return git(arg, opt);
502 QString
const &
sshKey()
const;
503 void setSshKey(
const QString &sshkey)
const;
511 CommitItemList
log_all(Hash
const &
id,
int maxcount);
512 CommitItemList
log_file(QString
const &path,
int maxcount);
516 CommitItemList
log(
int maxcount);
537 void stage(QString
const &path);
539 void unstage(QString
const &path);
540 void unstage(QStringList
const &paths);
550 QString
diff(QString
const &old_id, QString
const &new_id);
551 QString
diff_file(QString
const &old_path, QString
const &new_path);
553 std::string
diff_head(std::function<
bool (std::string
const &, std::string
const &)> fn_accept =
nullptr);
573 QString
const &
url()
const
584 QList<DiffRaw>
diff_raw(Hash
const &old_id, Hash
const &new_id);
586 static bool isValidID(QString
const &
id);
595 bool revert(
const Hash &
id);
597 void remote_v(std::vector<Remote> *out);
603 bool checkout(QString
const &branch_name, QString
const &
id = {});
610 QString
diff_to_file(QString
const &old_id, QString
const &path);
615 bool tag(QString
const &name, Hash
const &
id = {});
616 bool delete_tag(QString
const &name,
bool remote);
625 operator bool ()
const
668 QByteArray
blame(QString
const &path);
700 static std::optional<CommitItem>
parseCommit(QByteArray
const &ba);
753 :
git(std::move(that.
git))
760 operator bool ()
const
768 git->setWorkingRepositoryDir(repo, submodpath, sshkey);
772 return git->workingDir();
776 return git->sshKey();
780 git->setSshKey(sshkey);
785 return git->getMessage(
id);
789 return git->errorMessage();
794 return git->chdirexec(fn);
799 return git->rev_parse(name);
803 git->setRemoteURL(remote);
807 git->addRemoteURL(remote);
811 git->removeRemote(name);
815 return git->getRemotes();
825 return git &&
git->isValidWorkingCopy();
830 return git->version();
844 return git->tag(name,
id);
848 return git->delete_tag(name, remote);
853 git->resetFile(path);
857 git->resetAllFiles();
862 git->removeFile(path);
867 return git->getUser(purpose);
875 return git->getDefaultBranch();
879 git->setDefaultBranch(branchname);
883 git->unsetDefaultBranch();
887 return git->repositoryLastModifiedTime();
891 return git->status();
895 return git->commit(text, sign, pty);
899 return git->commit_amend_m(text, sign, pty);
903 return git->revert(
id);
907 return git->push_tags(pty);
915 git->createBranch(name);
919 git->checkoutBranch(name);
923 git->mergeBranch(name, ff, squash);
927 return git->deleteBranch(name);
930 bool checkout(QString
const &branch_name, QString
const &
id = {})
932 return git->checkout(branch_name,
id);
936 return git->checkout_detach(
id);
941 git->rebaseBranch(name);
950 return git->log_all(
id, maxcount);
954 return git->log_file(path, maxcount);
958 return git->rev_list_all(
id, maxcount);
963 return git->log_signature(
id);
967 return git->log(maxcount);
971 return git->queryCommitItem(
id);
980 return git->stash_apply();
984 return git->stash_drop();
989 return git->submodules();
993 return git->submodule_add(data, force, pty);
997 return git->submodule_update(data, pty);
999 static std::optional<Git::CommitItem>
parseCommit(QByteArray
const &ba)
1005 return git->queryEntireCommitMessage(
id);
1010 return git->diff_raw(old_id, new_id);
1012 std::string
diff_head(std::function<
bool (std::string
const &name, std::string
const &mime)> fn_accept =
nullptr)
1014 return git->diff_head(fn_accept);
1016 QString
diff(QString
const &old_id, QString
const &new_id)
1018 return git->diff(old_id, new_id);
1020 QString
diff_file(QString
const &old_path, QString
const &new_path)
1022 return git->diff_file(old_path, new_path);
1026 return git->diff_to_file(old_id, path);
1031 return git->status_s();
1035 return git->cat_file(
id);
1039 return git->clone(data, pty);
1047 return git->unstage_all();
1056 return git->stage(paths, pty);
1064 git->unstage(paths);
1068 return git->pull(pty);
1073 return git->fetch(pty, prune);
1077 return git->fetch_tags_f(pty);
1081 return git->reset_head1();
1085 return git->reset_hard();
1089 return git->clean_df();
1093 return git->push_u(set_upstream, remote, branch, force, pty);
1097 return git->objectType(
id);
1101 return git->rm_cached(file);
1105 git->cherrypick(name);
1109 return git->getCherryPicking();
1113 return git->branches();
1118 return git->signingKey(purpose);
1126 return git->signPolicy(source);
1130 return git->setSignPolicy(source, policy);
1134 return git->configGpgProgram(path,
global);
1139 return git->reflog(out, maxcount);
1143 return git->blame(path);
ApplicationGlobal * global
Definition: main.cpp:27
void parseDiff(const std::string_view &s, Git::Diff const *info, Git::Diff *out)
Definition: Git.cpp:2047
void parseGitSubModules(QByteArray const &ba, QList< Git::SubmoduleItem > *out)
Definition: Git.cpp:2088
LineSide
Definition: Git.h:23
#define GIT_ID_LENGTH
Definition: Git.h:17
QList< NamedCommitItem > NamedCommitList
Definition: Git.h:721
static bool operator==(Git::Hash const &l, Git::Hash const &r)
Definition: Git.h:727
static bool operator<(Git::Hash const &l, Git::Hash const &r)
Definition: Git.h:732
std::shared_ptr< Git > GitPtr
Definition: Git.h:41
Definition: AbstractProcess.h:11
GitRunner dup() const
Definition: Git.cpp:2132
void unstage(QStringList const &paths)
Definition: Git.h:1062
QList< Git::SubmoduleItem > submodules()
Definition: Git.h:987
QString workingDir() const
Definition: Git.h:770
bool configGpgProgram(QString const &path, bool global)
Definition: Git.h:1132
bool unstage_all()
Definition: Git.h:1045
bool checkout(QString const &branch_name, QString const &id={})
Definition: Git.h:930
QString diff(QString const &old_id, QString const &new_id)
Definition: Git.h:1016
void removeRemote(QString const &name)
Definition: Git.h:809
bool submodule_add(const Git::CloneData &data, bool force, AbstractPtyProcess *pty)
Definition: Git.h:991
void setRemoteURL(const Git::Remote &remote)
Definition: Git.h:801
Git::CommitItemList log_all(Git::Hash const &id, int maxcount)
Definition: Git.h:948
QList< Git::DiffRaw > diff_raw(Git::Hash const &old_id, Git::Hash const &new_id)
Definition: Git.h:1008
bool fetch(AbstractPtyProcess *pty=nullptr, bool prune=false)
Definition: Git.h:1071
QString diff_to_file(QString const &old_id, QString const &path)
Definition: Git.h:1024
QString signingKey(Git::Source purpose)
Definition: Git.h:1116
QString version()
Definition: Git.h:828
bool stash_drop()
Definition: Git.h:982
bool checkout_detach(QString const &id)
Definition: Git.h:934
void setSshKey(const QString &sshkey) const
Definition: Git.h:778
void cherrypick(QString const &name)
Definition: Git.h:1103
bool init()
Definition: Git.h:833
bool push_u(bool set_upstream, QString const &remote, QString const &branch, bool force, AbstractPtyProcess *pty)
Definition: Git.h:1091
bool setSignPolicy(Git::Source source, Git::SignPolicy policy)
Definition: Git.h:1128
bool reflog(Git::ReflogItemList *out, int maxcount=100)
Definition: Git.h:1137
bool commit_amend_m(QString const &text, bool sign, AbstractPtyProcess *pty)
Definition: Git.h:897
std::optional< Git::CommitItem > log_signature(Git::Hash const &id)
Definition: Git.h:961
Git::FileStatusList status_s()
Definition: Git.h:1029
bool clean_df()
Definition: Git.h:1087
void setUser(Git::User const &user, bool global)
Definition: Git.h:869
static std::optional< Git::CommitItem > parseCommit(QByteArray const &ba)
Definition: Git.h:999
bool rm_cached(QString const &file)
Definition: Git.h:1099
void createBranch(QString const &name)
Definition: Git.h:913
bool commit(QString const &text, bool sign, AbstractPtyProcess *pty)
Definition: Git.h:893
GitRunner(GitRunner &&that)
Definition: Git.h:752
void checkoutBranch(QString const &name)
Definition: Git.h:917
QString const & sshKey() const
Definition: Git.h:774
bool fetch_tags_f(AbstractPtyProcess *pty)
Definition: Git.h:1075
void unstage(QString const &path)
Definition: Git.h:1058
QList< Git::Branch > branches()
Definition: Git.h:1111
bool delete_tag(QString const &name, bool remote)
Definition: Git.h:846
void addRemoteURL(const Git::Remote &remote)
Definition: Git.h:805
bool setSigningKey(QString const &id, bool global)
Definition: Git.h:1120
QString queryEntireCommitMessage(const Git::Hash &id)
Definition: Git.h:1003
std::optional< QByteArray > cat_file(const Git::Hash &id)
Definition: Git.h:1033
QDateTime repositoryLastModifiedTime()
Definition: Git.h:885
bool stash()
Definition: Git.h:974
bool push_tags(AbstractPtyProcess *pty=nullptr)
Definition: Git.h:905
QString diff_file(QString const &old_path, QString const &new_path)
Definition: Git.h:1020
void setDefaultBranch(QString const &branchname)
Definition: Git.h:877
void add_A()
Definition: Git.h:1041
QString getDefaultBranch()
Definition: Git.h:873
bool chdirexec(std::function< bool()> const &fn)
Definition: Git.h:792
void resetFile(QString const &path)
Definition: Git.h:851
std::string diff_head(std::function< bool(std::string const &name, std::string const &mime)> fn_accept=nullptr)
Definition: Git.h:1012
QString errorMessage() const
Definition: Git.h:787
QList< Git::Tag > tags()
Definition: Git.h:838
QStringList getRemotes()
Definition: Git.h:813
void rebase_abort()
Definition: Git.h:943
void resetAllFiles()
Definition: Git.h:855
Git::SignPolicy signPolicy(Git::Source source)
Definition: Git.h:1124
bool stash_apply()
Definition: Git.h:978
GitRunner(GitRunner const &that)
Definition: Git.h:748
Git::CommitItemList log(int maxcount)
Definition: Git.h:965
bool isValidWorkingCopy() const
Definition: Git.h:823
void mergeBranch(QString const &name, Git::MergeFastForward ff, bool squash)
Definition: Git.h:921
void removeFile(QString const &path)
Definition: Git.h:860
void operator=(GitRunner const &that)
Definition: Git.h:756
bool clone(Git::CloneData const &data, AbstractPtyProcess *pty)
Definition: Git.h:1037
QString objectType(const Git::Hash &id)
Definition: Git.h:1095
void unsetDefaultBranch()
Definition: Git.h:881
Git::User getUser(Git::Source purpose)
Definition: Git.h:865
Git::CommitItemList log_file(QString const &path, int maxcount)
Definition: Git.h:952
void stage(QString const &path)
Definition: Git.h:1050
bool tag(QString const &name, Git::Hash const &id={})
Definition: Git.h:842
QString status()
Definition: Git.h:889
GitRunner(GitPtr const &git)
Definition: Git.h:744
bool deleteBranch(QString const &name)
Definition: Git.h:925
Git::Hash rev_parse(QString const &name)
Definition: Git.h:797
void rebaseBranch(QString const &name)
Definition: Git.h:939
QStringList rev_list_all(Git::Hash const &id, int maxcount)
Definition: Git.h:956
bool pull(AbstractPtyProcess *pty=nullptr)
Definition: Git.h:1066
bool stage(QStringList const &paths, AbstractPtyProcess *pty)
Definition: Git.h:1054
QByteArray blame(QString const &path)
Definition: Git.h:1141
std::optional< Git::CommitItem > queryCommitItem(const Git::Hash &id)
Definition: Git.h:969
bool revert(const Git::Hash &id)
Definition: Git.h:901
void remote_v(std::vector< Git::Remote > *out)
Definition: Git.h:909
QString getMessage(const QString &id)
Definition: Git.h:783
bool reset_hard()
Definition: Git.h:1083
bool submodule_update(const Git::SubmoduleUpdateData &data, AbstractPtyProcess *pty)
Definition: Git.h:995
QString getCherryPicking() const
Definition: Git.h:1107
bool reset_head1()
Definition: Git.h:1079
static bool isValidWorkingCopy(QString const &dir)
Definition: Git.h:818
GitPtr git
Definition: Git.h:742
void setWorkingRepositoryDir(QString const &repo, const QString &submodpath, const QString &sshkey)
Definition: Git.h:766
std::shared_ptr< Data > d
Definition: Git.h:413
std::vector< char > * find(QString const &key)
Definition: Git.h:430
void clear()
Definition: Git.h:424
void insert(QString const &key, std::vector< char > const &value)
Definition: Git.h:439
CommandCache(bool make=false)
Definition: Git.h:414
CommitItem * find(Hash const &id)
Definition: Git.h:183
void clear()
Definition: Git.h:168
CommitItem & operator[](size_t i)
Definition: Git.h:160
bool empty() const
Definition: Git.h:172
CommitItem const * find(Hash const &id) const
Definition: Git.h:191
std::vector< CommitItem > list
Definition: Git.h:146
CommitItem const & at(size_t i) const
Definition: Git.h:156
void updateIndex()
Definition: Git.h:176
CommitItem & at(size_t i)
Definition: Git.h:152
size_t size() const
Definition: Git.h:148
std::map< Hash, size_t > index
Definition: Git.h:147
QString git_command
Definition: Git.h:75
QString ssh_command
Definition: Git.h:76
QString diff
Definition: Git.h:215
QString path
Definition: Git.h:217
Type
Definition: Git.h:204
struct Git::Diff::SubmoduleDetail a_submodule
Type type
Definition: Git.h:214
void makeForSingleFile(Diff *diff, QString const &id_a, QString const &id_b, QString const &path, QString const &mode)
Definition: Git.cpp:2034
QString index
Definition: Git.h:216
Diff(QString const &id, QString const &path, QString const &mode)
Definition: Git.h:229
QList< Hunk > hunks
Definition: Git.h:223
struct Git::Diff::SubmoduleDetail b_submodule
struct Git::Diff::BLOB_AB_ blob
bool isSubmodule() const
Definition: Git.h:233
QString mode
Definition: Git.h:218
static FileStatusCode parseFileStatusCode(char x, char y)
Definition: Git.cpp:1873
bool isUnmerged() const
Definition: Git.h:347
void parse(QString const &text)
Definition: Git.cpp:1895
int code_x() const
Definition: Git.h:371
QString path2() const
Definition: Git.h:391
int code_y() const
Definition: Git.h:376
FileStatusCode code() const
Definition: Git.h:366
bool isDeleted() const
Definition: Git.h:381
FileStatus(QString const &text)
Definition: Git.h:361
QString path1() const
Definition: Git.h:386
bool isStaged() const
Definition: Git.h:342
QString rawpath2() const
Definition: Git.h:401
bool isTracked() const
Definition: Git.h:352
QString rawpath1() const
Definition: Git.h:396
struct Git::FileStatus::Data data
void assign(std::string_view const &qid)
Definition: Git.cpp:87
QString toQString(int maxlen=-1) const
Definition: Git.cpp:97
bool isValid() const
Definition: Git.cpp:113
uint8_t id_[GIT_ID_LENGTH/2]
Definition: Git.h:49
int compare(Hash const &other) const
Definition: Git.h:60
Hash()
Definition: Git.cpp:20
bool valid_
Definition: Git.h:48
void _assign(VIEW const &id)
Definition: Git.cpp:62
std::vector< std::string > lines
Definition: Git.h:200
std::string at
Definition: Git.h:199
bool reflog(ReflogItemList *out, int maxcount=100)
Definition: Git.cpp:1762
QString getDefaultBranch()
Definition: Git.cpp:587
bool fetch(AbstractPtyProcess *pty=nullptr, bool prune=false)
Definition: Git.cpp:1494
QStringList getRemotes()
Definition: Git.cpp:1613
Source
Definition: Git.h:630
static bool isUncommited(CommitItem const &item)
Definition: Git.h:263
QString getCurrentBranchName()
Definition: Git.cpp:609
bool stash_drop()
Definition: Git.cpp:1683
void resetAllFiles()
Definition: Git.cpp:1427
bool git(QString const &arg)
Definition: Git.h:481
QStringList make_branch_list_()
Definition: Git.cpp:1515
SignPolicy
Definition: Git.h:670
@ Unset
Definition: Git.h:671
@ False
Definition: Git.h:672
@ True
Definition: Git.h:673
CommitItemList log(int maxcount)
Definition: Git.cpp:944
bool fetch_tags_f(AbstractPtyProcess *pty)
Definition: Git.cpp:1506
bool chdirexec(std::function< bool()> const &fn)
Definition: Git.cpp:279
bool isValidWorkingCopy() const
Definition: Git.cpp:424
QStringList rev_list_all(Hash const &id, int maxcount)
Definition: Git.cpp:924
void unsetDefaultBranch()
Definition: Git.cpp:602
void setUser(User const &user, bool global)
Definition: Git.cpp:1645
QString status()
Definition: Git.cpp:228
void setGitCommand(QString const &gitcmd, const QString &sshcmd={})
Definition: Git.cpp:252
QByteArray blame(QString const &path)
Definition: Git.cpp:1921
CommitItemList log_file(QString const &path, int maxcount)
Definition: Git.cpp:900
void rebase_abort()
Definition: Git.cpp:1608
static bool isValidID(QString const &id)
Definition: Git.cpp:204
bool pull(AbstractPtyProcess *pty=nullptr)
Definition: Git.cpp:1487
QList< DiffRaw > diff_raw(Hash const &old_id, Hash const &new_id)
Definition: Git.cpp:545
bool git(QString const &arg, Option const &opt, bool debug_=false)
Definition: Git.cpp:293
Hash rev_parse(QString const &name)
Definition: Git.cpp:453
QDateTime repositoryLastModifiedTime()
Definition: Git.cpp:949
bool commit_(QString const &msg, bool amend, bool sign, AbstractPtyProcess *pty)
Definition: Git.cpp:1282
FileStatusList status_s()
Definition: Git.cpp:1365
Private * m
Definition: Git.h:449
QString version()
Definition: Git.cpp:429
QString diff_file(QString const &old_path, QString const &new_path)
Definition: Git.cpp:512
bool stash_apply()
Definition: Git.cpp:1678
QString getCherryPicking() const
Definition: Git.cpp:1541
QList< ReflogItem > ReflogItemList
Definition: Git.h:665
QList< RemoteInfo > ls_remote()
Definition: Git.cpp:1931
bool tag(QString const &name, Hash const &id={})
Definition: Git.cpp:482
bool git_nochdir(QString const &arg, AbstractPtyProcess *pty)
Definition: Git.h:492
QString encodeQuotedText(QString const &str)
Definition: Git.cpp:1260
bool git_nolog(QString const &arg, AbstractPtyProcess *pty)
Definition: Git.h:485
QList< SubmoduleItem > submodules()
Definition: Git.cpp:1198
void createBranch(QString const &name)
Definition: Git.cpp:1526
QString workingDir() const
Definition: Git.cpp:185
QString const & sshKey() const
Definition: Git.cpp:194
void cherrypick(QString const &name)
Definition: Git.cpp:1536
bool configGpgProgram(QString const &path, bool global)
Definition: Git.cpp:2016
bool rm_cached(QString const &file)
Definition: Git.cpp:1688
static std::optional< CommitItem > parseCommitItem(const QString &line)
Definition: Git.cpp:830
SignatureGrade
Definition: Git.h:107
bool commit(QString const &text, bool sign, AbstractPtyProcess *pty)
Definition: Git.cpp:1304
static QString trimPath(QString const &s)
Definition: Git.cpp:1842
void setRemoteURL(const Remote &remote)
Definition: Git.cpp:1740
void checkoutBranch(QString const &name)
Definition: Git.cpp:1531
bool clone(CloneData const &data, AbstractPtyProcess *pty)
Definition: Git.cpp:1171
CommitItemList log_all(Hash const &id, int maxcount)
コミットログを取得する
Definition: Git.cpp:876
void add_A()
Definition: Git.cpp:1437
SignPolicy signPolicy(Source source)
Definition: Git.cpp:1978
QString resultQString() const
Definition: Git.cpp:247
std::optional< CommitItem > queryCommitItem(const Hash &id)
Definition: Git.cpp:1127
FileStatusCode
Definition: Git.h:300
User getUser(Source purpose)
Definition: Git.cpp:1626
std::string_view resultStdString() const
Definition: Git.cpp:240
void removeRemote(QString const &name)
Definition: Git.cpp:1755
void unstage(QString const &path)
Definition: Git.cpp:1464
static SignatureGrade evaluateSignature(char c)
Definition: Git.h:241
QString diff_to_file(QString const &old_id, QString const &path)
Definition: Git.cpp:579
std::vector< FileStatus > FileStatusList
Definition: Git.h:406
std::optional< CommitItem > log_signature(Hash const &id)
Git::log_signature.
Definition: Git.cpp:967
void setSshKey(const QString &sshkey) const
Definition: Git.cpp:199
QString gitCommand() const
Definition: Git.cpp:258
void stage(QString const &path)
Definition: Git.cpp:1442
bool clean_df()
Definition: Git.cpp:1668
QString errorMessage() const
Definition: Git.cpp:269
bool stash()
Definition: Git.cpp:1673
std::optional< QByteArray > cat_file(Hash const &id)
Definition: Git.cpp:1388
QString signingKey(Source purpose)
Definition: Git.cpp:1950
bool revert(const Hash &id)
Definition: Git.cpp:1314
void addRemoteURL(const Remote &remote)
Definition: Git.cpp:1747
void setDefaultBranch(QString const &branchname)
Definition: Git.cpp:595
void clearResult()
Definition: Git.cpp:264
bool unstage_all()
Definition: Git.cpp:1482
bool submodule_update(const SubmoduleUpdateData &data, AbstractPtyProcess *pty)
Definition: Git.cpp:1245
void rebaseBranch(QString const &name)
Definition: Git.cpp:1603
FileStatusList status_s_()
Definition: Git.cpp:1347
QString diff(QString const &old_id, QString const &new_id)
Definition: Git.cpp:504
bool commit_amend_m(QString const &text, bool sign, AbstractPtyProcess *pty)
Definition: Git.cpp:1309
QString objectType(const Hash &id)
Definition: Git.cpp:1370
~Git()
Definition: Git.cpp:168
bool setSigningKey(QString const &id, bool global)
Definition: Git.cpp:1965
bool push_tags(AbstractPtyProcess *pty=nullptr)
Definition: Git.cpp:1339
bool reset_head1()
Definition: Git.cpp:1658
void resetFile(QString const &path)
Definition: Git.cpp:1422
QByteArray toQByteArray() const
Definition: Git.cpp:234
QStringList getUntrackedFiles()
Definition: Git.cpp:621
static bool isValidID(Hash const &id)
Definition: Git.h:587
bool checkout(QString const &branch_name, QString const &id={})
Definition: Git.cpp:1586
bool checkout_detach(QString const &id)
Definition: Git.cpp:1598
static CloneData preclone(QString const &url, QString const &path)
Definition: Git.cpp:1142
void mergeBranch(QString const &name, MergeFastForward ff, bool squash)
Definition: Git.cpp:1561
QString queryEntireCommitMessage(const Hash &id)
Definition: Git.cpp:1397
bool deleteBranch(QString const &name)
Definition: Git.cpp:1581
QList< Branch > branches()
Definition: Git.cpp:699
MergeFastForward
Definition: Git.h:322
QList< Tag > tags()
Definition: Git.cpp:463
void setCommandCache(CommandCache const &cc)
Definition: Git.cpp:173
bool delete_tag(QString const &name, bool remote)
Definition: Git.cpp:489
void setWorkingRepositoryDir(QString const &repo, const QString &submodpath, const QString &sshkey)
Definition: Git.cpp:178
int getProcessExitCode() const
Definition: Git.cpp:274
QByteArray cat_file_(Hash const &id)
Definition: Git.cpp:1379
static void parseAheadBehind(QString const &s, Branch *b)
Definition: Git.cpp:633
bool reset_hard()
Definition: Git.cpp:1663
static std::optional< CommitItem > parseCommit(QByteArray const &ba)
Definition: Git.cpp:1028
void remote_v(std::vector< Remote > *out)
Definition: Git.cpp:1694
void removeFile(QString const &path)
Definition: Git.cpp:1432
bool submodule_add(const CloneData &data, bool force, AbstractPtyProcess *pty)
Definition: Git.cpp:1227
std::string diff_head(std::function< bool(std::string const &, std::string const &)> fn_accept=nullptr)
Definition: Git.cpp:520
bool setSignPolicy(Source source, SignPolicy policy)
Definition: Git.cpp:1995
bool push_u(bool set_upstream, QString const &remote, QString const &branch, bool force, AbstractPtyProcess *pty)
Definition: Git.cpp:1321
bool init()
Definition: Git.cpp:435
Git()
Definition: Git.cpp:156
QString getMessage(const QString &id)
Definition: Git.cpp:1555
Definition: Win32PtyProcess.h:9
static bool isValidMailAddress(const QString &email)
文字列が有効なメールアドレスか判定する
Definition: misc.cpp:748
int flags
Definition: Git.h:280
bool isHeadDetached() const
Definition: Git.h:289
int behind
Definition: Git.h:273
@ None
Definition: Git.h:275
@ Current
Definition: Git.h:276
@ HeadDetachedFrom
Definition: Git.h:278
@ HeadDetachedAt
Definition: Git.h:277
QString remote
Definition: Git.h:271
QString name
Definition: Git.h:269
int ahead
Definition: Git.h:272
bool isCurrent() const
Definition: Git.h:285
Hash id
Definition: Git.h:270
QString subdir
Definition: Git.h:522
QString url
Definition: Git.h:520
QString basedir
Definition: Git.h:521
std::map< QString, std::vector< char > > map
Definition: Git.h:411
QList< Hash > parent_ids
Definition: Git.h:119
void setParents(QStringList const &list)
Definition: Git.cpp:123
bool has_gpgsig
Definition: Git.h:125
bool has_child
Definition: Git.h:133
bool order_fixed
Definition: Git.h:136
QString email
Definition: Git.h:121
std::vector< TreeLine > parent_lines
Definition: Git.h:124
QString message
Definition: Git.h:122
QDateTime commit_date
Definition: Git.h:123
QString text
Definition: Git.h:128
QString author
Definition: Git.h:120
bool resolved
Definition: Git.h:135
std::vector< uint8_t > key_fingerprint
Definition: Git.h:130
Hash commit_id
Definition: Git.h:117
QString gpgsig
Definition: Git.h:126
char verify
Definition: Git.h:129
Hash tree
Definition: Git.h:118
QString trust
Definition: Git.h:131
int marker_depth
Definition: Git.h:134
struct Git::CommitItem::@7 sign
QString id
Definition: Git.h:557
QString mode
Definition: Git.h:558
QStringList files
Definition: Git.h:561
struct Git::DiffRaw::AB b
struct Git::DiffRaw::AB a
QString state
Definition: Git.h:560
QString b_id_or_path
Definition: Git.h:221
QString a_id_or_path
Definition: Git.h:220
CommitItem commit
Definition: Git.h:226
SubmoduleItem item
Definition: Git.h:225
QString rawpath1
Definition: Git.h:334
char code_y
Definition: Git.h:332
FileStatusCode code
Definition: Git.h:333
QString path1
Definition: Git.h:336
QString path2
Definition: Git.h:337
char code_x
Definition: Git.h:331
QString rawpath2
Definition: Git.h:335
QByteArray content
Definition: Git.h:92
Type type
Definition: Git.h:91
AbstractPtyProcess * pty
Definition: Git.h:477
bool errout
Definition: Git.h:476
bool chdir
Definition: Git.h:474
QString prefix
Definition: Git.h:478
bool log
Definition: Git.h:475
QString type
Definition: Git.h:660
QString path
Definition: Git.h:661
QString atts_a
Definition: Git.h:656
QString id_a
Definition: Git.h:658
QString id_b
Definition: Git.h:659
QString atts_b
Definition: Git.h:657
QString message
Definition: Git.h:654
QList< File > files
Definition: Git.h:663
QString id
Definition: Git.h:651
QString head
Definition: Git.h:652
QString command
Definition: Git.h:653
QString name
Definition: Git.h:683
QString commit_id
Definition: Git.h:682
QString url_push
Definition: Git.h:567
QString ssh_key
Definition: Git.h:568
bool operator<(Remote const &r) const
Definition: Git.h:569
void set_url(QString const &url)
Definition: Git.h:577
QString const & url() const
Definition: Git.h:573
QString name
Definition: Git.h:565
QString url_fetch
Definition: Git.h:566
QString name
Definition: Git.h:96
QString refs
Definition: Git.h:99
QString url
Definition: Git.h:100
QString path
Definition: Git.h:98
Hash id
Definition: Git.h:97
bool recursive
Definition: Git.h:693
bool init
Definition: Git.h:692
QString name
Definition: Git.h:296
Hash id
Definition: Git.h:297
QString email
Definition: Git.h:624
QString name
Definition: Git.h:623
Type type
Definition: Git.h:716
QString remote
Definition: Git.h:717
Type
Definition: Git.h:710
Git::Hash id
Definition: Git.h:719
QString name
Definition: Git.h:718
TreeLine(int index=-1, int depth=-1)
Definition: Git.h:33
bool bend_early
Definition: Git.h:32
int depth
Definition: Git.h:30
int index
Definition: Git.h:29
int color_number
Definition: Git.h:31