10 #define GIT_ID_LENGTH (40)
11 #define PATH_PREFIX "*"
35 std::shared_ptr<AbstractGitSession>
connect()
const;
47 template <
typename VIEW>
void _assign(VIEW
const &
id);
50 explicit Hash(std::string_view
const &
id);
51 explicit Hash(QString
const &
id);
52 explicit Hash(
char const *
id);
53 void assign(std::string_view
const &qid);
54 void assign(
const QString &qid);
62 return memcmp(
id_, other.
id_,
sizeof(
id_));
64 operator bool ()
const
88 operator bool ()
const
100 operator bool ()
const
137 operator bool ()
const
182 for (
size_t i = 0; i <
list.size(); i++) {
188 auto it =
index.find(
id);
189 if (it !=
index.end()) {
190 return &
list[it->second];
238 return mode ==
"160000";
284 operator bool ()
const
286 return id.isValid() && !
name.isEmpty();
360 void parse(QString
const &text);
411 static QString
trimPath(QString
const &s);
423 Git(
GitContext const &cx, QString
const &repodir, QString
const &submodpath, QString
const &sshkey);
457 return session_->exec_git(arg, opt);
459 std::optional<GitResult>
git(QString
const &arg)
489 QString
const &
sshKey()
const;
498 CommitItemList
log_all(Hash
const &
id,
int maxcount);
499 CommitItemList
log_file(QString
const &path,
int maxcount);
503 CommitItemList
log(
int maxcount);
519 void rm(QString
const &path,
bool rm_real_file);
524 void stage(QString
const &path);
526 void unstage(QString
const &path);
527 void unstage(QStringList
const &paths);
536 QString
diff(QString
const &old_id, QString
const &new_id);
537 QString
diff_file(QString
const &old_path, QString
const &new_path);
539 std::string
diff_head(std::function<
bool (std::string
const &, std::string
const &)> fn_accept =
nullptr);
559 QString
const &
url()
const
570 QList<DiffRaw>
diff_raw(Hash
const &old_id, Hash
const &new_id);
572 static bool isValidID(QString
const &
id);
581 bool revert(
const Hash &
id);
583 void remote_v(std::vector<Remote> *out);
589 bool checkout(QString
const &branch_name, QString
const &
id = {});
596 QString
diff_to_file(QString
const &old_id, QString
const &path);
601 bool tag(QString
const &name, Hash
const &
id = {});
602 bool delete_tag(QString
const &name,
bool remote);
611 operator bool ()
const
654 QByteArray
blame(QString
const &path);
686 static std::optional<CommitItem>
parseCommit(QByteArray
const &ba);
694 std::optional<std::vector<GitFileItem>>
ls(
const QString &path);
695 std::optional<std::vector<char>>
readfile(
const QString &path);
727 template <>
class hash<
Git::Hash> {
760 operator bool ()
const
768 if (
git)
git->clearCommandCache();
771 static std::optional<Git::CommitItem>
parseCommit(QByteArray
const &ba)
778 return git &&
git->isValidWorkingCopy(dir);
783 return git &&
git->isValidWorkingCopy();
789 git->setWorkingRepositoryDir(repo, sshkey);
794 git->setSubmodulePath(submodpath);
799 return git->workingDir();
804 return git->sshKey();
809 git->setSshKey(sshkey);
815 return git->getMessage(
id);
820 return git->errorMessage(
var);
826 return git->remove(path);
832 return git->rev_parse(name);
837 git->setRemoteURL(remote);
842 git->addRemoteURL(remote);
847 git->removeRemote(name);
852 return git->getRemotes();
858 return git->version();
875 return git->tag(name,
id);
880 return git->delete_tag(name, remote);
886 git->resetFile(path);
891 git->resetAllFiles();
897 git->rm(path, rm_real_file);
903 return git->getUser(purpose);
913 return git->getDefaultBranch();
918 git->setDefaultBranch(branchname);
923 git->unsetDefaultBranch();
928 return git->repositoryLastModifiedTime();
933 return git->status();
938 return git->commit(text, sign, pty);
943 return git->commit_amend_m(text, sign, pty);
948 return git->revert(
id);
953 return git->push_tags(pty);
963 git->createBranch(name);
968 git->checkoutBranch(name);
973 git->mergeBranch(name, ff, squash);
978 return git->deleteBranch(name);
981 bool checkout(QString
const &branch_name, QString
const &
id = {})
984 return git->checkout(branch_name,
id);
989 return git->checkout_detach(
id);
995 git->rebaseBranch(name);
1000 git->rebase_abort();
1006 return git->log_all(
id, maxcount);
1011 return git->log_file(path, maxcount);
1016 return git->rev_list_all(
id, maxcount);
1022 return git->log_signature(
id);
1027 return git->log(maxcount);
1032 return git->queryCommitItem(
id);
1038 return git->stash();
1043 return git->stash_apply();
1048 return git->stash_drop();
1054 return git->submodules();
1059 return git->submodule_add(data, force, pty);
1064 return git->submodule_update(data, pty);
1069 return git->queryEntireCommitMessage(
id);
1075 return git->diff_raw(old_id, new_id);
1077 std::string
diff_head(std::function<
bool (std::string
const &name, std::string
const &mime)> fn_accept =
nullptr)
1080 return git->diff_head(fn_accept);
1082 QString
diff(QString
const &old_id, QString
const &new_id)
1085 return git->diff(old_id, new_id);
1087 QString
diff_file(QString
const &old_path, QString
const &new_path)
1090 return git->diff_file(old_path, new_path);
1095 return git->diff_to_file(old_id, path);
1101 return git->status_s();
1106 return git->cat_file(
id);
1111 return git->clone(data, pty);
1121 return git->unstage_all();
1132 return git->stage(paths, pty);
1142 git->unstage(paths);
1147 return git->pull(pty);
1153 return git->fetch(pty, prune);
1158 return git->reset_head1();
1163 return git->reset_hard();
1168 return git->clean_df();
1173 return git->push_u(set_upstream, remote, branch, force, pty);
1178 return git->objectType(
id);
1183 return git->rm_cached(file);
1188 git->cherrypick(name);
1193 return git->getCherryPicking();
1198 return git->branches();
1204 return git->signingKey(purpose);
1214 return git->signPolicy(source);
1219 return git->setSignPolicy(source, policy);
1224 return git->configGpgProgram(path,
global);
1230 return git->reflog(out, maxcount);
1235 return git->blame(path);
1238 std::optional<std::vector<GitFileItem>>
ls(
const QString &path)
1241 return git->ls(path);
1243 std::optional<std::vector<char>>
readfile(
const QString &path)
1246 return git->readfile(path);
ApplicationGlobal * global
Definition: main.cpp:28
void parseDiff(const std::string_view &s, Git::Diff const *info, Git::Diff *out)
Definition: Git.cpp:1897
void parseGitSubModules(QByteArray const &ba, QList< Git::SubmoduleItem > *out)
Definition: Git.cpp:1938
LineSide
Definition: Git.h:13
#define GIT_ID_LENGTH
Definition: Git.h:10
QList< NamedCommitItem > NamedCommitList
Definition: Git.h:710
static bool operator==(Git::Hash const &l, Git::Hash const &r)
Definition: Git.h:716
static bool operator<(Git::Hash const &l, Git::Hash const &r)
Definition: Git.h:721
std::shared_ptr< Git > GitPtr
Definition: Git.h:736
Definition: AbstractProcess.h:11
Definition: GitCommandCache.h:9
std::shared_ptr< AbstractGitSession > connect() const
Definition: Git.cpp:1989
QString ssh_command
Definition: Git.h:33
QString git_command
Definition: Git.h:32
GitRunner dup() const
Definition: Git.cpp:1982
void unstage(QStringList const &paths)
Definition: Git.h:1139
QList< Git::SubmoduleItem > submodules()
Definition: Git.h:1051
QString workingDir() const
Definition: Git.h:796
bool configGpgProgram(QString const &path, bool global)
Definition: Git.h:1221
bool unstage_all()
Definition: Git.h:1118
bool checkout(QString const &branch_name, QString const &id={})
Definition: Git.h:981
QString diff(QString const &old_id, QString const &new_id)
Definition: Git.h:1082
void removeRemote(QString const &name)
Definition: Git.h:844
bool submodule_add(const Git::CloneData &data, bool force, AbstractPtyProcess *pty)
Definition: Git.h:1056
void setRemoteURL(const Git::Remote &remote)
Definition: Git.h:834
Git::CommitItemList log_all(Git::Hash const &id, int maxcount)
Definition: Git.h:1003
QList< Git::DiffRaw > diff_raw(Git::Hash const &old_id, Git::Hash const &new_id)
Definition: Git.h:1072
bool fetch(AbstractPtyProcess *pty=nullptr, bool prune=false)
Definition: Git.h:1150
QString diff_to_file(QString const &old_id, QString const &path)
Definition: Git.h:1092
QString signingKey(Git::Source purpose)
Definition: Git.h:1201
QString version()
Definition: Git.h:855
bool stash_drop()
Definition: Git.h:1045
bool checkout_detach(QString const &id)
Definition: Git.h:986
void setSshKey(const QString &sshkey) const
Definition: Git.h:806
void cherrypick(QString const &name)
Definition: Git.h:1185
bool init()
Definition: Git.h:861
bool push_u(bool set_upstream, QString const &remote, QString const &branch, bool force, AbstractPtyProcess *pty)
Definition: Git.h:1170
bool setSignPolicy(Git::Source source, Git::SignPolicy policy)
Definition: Git.h:1216
bool reflog(Git::ReflogItemList *out, int maxcount=100)
Definition: Git.h:1227
bool commit_amend_m(QString const &text, bool sign, AbstractPtyProcess *pty)
Definition: Git.h:940
std::optional< Git::CommitItem > log_signature(Git::Hash const &id)
Definition: Git.h:1019
Git::FileStatusList status_s()
Definition: Git.h:1098
bool clean_df()
Definition: Git.h:1165
void setUser(Git::User const &user, bool global)
Definition: Git.h:905
static std::optional< Git::CommitItem > parseCommit(QByteArray const &ba)
Definition: Git.h:771
bool rm_cached(QString const &file)
Definition: Git.h:1180
void createBranch(QString const &name)
Definition: Git.h:960
bool commit(QString const &text, bool sign, AbstractPtyProcess *pty)
Definition: Git.h:935
GitRunner(GitRunner &&that)
Definition: Git.h:752
void checkoutBranch(QString const &name)
Definition: Git.h:965
QString const & sshKey() const
Definition: Git.h:801
void unstage(QString const &path)
Definition: Git.h:1134
QList< Git::Branch > branches()
Definition: Git.h:1195
bool delete_tag(QString const &name, bool remote)
Definition: Git.h:877
std::optional< std::vector< GitFileItem > > ls(const QString &path)
Definition: Git.h:1238
void addRemoteURL(const Git::Remote &remote)
Definition: Git.h:839
bool setSigningKey(QString const &id, bool global)
Definition: Git.h:1206
QString queryEntireCommitMessage(const Git::Hash &id)
Definition: Git.h:1066
std::optional< QByteArray > cat_file(const Git::Hash &id)
Definition: Git.h:1103
QDateTime repositoryLastModifiedTime()
Definition: Git.h:925
bool stash()
Definition: Git.h:1035
bool push_tags(AbstractPtyProcess *pty=nullptr)
Definition: Git.h:950
bool isValidWorkingCopy(QString const &dir) const
Definition: Git.h:776
QString diff_file(QString const &old_path, QString const &new_path)
Definition: Git.h:1087
void setDefaultBranch(QString const &branchname)
Definition: Git.h:915
std::optional< std::vector< char > > readfile(const QString &path)
Definition: Git.h:1243
QString errorMessage(std::optional< GitResult > const &var) const
Definition: Git.h:817
void add_A()
Definition: Git.h:1113
QString getDefaultBranch()
Definition: Git.h:910
void removeFile(QString const &path, bool rm_real_file)
Definition: Git.h:894
void resetFile(QString const &path)
Definition: Git.h:883
std::string diff_head(std::function< bool(std::string const &name, std::string const &mime)> fn_accept=nullptr)
Definition: Git.h:1077
QList< Git::Tag > tags()
Definition: Git.h:867
QStringList getRemotes()
Definition: Git.h:849
void rebase_abort()
Definition: Git.h:997
void setSubmodulePath(const QString &submodpath)
Definition: Git.h:791
void resetAllFiles()
Definition: Git.h:888
Git::SignPolicy signPolicy(Git::Source source)
Definition: Git.h:1211
bool stash_apply()
Definition: Git.h:1040
GitRunner(GitRunner const &that)
Definition: Git.h:748
Git::CommitItemList log(int maxcount)
Definition: Git.h:1024
bool isValidWorkingCopy() const
Definition: Git.h:781
void mergeBranch(QString const &name, Git::MergeFastForward ff, bool squash)
Definition: Git.h:970
void operator=(GitRunner const &that)
Definition: Git.h:756
bool clone(Git::CloneData const &data, AbstractPtyProcess *pty)
Definition: Git.h:1108
QString objectType(const Git::Hash &id)
Definition: Git.h:1175
void clearCommandCache()
Definition: Git.h:766
void unsetDefaultBranch()
Definition: Git.h:920
Git::User getUser(Git::Source purpose)
Definition: Git.h:900
Git::CommitItemList log_file(QString const &path, int maxcount)
Definition: Git.h:1008
void stage(QString const &path)
Definition: Git.h:1124
bool tag(QString const &name, Git::Hash const &id={})
Definition: Git.h:872
QString status()
Definition: Git.h:930
GitRunner(GitPtr const &git)
Definition: Git.h:744
bool deleteBranch(QString const &name)
Definition: Git.h:975
Git::Hash rev_parse(QString const &name)
Definition: Git.h:829
void rebaseBranch(QString const &name)
Definition: Git.h:992
QStringList rev_list_all(Git::Hash const &id, int maxcount)
Definition: Git.h:1013
bool pull(AbstractPtyProcess *pty=nullptr)
Definition: Git.h:1144
bool stage(QStringList const &paths, AbstractPtyProcess *pty)
Definition: Git.h:1129
QByteArray blame(QString const &path)
Definition: Git.h:1232
std::optional< Git::CommitItem > queryCommitItem(const Git::Hash &id)
Definition: Git.h:1029
bool revert(const Git::Hash &id)
Definition: Git.h:945
void remote_v(std::vector< Git::Remote > *out)
Definition: Git.h:955
QString getMessage(const QString &id)
Definition: Git.h:812
bool reset_hard()
Definition: Git.h:1160
bool submodule_update(const Git::SubmoduleUpdateData &data, AbstractPtyProcess *pty)
Definition: Git.h:1061
bool remove(QString const &path)
Definition: Git.h:823
QString getCherryPicking() const
Definition: Git.h:1190
bool reset_head1()
Definition: Git.h:1155
GitPtr git
Definition: Git.h:742
void setWorkingRepositoryDir(QString const &repo, const QString &sshkey)
Definition: Git.h:786
void resize(size_t n)
Definition: Git.h:151
CommitItem * find(Hash const &id)
Definition: Git.h:186
void clear()
Definition: Git.h:171
CommitItem & operator[](size_t i)
Definition: Git.h:163
bool empty() const
Definition: Git.h:175
CommitItem const * find(Hash const &id) const
Definition: Git.h:194
std::vector< CommitItem > list
Definition: Git.h:145
CommitItem const & at(size_t i) const
Definition: Git.h:159
void updateIndex()
Definition: Git.h:179
CommitItem & at(size_t i)
Definition: Git.h:155
size_t size() const
Definition: Git.h:147
std::map< Hash, size_t > index
Definition: Git.h:146
QString diff
Definition: Git.h:218
QString path
Definition: Git.h:220
Type
Definition: Git.h:207
struct Git::Diff::SubmoduleDetail a_submodule
Type type
Definition: Git.h:217
void makeForSingleFile(Diff *diff, QString const &id_a, QString const &id_b, QString const &path, QString const &mode)
Definition: Git.cpp:1884
QString index
Definition: Git.h:219
Diff(QString const &id, QString const &path, QString const &mode)
Definition: Git.h:232
QList< Hunk > hunks
Definition: Git.h:226
struct Git::Diff::SubmoduleDetail b_submodule
struct Git::Diff::BLOB_AB_ blob
bool isSubmodule() const
Definition: Git.h:236
QString mode
Definition: Git.h:221
static FileStatusCode parseFileStatusCode(char x, char y)
Definition: Git.cpp:1719
bool isUnmerged() const
Definition: Git.h:350
void parse(QString const &text)
Definition: Git.cpp:1741
int code_x() const
Definition: Git.h:374
QString path2() const
Definition: Git.h:394
int code_y() const
Definition: Git.h:379
FileStatusCode code() const
Definition: Git.h:369
bool isDeleted() const
Definition: Git.h:384
FileStatus(QString const &text)
Definition: Git.h:364
QString path1() const
Definition: Git.h:389
bool isStaged() const
Definition: Git.h:345
QString rawpath2() const
Definition: Git.h:404
bool isTracked() const
Definition: Git.h:355
QString rawpath1() const
Definition: Git.h:399
struct Git::FileStatus::Data data
void assign(std::string_view const &qid)
Definition: Git.cpp:75
QString toQString(int maxlen=-1) const
Definition: Git.cpp:85
size_t _std_hash() const
Definition: Git.h:68
bool isValid() const
Definition: Git.cpp:101
uint8_t id_[GIT_ID_LENGTH/2]
Definition: Git.h:46
int compare(Hash const &other) const
Definition: Git.h:57
Hash()
Definition: Git.h:49
bool valid_
Definition: Git.h:45
void _assign(VIEW const &id)
Definition: Git.cpp:50
std::vector< std::string > lines
Definition: Git.h:203
std::string at
Definition: Git.h:202
bool reflog(ReflogItemList *out, int maxcount=100)
Definition: Git.cpp:1607
QString getDefaultBranch()
Definition: Git.cpp:427
bool fetch(AbstractPtyProcess *pty=nullptr, bool prune=false)
Definition: Git.cpp:1342
QStringList getRemotes()
Definition: Git.cpp:1452
Source
Definition: Git.h:616
static bool isUncommited(CommitItem const &item)
Definition: Git.h:266
QString getCurrentBranchName()
Definition: Git.cpp:449
bool stash_drop()
Definition: Git.cpp:1528
std::optional< GitResult > git_nolog(QString const &arg, AbstractPtyProcess *pty)
Definition: Git.h:463
std::optional< GitResult > git(QString const &arg)
Definition: Git.h:459
void resetAllFiles()
Definition: Git.cpp:1271
SignPolicy
Definition: Git.h:656
@ Unset
Definition: Git.h:657
@ False
Definition: Git.h:658
@ True
Definition: Git.h:659
CommitItemList log(int maxcount)
Definition: Git.cpp:784
bool isValidWorkingCopy() const
Definition: Git.cpp:236
QStringList rev_list_all(Hash const &id, int maxcount)
Definition: Git.cpp:764
void setWorkingRepositoryDir(QString const &repo, const QString &sshkey)
Definition: Git.cpp:140
void unsetDefaultBranch()
Definition: Git.cpp:442
void setUser(User const &user, bool global)
Definition: Git.cpp:1490
QString status()
Definition: Git.cpp:186
std::string resultStdString(const std::optional< GitResult > &var) const
Definition: Git.cpp:202
QByteArray blame(QString const &path)
Definition: Git.cpp:1767
CommitItemList log_file(QString const &path, int maxcount)
Definition: Git.cpp:740
void rebase_abort()
Definition: Git.cpp:1447
static bool isValidID(QString const &id)
Definition: Git.cpp:162
bool pull(AbstractPtyProcess *pty=nullptr)
Definition: Git.cpp:1335
QList< DiffRaw > diff_raw(Hash const &old_id, Hash const &new_id)
Definition: Git.cpp:385
void rm(QString const &path, bool rm_real_file)
Definition: Git.cpp:1276
Hash rev_parse(QString const &name)
Definition: Git.cpp:289
AbstractGitSession::Info const & gitinfo() const
Definition: Git.h:433
AbstractGitSession::Info & gitinfo()
Definition: Git.h:429
QDateTime repositoryLastModifiedTime()
Definition: Git.cpp:789
bool commit_(QString const &msg, bool amend, bool sign, AbstractPtyProcess *pty)
Definition: Git.cpp:1132
FileStatusList status_s()
Definition: Git.cpp:1218
std::optional< GitResult > exec_git(QString const &arg, AbstractGitSession::Option const &opt)
Definition: Git.h:455
QString version()
Definition: Git.cpp:265
QString diff_file(QString const &old_path, QString const &new_path)
Definition: Git.cpp:351
bool stash_apply()
Definition: Git.cpp:1523
QString getCherryPicking() const
Definition: Git.cpp:1380
QList< ReflogItem > ReflogItemList
Definition: Git.h:651
QList< RemoteInfo > ls_remote()
Definition: Git.cpp:1778
bool tag(QString const &name, Hash const &id={})
Definition: Git.cpp:321
QString encodeQuotedText(QString const &str)
Definition: Git.cpp:1110
QList< SubmoduleItem > submodules()
Definition: Git.cpp:1048
void createBranch(QString const &name)
Definition: Git.cpp:1365
QString workingDir() const
Definition: Git.h:485
QString const & sshKey() const
Definition: Git.cpp:152
bool remove(QString const &path)
Definition: Git.h:477
void cherrypick(QString const &name)
Definition: Git.cpp:1375
bool configGpgProgram(QString const &path, bool global)
Definition: Git.cpp:1866
bool rm_cached(QString const &file)
Definition: Git.cpp:1533
static std::optional< CommitItem > parseCommitItem(const QString &line)
Definition: Git.cpp:670
SignatureGrade
Definition: Git.h:106
bool commit(QString const &text, bool sign, AbstractPtyProcess *pty)
Definition: Git.cpp:1154
static QString trimPath(QString const &s)
Definition: Git.cpp:1688
void setRemoteURL(const Remote &remote)
Definition: Git.cpp:1585
void checkoutBranch(QString const &name)
Definition: Git.cpp:1370
bool clone(CloneData const &data, AbstractPtyProcess *pty)
Definition: Git.cpp:1021
CommitItemList log_all(Hash const &id, int maxcount)
コミットログを取得する
Definition: Git.cpp:716
void add_A()
Definition: Git.cpp:1285
SignPolicy signPolicy(Source source)
Definition: Git.cpp:1827
void setCommandCache(GitCommandCache const &cc)
Definition: Git.h:443
std::optional< CommitItem > queryCommitItem(const Hash &id)
Definition: Git.cpp:977
FileStatusCode
Definition: Git.h:303
User getUser(Source purpose)
Definition: Git.cpp:1465
void removeRemote(QString const &name)
Definition: Git.cpp:1600
void unstage(QString const &path)
Definition: Git.cpp:1312
static SignatureGrade evaluateSignature(char c)
Definition: Git.h:244
QString diff_to_file(QString const &old_id, QString const &path)
Definition: Git.cpp:419
void _init(const GitContext &cx)
Definition: Git.cpp:135
QString errorMessage(const std::optional< GitResult > &var) const
Definition: Git.cpp:219
std::vector< FileStatus > FileStatusList
Definition: Git.h:409
QByteArray toQByteArray(const std::optional< GitResult > &var) const
Definition: Git.cpp:194
std::optional< CommitItem > log_signature(Hash const &id)
Git::log_signature.
Definition: Git.cpp:817
void stage(QString const &path)
Definition: Git.cpp:1290
bool clean_df()
Definition: Git.cpp:1513
bool stash()
Definition: Git.cpp:1518
std::optional< QByteArray > cat_file(Hash const &id)
Definition: Git.cpp:1232
QString signingKey(Source purpose)
Definition: Git.cpp:1798
bool revert(const Hash &id)
Definition: Git.cpp:1164
void addRemoteURL(const Remote &remote)
Definition: Git.cpp:1592
void setDefaultBranch(QString const &branchname)
Definition: Git.cpp:435
void clearCommandCache()
Definition: Git.cpp:130
bool unstage_all()
Definition: Git.cpp:1330
bool submodule_update(const SubmoduleUpdateData &data, AbstractPtyProcess *pty)
Definition: Git.cpp:1095
void rebaseBranch(QString const &name)
Definition: Git.cpp:1442
FileStatusList status_s_()
Definition: Git.cpp:1197
QString diff(QString const &old_id, QString const &new_id)
Definition: Git.cpp:343
QString resultQString(const std::optional< GitResult > &var) const
Definition: Git.cpp:210
bool commit_amend_m(QString const &text, bool sign, AbstractPtyProcess *pty)
Definition: Git.cpp:1159
QString objectType(const Hash &id)
Definition: Git.cpp:1223
void setSshKey(const QString &sshkey)
Definition: Git.cpp:157
bool setSigningKey(QString const &id, bool global)
Definition: Git.cpp:1814
bool push_tags(AbstractPtyProcess *pty=nullptr)
Definition: Git.cpp:1189
bool reset_head1()
Definition: Git.cpp:1503
void resetFile(QString const &path)
Definition: Git.cpp:1266
std::optional< std::vector< GitFileItem > > ls(const QString &path)
Definition: Git.cpp:800
QStringList getUntrackedFiles()
Definition: Git.cpp:461
static bool isValidID(Hash const &id)
Definition: Git.h:573
bool checkout(QString const &branch_name, QString const &id={})
Definition: Git.cpp:1425
bool checkout_detach(QString const &id)
Definition: Git.cpp:1437
static CloneData preclone(QString const &url, QString const &path)
Definition: Git.cpp:992
void mergeBranch(QString const &name, MergeFastForward ff, bool squash)
Definition: Git.cpp:1400
QString queryEntireCommitMessage(const Hash &id)
Definition: Git.cpp:1241
bool deleteBranch(QString const &name)
Definition: Git.cpp:1420
QList< Branch > branches()
Definition: Git.cpp:539
MergeFastForward
Definition: Git.h:325
QList< Tag > tags()
Definition: Git.cpp:302
std::optional< std::vector< char > > readfile(const QString &path)
Definition: Git.cpp:805
bool delete_tag(QString const &name, bool remote)
Definition: Git.cpp:328
QStringList make_branch_list_(const std::optional< GitResult > &result)
Definition: Git.cpp:1354
static void parseAheadBehind(QString const &s, Branch *b)
Definition: Git.cpp:473
bool reset_hard()
Definition: Git.cpp:1508
static std::optional< CommitItem > parseCommit(QByteArray const &ba)
Definition: Git.cpp:878
std::optional< GitResult > git_nochdir(QString const &arg, AbstractPtyProcess *pty)
Definition: Git.h:470
void remote_v(std::vector< Remote > *out)
Definition: Git.cpp:1539
bool submodule_add(const CloneData &data, bool force, AbstractPtyProcess *pty)
Definition: Git.cpp:1077
std::string diff_head(std::function< bool(std::string const &, std::string const &)> fn_accept=nullptr)
Definition: Git.cpp:359
bool setSignPolicy(Source source, SignPolicy policy)
Definition: Git.cpp:1845
bool push_u(bool set_upstream, QString const &remote, QString const &branch, bool force, AbstractPtyProcess *pty)
Definition: Git.cpp:1171
bool isValidGitCommand() const
Definition: Git.h:449
bool init()
Definition: Git.cpp:271
std::shared_ptr< AbstractGitSession > session_
Definition: Git.h:41
Git()
Definition: Git.cpp:119
QString getMessage(const QString &id)
Definition: Git.cpp:1394
void setSubmodulePath(const QString &submodpath)
Definition: Git.cpp:146
static bool isValidMailAddress(const QString &email)
文字列が有効なメールアドレスか判定する
Definition: misc.cpp:748
uint32_t crc32(uint32_t in, void const *data, size_t size)
Definition: crc32.cpp:2
static Variant var(jstream::Reader const &reader)
Definition: jstream.h:1612
Definition: AbstractGitSession.h:64
Definition: AbstractGitSession.h:56
AbstractPtyProcess * pty
Definition: AbstractGitSession.h:61
bool log
Definition: AbstractGitSession.h:59
bool chdir
Definition: AbstractGitSession.h:58
int flags
Definition: Git.h:283
bool isHeadDetached() const
Definition: Git.h:292
int behind
Definition: Git.h:276
@ None
Definition: Git.h:278
@ Current
Definition: Git.h:279
@ HeadDetachedFrom
Definition: Git.h:281
@ HeadDetachedAt
Definition: Git.h:280
QString remote
Definition: Git.h:274
QString name
Definition: Git.h:272
int ahead
Definition: Git.h:275
bool isCurrent() const
Definition: Git.h:288
Hash id
Definition: Git.h:273
QString subdir
Definition: Git.h:509
QString url
Definition: Git.h:507
QString basedir
Definition: Git.h:508
QList< Hash > parent_ids
Definition: Git.h:118
void setParents(QStringList const &list)
Definition: Git.cpp:111
bool has_gpgsig
Definition: Git.h:124
bool has_child
Definition: Git.h:132
bool order_fixed
Definition: Git.h:135
QString email
Definition: Git.h:120
std::vector< TreeLine > parent_lines
Definition: Git.h:123
QString message
Definition: Git.h:121
QDateTime commit_date
Definition: Git.h:122
QString text
Definition: Git.h:127
QString author
Definition: Git.h:119
bool resolved
Definition: Git.h:134
std::vector< uint8_t > key_fingerprint
Definition: Git.h:129
Hash commit_id
Definition: Git.h:116
QString gpgsig
Definition: Git.h:125
char verify
Definition: Git.h:128
Hash tree
Definition: Git.h:117
QString trust
Definition: Git.h:130
int marker_depth
Definition: Git.h:133
struct Git::CommitItem::@7 sign
QString id
Definition: Git.h:543
QString mode
Definition: Git.h:544
QStringList files
Definition: Git.h:547
struct Git::DiffRaw::AB b
struct Git::DiffRaw::AB a
QString state
Definition: Git.h:546
QString b_id_or_path
Definition: Git.h:224
QString a_id_or_path
Definition: Git.h:223
CommitItem commit
Definition: Git.h:229
SubmoduleItem item
Definition: Git.h:228
QString rawpath1
Definition: Git.h:337
char code_y
Definition: Git.h:335
FileStatusCode code
Definition: Git.h:336
QString path1
Definition: Git.h:339
QString path2
Definition: Git.h:340
char code_x
Definition: Git.h:334
QString rawpath2
Definition: Git.h:338
QByteArray content
Definition: Git.h:87
Type type
Definition: Git.h:86
QString type
Definition: Git.h:646
QString path
Definition: Git.h:647
QString atts_a
Definition: Git.h:642
QString id_a
Definition: Git.h:644
QString id_b
Definition: Git.h:645
QString atts_b
Definition: Git.h:643
QString message
Definition: Git.h:640
QList< File > files
Definition: Git.h:649
QString id
Definition: Git.h:637
QString head
Definition: Git.h:638
QString command
Definition: Git.h:639
QString name
Definition: Git.h:669
QString commit_id
Definition: Git.h:668
QString url_push
Definition: Git.h:553
QString ssh_key
Definition: Git.h:554
bool operator<(Remote const &r) const
Definition: Git.h:555
void set_url(QString const &url)
Definition: Git.h:563
QString const & url() const
Definition: Git.h:559
QString name
Definition: Git.h:551
QString url_fetch
Definition: Git.h:552
QString name
Definition: Git.h:95
QString refs
Definition: Git.h:98
QString url
Definition: Git.h:99
QString path
Definition: Git.h:97
Hash id
Definition: Git.h:96
bool recursive
Definition: Git.h:679
bool init
Definition: Git.h:678
QString name
Definition: Git.h:299
Hash id
Definition: Git.h:300
QString email
Definition: Git.h:610
QString name
Definition: Git.h:609
Type type
Definition: Git.h:705
QString remote
Definition: Git.h:706
Type
Definition: Git.h:699
Git::Hash id
Definition: Git.h:708
QString name
Definition: Git.h:707
TreeLine(int index=-1, int depth=-1)
Definition: Git.h:23
bool bend_early
Definition: Git.h:22
int depth
Definition: Git.h:20
int index
Definition: Git.h:19
int color_number
Definition: Git.h:21