21 std::shared_ptr<AbstractGitSession>
connect()
const;
54 std::vector<std::string>
make_branch_list_(
const std::optional<GitResult> &result);
55 std::vector<GitFileStatus>
status_s_u_(std::string *out);
60 static std::string
quoted_text(std::string
const &str);
61 static std::optional<GitCommitItem>
parseCommitItem(
const std::string &line);
64 Git(
GitContext const &cx, std::string
const &repodir, std::string
const &submodpath, std::string
const &sshkey);
80 std::vector<char>
toByteArray(
const std::optional<GitResult> &
var)
const;
87 QString resultQString(
const std::optional<GitResult> &
var)
const;
93 std::optional<GitResult>
git(std::string
const &arg)
123 const std::string &
sshKey()
const;
124 void setSshKey(std::string
const &sshkey);
143 std::vector<GitFileStatus>
status_s_u(std::string *out =
nullptr);
148 void rm(
const std::string &path,
bool rm_real_file);
153 void stage(
const std::string &path);
155 void unstage(
const std::string &path);
156 void unstage(std::vector<std::string>
const &paths);
163 std::string
diff(
const std::string &old_id,
const std::string &new_id,
const GitDiffOption &opt);
164 std::string
diff_file(
const std::string &old_path,
const std::string &new_path,
const GitDiffOption &opt);
183 bool checkout(
const std::string &branch_name,
const std::string &
id = {});
195 std::vector<GitTag>
tags();
196 bool tag(
const std::string &name,
GitHash const &
id = {});
197 bool delete_tag(
const std::string &name,
bool remote);
209 bool push_u(
bool set_upstream, std::string
const &remote, std::string
const &branch,
bool force,
AbstractPtyProcess *pty);
215 std::string
getMessage(
const std::string &
id);
219 std::optional<Git::ReflogItemList>
reflog(
int maxcount = 100);
220 std::vector<char>
blame(
const std::string &path);
243 static std::optional<GitCommitItem>
parseCommit(
const std::vector<char> &ba);
251 std::optional<std::vector<GitFileItem>>
ls(std::string
const &path);
252 std::optional<std::vector<char>>
readfile(std::string
const &path);
ApplicationGlobal * global
Definition: main.cpp:27
GitSignPolicy
Definition: GitTypes.h:238
GitMergeFastForward
Definition: GitTypes.h:207
GitSource
Definition: GitTypes.h:100
GitSignatureGrade
Definition: GitTypes.h:244
std::vector< GitSubmoduleItem > parseGitSubModules(QByteArray const &ba)
Definition: Git.cpp:1787
std::vector< NamedCommitItem > NamedCommitList
Definition: Git.h:267
Definition: AbstractProcess.h:71
Definition: DateTime.h:52
Definition: GitTypes.h:30
std::shared_ptr< AbstractGitSession > connect() const
Definition: Git.cpp:1832
std::string ssh_command
Definition: Git.h:19
std::string git_command
Definition: Git.h:18
Definition: GitRunner.h:21
std::string queryEntireCommitMessage(const GitHash &id)
Definition: Git.cpp:1144
bool fetch(AbstractPtyProcess *pty=nullptr, bool prune=false)
Definition: Git.cpp:1251
bool stash_drop()
Definition: Git.cpp:1460
void addRemoteURL(const GitRemote &remote)
Definition: Git.cpp:1526
void mergeBranch(const std::string &name, GitMergeFastForward ff, bool squash)
Definition: Git.cpp:1315
void resetAllFiles()
Definition: Git.cpp:1173
std::string diff_to_file(const std::string &old_id, const std::string &path, const GitDiffOption &opt)
Definition: Git.cpp:261
void setUser(GitUser const &user, bool global)
Definition: Git.cpp:1422
bool isValidWorkingCopy() const
Definition: Git.cpp:127
void unsetDefaultBranch()
Definition: Git.cpp:344
std::string resultStdString(const std::optional< GitResult > &var) const
Definition: Git.cpp:96
DateTime repositoryLastModifiedTime()
Definition: Git.cpp:780
std::string getDefaultBranch()
Definition: Git.cpp:327
GitSignPolicy signPolicy(GitSource source)
Definition: Git.cpp:1732
std::vector< RemoteInfo > ls_remote()
Definition: Git.cpp:1683
bool pull(AbstractPtyProcess *pty=nullptr)
Definition: Git.cpp:1244
AbstractGitSession::Info const & gitinfo() const
Definition: Git.h:75
std::optional< std::vector< char > > readfile(std::string const &path)
Definition: Git.cpp:796
AbstractGitSession::Info & gitinfo()
Definition: Git.h:71
bool commit_amend_m(const std::string &text, bool sign, AbstractPtyProcess *pty)
Definition: Git.cpp:1056
bool stash_apply()
Definition: Git.cpp:1455
bool tag(const std::string &name, GitHash const &id={})
Definition: Git.cpp:216
static void parseAheadBehind(const std::string &s, GitBranch *b)
Definition: Git.cpp:375
void unstage(const std::string &path)
Definition: Git.cpp:1220
std::string diff_full_index_head_file(const std::string &file)
Definition: Git.cpp:276
bool rebase_abort()
Definition: Git.cpp:1372
void setDefaultBranch(const std::string &branchname)
Definition: Git.cpp:335
static std::optional< GitCommitItem > parseCommitItem(const std::string &line)
Definition: Git.cpp:670
bool setSigningKey(const std::string &id, bool global)
Definition: Git.cpp:1719
static std::string quoted_text(std::string const &str)
Definition: Git.cpp:1015
std::vector< GitFileStatus > status_s_u_(std::string *out)
Definition: Git.cpp:1093
GitCommitItemList log(int maxcount)
Definition: Git.cpp:775
void resetFile(const std::string &path)
Definition: Git.cpp:1168
bool deleteBranch(std::string const &name)
Definition: Git.cpp:1335
GitCommitItemList log_all(GitHash const &id, int maxcount)
Definition: Git.cpp:749
std::string diff(const std::string &old_id, const std::string &new_id, const GitDiffOption &opt)
Definition: Git.cpp:247
void setWorkingRepositoryDir(std::string const &repo, std::string const &sshkey)
Definition: Git.cpp:63
void cherrypick(std::string const &name)
Definition: Git.cpp:1289
std::vector< GitSubmoduleItem > submodules()
Definition: Git.cpp:951
void createBranch(const std::string &name)
Definition: Git.cpp:1279
bool rm_cached(const std::string &file)
Definition: Git.cpp:1465
void add_A()
Definition: Git.cpp:1193
bool submodule_update(const GitSubmoduleUpdateData &data, AbstractPtyProcess *pty)
Definition: Git.cpp:1000
static GitCloneData preclone(const std::string &url, const std::string &path)
Definition: Git.cpp:884
bool commit(const std::string &text, bool sign, AbstractPtyProcess *pty)
Definition: Git.cpp:1051
void _init(const GitContext &cx)
Definition: Git.cpp:58
void setRemoteURL(const GitRemote &remote)
Definition: Git.cpp:1518
std::string diff_file(const std::string &old_path, const std::string &new_path, const GitDiffOption &opt)
Definition: Git.cpp:254
void checkoutBranch(std::string const &name)
Definition: Git.cpp:1284
bool rebase_quit()
Definition: Git.cpp:1367
std::string getMessage(const std::string &id)
Definition: Git.cpp:1309
std::string getCurrentBranchName()
Definition: Git.cpp:351
bool submodule_add(const GitCloneData &data, bool force, AbstractPtyProcess *pty)
Definition: Git.cpp:983
std::string status()
Definition: Git.cpp:84
std::vector< GitDiffRaw > diff_raw(GitHash const &old_id, GitHash const &new_id)
Definition: Git.cpp:291
std::vector< char > toByteArray(const std::optional< GitResult > &var) const
Definition: Git.cpp:90
bool clean_df()
Definition: Git.cpp:1445
static std::optional< GitCommitItem > parseCommit(const std::vector< char > &ba)
Definition: Git.cpp:575
bool stash()
Definition: Git.cpp:1450
bool remove(std::string const &path)
Definition: Git.h:111
GitCommitItemList log_file(const std::string &path, int maxcount)
コミットログを取得する
Definition: Git.cpp:725
GitHash rev_parse(std::string const &name)
Definition: Git.cpp:183
void setSubmodulePath(std::string const &submodpath)
Definition: Git.cpp:69
void clearCommandCache()
Definition: Git.cpp:48
std::vector< GitRemote > remote_v()
Definition: Git.cpp:1471
bool unstage_all()
Definition: Git.cpp:1239
std::optional< std::vector< char > > cat_file(GitHash const &id)
Definition: Git.cpp:1135
GitUser getUser(GitSource purpose)
Definition: Git.cpp:1390
std::vector< GitFileStatus > status_s_u(std::string *out=nullptr)
Definition: Git.cpp:1121
std::string version()
Definition: Git.cpp:159
std::string errorMessage(const std::optional< GitResult > &var) const
Definition: Git.cpp:116
bool push_u(bool set_upstream, std::string const &remote, std::string const &branch, bool force, AbstractPtyProcess *pty)
Definition: Git.cpp:1068
std::string signingKey(GitSource purpose)
Definition: Git.cpp:1703
bool push_tags(AbstractPtyProcess *pty=nullptr)
Definition: Git.cpp:1085
std::optional< Git::ReflogItemList > reflog(int maxcount=100)
Definition: Git.cpp:1542
bool reset_head1()
Definition: Git.cpp:1435
void removeRemote(const std::string &name)
Definition: Git.cpp:1535
static GitSignatureGrade evaluateSignature(char c)
Definition: Git.h:29
std::optional< GitCommitItem > queryCommitItem(const GitHash &id)
Definition: Git.cpp:869
std::string getCherryPicking() const
Definition: Git.cpp:1294
bool delete_tag(const std::string &name, bool remote)
Definition: Git.cpp:223
void rebaseBranch(const std::string &name)
Definition: Git.cpp:1357
bool checkout(const std::string &branch_name, const std::string &id={})
Definition: Git.cpp:1340
bool configGpgProgram(const std::string &path, bool global)
Definition: Git.cpp:1769
std::vector< GitTag > tags()
Definition: Git.cpp:195
void stage(const std::string &path)
Definition: Git.cpp:1198
bool setSignPolicy(GitSource source, GitSignPolicy policy)
Definition: Git.cpp:1749
std::vector< std::string > diff_name_only_head()
Definition: Git.cpp:268
std::string objectType(const GitHash &id)
Definition: Git.cpp:1126
std::vector< std::string > getUntrackedFiles()
Definition: Git.cpp:363
bool reset_hard()
Definition: Git.cpp:1440
std::optional< GitResult > git_nolog(std::string const &arg, AbstractPtyProcess *pty)
Definition: Git.h:97
std::optional< GitResult > git(std::string const &arg)
Definition: Git.h:93
std::optional< GitResult > exec_git(std::string const &arg, AbstractGitSession::Option const &opt)
Definition: Git.h:89
void rm(const std::string &path, bool rm_real_file)
Definition: Git.cpp:1178
bool clone(GitCloneData const &data, AbstractPtyProcess *pty)
Definition: Git.cpp:907
bool commit_(const std::string &msg, bool amend, bool sign, AbstractPtyProcess *pty)
Definition: Git.cpp:1029
std::vector< std::string > make_branch_list_(const std::optional< GitResult > &result)
Definition: Git.cpp:1268
std::string rev_parse_show_toplevel()
Definition: Git.cpp:1187
std::vector< char > blame(const std::string &path)
Definition: Git.cpp:1672
bool rebase_continue()
Definition: Git.cpp:1362
std::vector< GitBranch > branches()
Definition: Git.cpp:441
bool checkout_detach(std::string const &id)
Definition: Git.cpp:1352
std::vector< GitReflogItem > ReflogItemList
Definition: Git.h:217
static bool isUncommitted(GitCommitItem const &item)
Definition: Git.cpp:1263
const std::string & sshKey() const
Definition: Git.cpp:74
std::optional< std::vector< GitFileItem > > ls(std::string const &path)
Definition: Git.cpp:791
std::string workingDir() const
Definition: Git.h:119
bool revert(const GitHash &id)
Definition: Git.cpp:1061
std::vector< std::string > getRemotes()
Definition: Git.cpp:1377
void clearObjectCache()
Definition: Git.cpp:53
bool isValidGitCommand() const
Definition: Git.h:81
void setSshKey(std::string const &sshkey)
Definition: Git.cpp:79
bool init()
Definition: Git.cpp:165
std::shared_ptr< AbstractGitSession > session_
Definition: Git.h:27
std::optional< GitResult > git_nochdir(std::string const &arg, AbstractPtyProcess *pty)
Definition: Git.h:104
std::string submoduleURL(std::string const &path)
Definition: Git.cpp:941
Git()
Definition: Git.cpp:37
std::optional< GitCommitItem > log_signature(GitHash const &id)
Git::log_signature.
Definition: Git.cpp:808
std::vector< GitHash > rev_list_all(GitHash const &id, int maxcount)
Definition: Git.cpp:754
static Variant var(jstream::Reader const &reader)
Definition: jstream.h:1739
Definition: AbstractGitSession.h:26
Definition: AbstractGitSession.h:19
AbstractPtyProcess * pty
Definition: AbstractGitSession.h:24
bool log
Definition: AbstractGitSession.h:22
bool chdir
Definition: AbstractGitSession.h:21
Definition: GitTypes.h:73
Definition: GitCloneData.h:7
Definition: GitCommitItem.h:21
Definition: GitRemote.h:7
Definition: GitSubmodule.h:19
std::string name
Definition: Git.h:230
std::string commit_id
Definition: Git.h:229
Type type
Definition: Git.h:262
std::string remote
Definition: Git.h:263
Type
Definition: Git.h:256
GitHash id
Definition: Git.h:265
std::string name
Definition: Git.h:264