GetCurrentDirectory(MAX_DIRBUFFER,m_CurrentDir.GetBuffer(MAX_DIRBUFFER));\r
m_CurrentDir.ReleaseBuffer();\r
m_IsGitDllInited = false;\r
+ m_GitDiff=0;\r
CheckMsysGitDir();\r
}\r
\r
\r
CString CTGitPath::GetFilename() const\r
{\r
- ATLASSERT(!IsDirectory());\r
+ //ATLASSERT(!IsDirectory());\r
return GetFileOrDirectoryName();\r
}\r
\r
#include "CommonResource.h"\r
#include "BrowseRefsDlg.h"\r
#include "LogDlg.h"\r
+#include "RefLogDlg.h"\r
\r
#define ID_COMPARE 1\r
#define ID_BLAME 2\r
bool bSuccess = true;\r
RefreshCursor();\r
m_cFileList.ShowText(CString(MAKEINTRESOURCE(IDS_FILEDIFF_WAIT)));\r
+ m_cFileList.DeleteAllItems();\r
m_arFileList.Clear();\r
#if 0\r
if (m_bDoPegDiff)\r
\r
if(entry == 2) /*RefLog*/\r
{\r
+ CRefLogDlg dlg;\r
+ if(dlg.DoModal() == IDOK)\r
+ {\r
+ if(FillRevFromString(rev,dlg.m_SelectedHash))\r
+ return;\r
+\r
+ edit->SetWindowText(dlg.m_SelectedHash);\r
+\r
+ }else\r
+ return;\r
+ \r
}\r
\r
SetURLLabels();\r
+\r
+ InterlockedExchange(&m_bThreadRunning, TRUE);\r
+ if (AfxBeginThread(DiffThreadEntry, this)==NULL)\r
+ {\r
+ InterlockedExchange(&m_bThreadRunning, FALSE);\r
+ CMessageBox::Show(NULL, IDS_ERR_THREADSTARTFAILED, IDS_APPNAME, MB_OK | MB_ICONERROR);\r
+ }\r
}\r
\r
void CFileDiffDlg::OnBnClickedRev2btn()\r
void CRefLogDlg::OnBnClickedOk()\r
{\r
// TODO: Add your control notification handler code here\r
+ if (m_RefList.GetSelectedCount() == 1)\r
+ {\r
+ // get the selected row\r
+ POSITION pos = m_RefList.GetFirstSelectedItemPosition();\r
+ int selIndex = m_RefList.GetNextSelectedItem(pos);\r
+ if (selIndex < m_RefList.m_arShownList.GetCount())\r
+ {\r
+ // all ok, pick up the revision\r
+ GitRev* pLogEntry = reinterpret_cast<GitRev *>(m_RefList.m_arShownList.GetAt(selIndex));\r
+ // extract the hash\r
+ m_SelectedHash = pLogEntry->m_CommitHash;\r
+ }\r
+ }\r
+\r
OnOK();\r
}\r
\r
CString m_CurrentBranch;\r
public:\r
CRefLogList m_RefList;\r
+ CString m_SelectedHash;\r
public:\r
afx_msg void OnBnClickedOk();\r
};\r