KiCad PCB EDA Suite
|
#include <git_commit_handler.h>
Public Types | |
enum class | GIT_STATUS { GIT_STATUS_UNTRACKED , GIT_STATUS_CURRENT , GIT_STATUS_MODIFIED , GIT_STATUS_ADDED , GIT_STATUS_DELETED , GIT_STATUS_BEHIND , GIT_STATUS_AHEAD , GIT_STATUS_CONFLICTED , GIT_STATUS_IGNORED , GIT_STATUS_LAST } |
enum class | GIT_CONN_TYPE { GIT_CONN_HTTPS = 0 , GIT_CONN_SSH , GIT_CONN_LOCAL , GIT_CONN_LAST } |
Public Member Functions | |
GIT_COMMIT_HANDLER (git_repository *aRepo) | |
virtual | ~GIT_COMMIT_HANDLER () |
CommitResult | PerformCommit (const std::vector< wxString > &aFiles, const wxString &aMessage, const wxString &aAuthorName, const wxString &aAuthorEmail) |
wxString | GetErrorString () const |
git_repository * | GetRepo () const |
void | SetRepo (git_repository *aRepo) |
wxString | GetCurrentBranchName () const |
std::vector< wxString > | GetBranchNames () const |
std::vector< wxString > | GetProjectDirs () |
Return a vector of project files in the repository. | |
std::pair< std::set< wxString >, std::set< wxString > > | GetDifferentFiles () const |
Return a pair of sets of files that differ locally from the remote repository The first set is files that have been committed locally but not pushed The second set is files that have been committed remotely but not pulled. | |
wxString | GetUsername () const |
wxString | GetPassword () |
GIT_CONN_TYPE | GetConnType () const |
void | SetUsername (const wxString &aUsername) |
void | SetPassword (const wxString &aPassword) |
void | SetSSHKey (const wxString &aSSHKey) |
unsigned & | TestedTypes () |
bool | HasLocalCommits () const |
bool | HasPushAndPullRemote () const |
void | UpdateCurrentBranchInfo () |
wxString | GetGitRootDirectory () const |
wxString | GetRemotename () const |
void | ResetNextKey () |
wxString | GetNextPublicKey () |
void | SetRemote (const wxString &aRemote) |
int | HandleSSHKeyAuthentication (git_cred **aOut, const wxString &aUsername) |
int | HandlePlaintextAuthentication (git_cred **aOut, const wxString &aUsername) |
int | HandleSSHAgentAuthentication (git_cred **aOut, const wxString &aUsername) |
bool | IsCancelled () const |
void | SetCancelled (bool aCancel) |
Static Public Member Functions | |
static wxString | GetLastGitError () |
Protected Attributes | |
git_repository * | m_repo |
GIT_CONN_TYPE | m_connType |
wxString | m_remote |
wxString | m_hostname |
wxString | m_username |
wxString | m_password |
unsigned | m_testedTypes |
std::mutex | m_gitActionMutex |
Private Member Functions | |
void | AddErrorString (const wxString &aErrorString) |
void | updatePublicKeys () |
void | updateConnectionType () |
Private Attributes | |
wxString | m_errorString |
std::vector< wxString > | m_publicKeys |
int | m_nextPublicKey |
bool | m_secretFetched |
std::atomic< bool > | m_cancel |
Static Private Attributes | |
static const unsigned | KIGIT_CREDENTIAL_SSH_AGENT = 1 << sizeof( m_testedTypes - 1 ) |
Friends | |
class | LIBGIT_BACKEND |
Definition at line 39 of file git_commit_handler.h.
|
stronginherited |
Enumerator | |
---|---|
GIT_CONN_HTTPS | |
GIT_CONN_SSH | |
GIT_CONN_LOCAL | |
GIT_CONN_LAST |
Definition at line 87 of file kicad_git_common.h.
|
stronginherited |
Enumerator | |
---|---|
GIT_STATUS_UNTRACKED | |
GIT_STATUS_CURRENT | |
GIT_STATUS_MODIFIED | |
GIT_STATUS_ADDED | |
GIT_STATUS_DELETED | |
GIT_STATUS_BEHIND | |
GIT_STATUS_AHEAD | |
GIT_STATUS_CONFLICTED | |
GIT_STATUS_IGNORED | |
GIT_STATUS_LAST |
Definition at line 73 of file kicad_git_common.h.
GIT_COMMIT_HANDLER::GIT_COMMIT_HANDLER | ( | git_repository * | aRepo | ) |
Definition at line 27 of file git_commit_handler.cpp.
References KIGIT_COMMON::KIGIT_COMMON().
|
virtual |
Definition at line 32 of file git_commit_handler.cpp.
|
private |
Definition at line 52 of file git_commit_handler.cpp.
References m_errorString.
Referenced by LIBGIT_BACKEND::Commit(), and LIBGIT_BACKEND.
|
inherited |
Definition at line 123 of file kicad_git_common.cpp.
|
inherited |
Definition at line 686 of file kicad_git_common.cpp.
References GetRemotename(), GIT_CONN_HTTPS, GIT_CONN_LOCAL, GIT_CONN_SSH, and m_remote.
|
inherited |
Definition at line 72 of file kicad_git_common.cpp.
|
inherited |
Return a pair of sets of files that differ locally from the remote repository The first set is files that have been committed locally but not pushed The second set is files that have been committed remotely but not pulled.
Definition at line 254 of file kicad_git_common.cpp.
References delta, GetLastGitError(), m_repo, and traceGit.
wxString GIT_COMMIT_HANDLER::GetErrorString | ( | ) | const |
Definition at line 46 of file git_commit_handler.cpp.
References m_errorString.
Referenced by PROJECT_TREE_PANE::onGitCommit().
|
inherited |
Definition at line 578 of file kicad_git_common.cpp.
Referenced by PROJECT_TREE_PANE::onRight().
|
inlinestaticinherited |
Definition at line 145 of file kicad_git_common.h.
Referenced by LIBGIT_BACKEND::Commit(), LIBGIT_BACKEND::CreateBranch(), credentials_cb(), LIBGIT_BACKEND::GetConfigString(), LIBGIT_BACKEND::GetCurrentBranchName(), getDefaultAuthorAndEmail(), GetDifferentFiles(), LIBGIT_BACKEND::GetFileStatus(), GetProjectDirs(), GetRemotename(), LIBGIT_BACKEND::GetRepositoryForFile(), HandleSSHAgentAuthentication(), HandleSSHKeyAuthentication(), LIBGIT_BACKEND::HasChangedFiles(), HasLocalCommits(), LIBGIT_BACKEND::InitializeRepository(), KIGIT_PCB_MERGE::Merge(), DIALOG_GIT_REPOSITORY::OnTestClick(), LIBGIT_BACKEND::PerformFetch(), LIBGIT_BACKEND::Push(), LIBGIT_BACKEND::SetupRemote(), and LIBGIT_BACKEND::SwitchToBranch().
|
inlineinherited |
Definition at line 123 of file kicad_git_common.h.
References m_nextPublicKey, and m_publicKeys.
Referenced by HandleSSHKeyAuthentication().
|
inherited |
Definition at line 104 of file kicad_git_common.cpp.
References KIPLATFORM::SECRETS::GetSecret(), GIT_CONN_LOCAL, m_connType, m_password, m_remote, m_secretFetched, and m_username.
Referenced by HandlePlaintextAuthentication(), and HandleSSHKeyAuthentication().
|
inherited |
Return a vector of project files in the repository.
Sorted by the depth of the project file in the directory tree
Definition at line 186 of file kicad_git_common.cpp.
References GetLastGitError(), m_repo, and traceGit.
|
inherited |
Definition at line 497 of file kicad_git_common.cpp.
References GetLastGitError(), m_repo, and traceGit.
Referenced by GetConnType(), and UpdateCurrentBranchInfo().
|
inherited |
Definition at line 67 of file kicad_git_common.cpp.
References m_repo.
Referenced by LIBGIT_BACKEND::AddToIndex(), LIBGIT_BACKEND::Commit(), LIBGIT_BACKEND::PerformAddToIndex(), LIBGIT_BACKEND::PerformRemoveFromIndex(), and LIBGIT_BACKEND::RemoveFromIndex().
|
inlineinherited |
Definition at line 95 of file kicad_git_common.h.
References m_username.
|
inherited |
Definition at line 809 of file kicad_git_common.cpp.
References GetPassword(), and m_testedTypes.
Referenced by credentials_cb().
|
inherited |
Definition at line 819 of file kicad_git_common.cpp.
References GetLastGitError(), KIGIT_CREDENTIAL_SSH_AGENT, m_testedTypes, and traceGit.
Referenced by HandleSSHKeyAuthentication().
|
inherited |
Definition at line 777 of file kicad_git_common.cpp.
References GetLastGitError(), GetNextPublicKey(), GetPassword(), HandleSSHAgentAuthentication(), KIGIT_CREDENTIAL_SSH_AGENT, m_testedTypes, and traceGit.
Referenced by credentials_cb().
|
inherited |
Definition at line 408 of file kicad_git_common.cpp.
References GetLastGitError(), m_repo, and traceGit.
Referenced by PROJECT_TREE_PANE::onRight().
|
inherited |
Definition at line 469 of file kicad_git_common.cpp.
References m_repo, and traceGit.
Referenced by PROJECT_TREE_PANE::onRight().
|
inlineinherited |
Definition at line 155 of file kicad_git_common.h.
References m_cancel.
Referenced by progress_cb(), and transfer_progress_cb().
CommitResult GIT_COMMIT_HANDLER::PerformCommit | ( | const std::vector< wxString > & | aFiles, |
const wxString & | aMessage, | ||
const wxString & | aAuthorName, | ||
const wxString & | aAuthorEmail ) |
Definition at line 37 of file git_commit_handler.cpp.
References GIT_BACKEND::Commit(), and GetGitBackend().
Referenced by PROJECT_TREE_PANE::onGitCommit().
|
inlineinherited |
Definition at line 121 of file kicad_git_common.h.
References m_nextPublicKey.
|
inlineinherited |
Definition at line 160 of file kicad_git_common.h.
References m_cancel.
Referenced by LIBGIT_BACKEND::PerformFetch(), and LIBGIT_BACKEND::Push().
|
inlineinherited |
Definition at line 100 of file kicad_git_common.h.
References m_password, and m_secretFetched.
Referenced by DIALOG_GIT_REPOSITORY::OnTestClick(), and LIBGIT_BACKEND::SetupRemote().
|
inlineinherited |
Definition at line 131 of file kicad_git_common.h.
References m_password, m_remote, m_secretFetched, and updateConnectionType().
Referenced by DIALOG_GIT_REPOSITORY::OnTestClick().
|
inlineinherited |
Definition at line 49 of file kicad_git_common.h.
References m_repo.
Referenced by LIBGIT_BACKEND::Clone(), and LIBGIT_BACKEND::InitializeRepository().
|
inherited |
Definition at line 567 of file kicad_git_common.cpp.
References m_publicKeys.
Referenced by DIALOG_GIT_REPOSITORY::OnTestClick(), LIBGIT_BACKEND::SetupRemote(), and updatePublicKeys().
|
inlineinherited |
Definition at line 99 of file kicad_git_common.h.
References m_secretFetched, and m_username.
Referenced by DIALOG_GIT_REPOSITORY::OnTestClick(), and LIBGIT_BACKEND::SetupRemote().
|
inlineinherited |
Definition at line 106 of file kicad_git_common.h.
References m_testedTypes.
|
privateinherited |
Definition at line 706 of file kicad_git_common.cpp.
References GIT_CONN_HTTPS, GIT_CONN_LOCAL, GIT_CONN_SSH, m_connType, m_hostname, m_password, m_remote, m_secretFetched, and m_username.
Referenced by PROJECT_TREE_PANE, SetRemote(), and UpdateCurrentBranchInfo().
|
inherited |
Definition at line 658 of file kicad_git_common.cpp.
References GetRemotename(), m_password, m_remote, m_repo, m_secretFetched, updateConnectionType(), and updatePublicKeys().
|
privateinherited |
Definition at line 589 of file kicad_git_common.cpp.
References m_hostname, m_publicKeys, and SetSSHKey().
Referenced by PROJECT_TREE_PANE, and UpdateCurrentBranchInfo().
|
friend |
Definition at line 53 of file git_commit_handler.h.
References AddErrorString(), and LIBGIT_BACKEND.
Referenced by LIBGIT_BACKEND.
|
staticprivateinherited |
Definition at line 197 of file kicad_git_common.h.
Referenced by HandleSSHAgentAuthentication(), and HandleSSHKeyAuthentication().
|
privateinherited |
Definition at line 193 of file kicad_git_common.h.
Referenced by IsCancelled(), and SetCancelled().
|
protectedinherited |
Definition at line 168 of file kicad_git_common.h.
Referenced by GetPassword(), KIGIT_COMMON(), KIGIT_COMMON(), and updateConnectionType().
|
private |
Definition at line 56 of file git_commit_handler.h.
Referenced by AddErrorString(), and GetErrorString().
|
protectedinherited |
Definition at line 176 of file kicad_git_common.h.
Referenced by LIBGIT_BACKEND::Clone(), KIGIT_COMMON(), LIBGIT_BACKEND::PerformFetch(), LIBGIT_BACKEND::PerformPull(), and LIBGIT_BACKEND::Push().
|
protectedinherited |
Definition at line 170 of file kicad_git_common.h.
Referenced by KIGIT_COMMON(), updateConnectionType(), and updatePublicKeys().
|
privateinherited |
Definition at line 190 of file kicad_git_common.h.
Referenced by GetNextPublicKey(), KIGIT_COMMON(), KIGIT_COMMON(), and ResetNextKey().
|
protectedinherited |
Definition at line 172 of file kicad_git_common.h.
Referenced by GetPassword(), KIGIT_COMMON(), SetPassword(), SetRemote(), updateConnectionType(), and UpdateCurrentBranchInfo().
|
privateinherited |
Definition at line 189 of file kicad_git_common.h.
Referenced by GetNextPublicKey(), KIGIT_COMMON(), SetSSHKey(), and updatePublicKeys().
|
protectedinherited |
Definition at line 169 of file kicad_git_common.h.
Referenced by LIBGIT_BACKEND::Clone(), GetConnType(), GetPassword(), KIGIT_COMMON(), GIT_CLONE_HANDLER::SetRemote(), SetRemote(), updateConnectionType(), and UpdateCurrentBranchInfo().
|
protectedinherited |
Definition at line 166 of file kicad_git_common.h.
Referenced by GetBranchNames(), GetCurrentBranchName(), GetDifferentFiles(), GetGitRootDirectory(), GetProjectDirs(), GetRemotename(), GetRepo(), HasLocalCommits(), HasPushAndPullRemote(), KIGIT_COMMON(), KIGIT_COMMON(), SetRepo(), and UpdateCurrentBranchInfo().
|
privateinherited |
Definition at line 191 of file kicad_git_common.h.
Referenced by GetPassword(), KIGIT_COMMON(), KIGIT_COMMON(), SetPassword(), SetRemote(), SetUsername(), updateConnectionType(), and UpdateCurrentBranchInfo().
|
protectedinherited |
Definition at line 174 of file kicad_git_common.h.
Referenced by HandlePlaintextAuthentication(), HandleSSHAgentAuthentication(), HandleSSHKeyAuthentication(), KIGIT_COMMON(), KIGIT_COMMON(), and TestedTypes().
|
protectedinherited |
Definition at line 171 of file kicad_git_common.h.
Referenced by GetPassword(), GetUsername(), KIGIT_COMMON(), SetUsername(), and updateConnectionType().