From 356968650bf4c7b6ae56f24f6093d0d5036504f8 Mon Sep 17 00:00:00 2001 From: Frank Li Date: Sun, 10 Feb 2013 13:23:24 +0100 Subject: [PATCH] libgit2: Enable fetch function but update tip fails when run like "git fetch url branch" Signed-off-by: Frank Li Signed-off-by: Sven Strickroth --- src/Git/Git.h | 1 + src/Resources/TortoiseProcENG.rc | 1 + src/Resources/UpdateBackground.ico | Bin 0 -> 67646 bytes src/TortoiseProc/AppUtils.cpp | 17 +++++- src/TortoiseProc/GitProgressDlg.cpp | 109 ++++++++++++++++++++++++++++++++++++ src/TortoiseProc/GitProgressDlg.h | 4 ++ src/TortoiseProc/resource.h | 1 + 7 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 src/Resources/UpdateBackground.ico diff --git a/src/Git/Git.h b/src/Git/Git.h index 3df4635e8..67e9998d5 100644 --- a/src/Git/Git.h +++ b/src/Git/Git.h @@ -354,6 +354,7 @@ public: enum { GIT_CMD_CLONE, + GIT_CMD_FETCH, }; bool UsingLibGit2(int cmd); }; diff --git a/src/Resources/TortoiseProcENG.rc b/src/Resources/TortoiseProcENG.rc index 5f3b74986..e6ed3d1be 100644 --- a/src/Resources/TortoiseProcENG.rc +++ b/src/Resources/TortoiseProcENG.rc @@ -95,6 +95,7 @@ IDI_RESTOREOVL ICON "restoreovl.ico" IDI_SHOWBRANCHES ICON "showbranches.ico" IDI_JUMPUP ICON "jumpup.ico" IDI_JUMPDOWN ICON "jumpdown.ico" +IDI_UPDATE_BKG ICON "UpdateBackground.ico" ///////////////////////////////////////////////////////////////////////////// // diff --git a/src/Resources/UpdateBackground.ico b/src/Resources/UpdateBackground.ico new file mode 100644 index 0000000000000000000000000000000000000000..0381d2746b71168871f450614dde8deec040aa08 GIT binary patch literal 67646 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 z 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 = 0; + + sWindowTitle.LoadString(IDS_PROGRS_TITLE_FETCH); + CAppUtils::SetWindowTitle(m_hWnd, g_Git.m_CurrentDir, sWindowTitle); + SetBackgroundImage(IDI_UPDATE_BKG); + ReportCmd(CString(MAKEINTRESOURCE(IDS_PROGRS_TITLE_FETCH))); + + CStringA url = CUnicodeUtils::GetMulti(m_url.GetGitPathString(), CP_UTF8); + CStringA gitdir = CUnicodeUtils::GetMulti(CTGitPath(g_Git.m_CurrentDir).GetGitPathString(), CP_UTF8); + CStringA remotebranch = CUnicodeUtils::GetMulti(m_RefSpec, CP_UTF8); + + git_remote *remote = NULL; + git_repository *repo = NULL; + bool ret = true; + + do + { + if (git_repository_open(&repo, gitdir.GetBuffer())) + { + gitdir.ReleaseBuffer(); + ReportGitError(); + ret = false; + break; + } + + // first try with a named remote (e.g. "origin") + if (git_remote_load(&remote, repo, url) < 0) + { + // retry with repository located at a specific url + if (git_remote_create_inmemory(&remote, repo, NULL, url) < 0) + { + ReportGitError(); + ret = false; + break; + } + } + + git_remote_callbacks callbacks = GIT_REMOTE_CALLBACKS_INIT; + + callbacks.update_tips = RemoteUpdatetipsCallback; + callbacks.progress = RemoteProgressCallback; + callbacks.completion = RemoteCompletionCallback; + callbacks.payload = this; + + git_remote_set_callbacks(remote, &callbacks); + git_remote_set_cred_acquire_cb(remote, CAppUtils::Git2GetUserPassword, NULL); + git_remote_set_autotag(remote, (git_remote_autotag_option_t)m_AutoTag); + + if (!remotebranch.IsEmpty() && git_remote_set_fetchspec(remote, remotebranch)) + { + ReportGitError(); + ret = false; + break; + } + + m_Animate.ShowWindow(SW_SHOW); + m_Animate.Play(0, INT_MAX, INT_MAX); + + // Connect to the remote end specifying that we want to fetch + // information from it. + if (git_remote_connect(remote, GIT_DIRECTION_FETCH) < 0) { + ReportGitError(); + ret = false; + break; + } + + // Download the packfile and index it. This function updates the + // amount of received data and the indexer stats which lets you + // inform the user about progress. + if (git_remote_download(remote, FetchCallback, this) < 0) { + ReportGitError(); + ret = false; + break; + } + + m_Animate.ShowWindow(SW_HIDE); + // Update the references in the remote's namespace to point to the + // right commits. This may be needed even if there was no packfile + // to download, which can happen e.g. when the branches have been + // changed but all the neede objects are available locally. + if (git_remote_update_tips(remote) < 0) + { + ReportGitError(); + ret = false; + break; + } + + git_remote_disconnect(remote); + + } while(0); + + git_remote_free(remote); + git_repository_free(repo); + m_Animate.ShowWindow(SW_HIDE); + return ret; +} diff --git a/src/TortoiseProc/GitProgressDlg.h b/src/TortoiseProc/GitProgressDlg.h index 864b85317..309b86cac 100644 --- a/src/TortoiseProc/GitProgressDlg.h +++ b/src/TortoiseProc/GitProgressDlg.h @@ -111,6 +111,7 @@ public: GitProgress_Switch, GitProgress_SendMail, GitProgress_Clone, + GitProgress_Fetch, } Command; @@ -132,6 +133,7 @@ public: void SetIsBare(bool b) { m_bBare = b; } void SetNoCheckout(bool b){ m_bNoCheckout = b; } void SetRefSpec(CString &spec){ m_RefSpec = spec; } + void SetAutoTag(int tag){ m_AutoTag = tag; } // void SetRevision(const GitRev& rev) {m_Revision = rev;} // void SetRevisionEnd(const GitRev& rev) {m_RevisionEnd = rev;} @@ -328,6 +330,7 @@ private: bool CmdSwitch(CString& sWindowTitle, bool& localoperation); bool CmdSendMail(CString& sWindowTitle, bool& localoperation); bool CmdClone(CString& sWindowTitle, bool& localoperation); + bool CmdFetch(CString& sWindowTitle, bool& localoperation); private: typedef std::map StringRevMap; @@ -404,4 +407,5 @@ private: bool m_bNoCheckout; CString m_RefSpec; CBrush m_background_brush; + int m_AutoTag; }; diff --git a/src/TortoiseProc/resource.h b/src/TortoiseProc/resource.h index 501da3680..3eca4f75a 100644 --- a/src/TortoiseProc/resource.h +++ b/src/TortoiseProc/resource.h @@ -111,6 +111,7 @@ #define IDI_SAVEAS 292 #define IDI_EXPLORER 293 #define IDI_OPEN 294 +#define IDI_UPDATE_BKG 295 #define IDD_CLONE 297 #define IDB_GIT 299 #define IDD_GITPROGRESS 300 -- 2.11.4.GIT