+}\r
+void CRebaseDlg::OnCancel()\r
+{\r
+ OnBnClickedAbort();\r
+}\r
+void CRebaseDlg::OnBnClickedAbort()\r
+{\r
+ CString cmd,out;\r
+ if(m_OrigUpstreamHash.IsEmpty())\r
+ {\r
+ __super::OnCancel();\r
+ }\r
+ \r
+ if(m_RebaseStage == CHOOSE_BRANCH || m_RebaseStage== CHOOSE_COMMIT_PICK_MODE)\r
+ {\r
+ return;\r
+ }\r
+\r
+ if(CMessageBox::Show(NULL,_T("Are you sure you want to abort the rebase process?"),_T("TortoiseGit"),MB_YESNO) != IDYES)\r
+ return;\r
+\r
+ if(this->m_IsFastForward)\r
+ {\r
+ cmd.Format(_T("git.exe reset --hard %s"),this->m_OrigBranchHash.Left(40));\r
+ if(g_Git.Run(cmd,&out,CP_UTF8))\r
+ {\r
+ AddLogString(out);\r
+ return ;\r
+ }\r
+ __super::OnCancel();\r
+ return;\r
+ }\r
+ cmd.Format(_T("git.exe checkout -f %s"),this->m_UpstreamCtrl.GetString());\r
+ if(g_Git.Run(cmd,&out,CP_UTF8))\r
+ {\r
+ AddLogString(out);\r
+ return ;\r
+ }\r
+\r
+ cmd.Format(_T("git.exe reset --hard %s"),this->m_OrigUpstreamHash.Left(40));\r
+ if(g_Git.Run(cmd,&out,CP_UTF8))\r
+ {\r
+ AddLogString(out);\r
+ return ;\r
+ }\r
+ \r
+ if(this->m_IsCherryPick) //there are not "branch" at cherry pick mode\r
+ return;\r
+\r
+ cmd.Format(_T("git checkout -f %s"),this->m_BranchCtrl.GetString());\r
+ if(g_Git.Run(cmd,&out,CP_UTF8))\r
+ {\r
+ AddLogString(out);\r
+ return ;\r
+ }\r
+ \r
+ cmd.Format(_T("git.exe reset --hard %s"),this->m_OrigBranchHash.Left(40));\r
+ if(g_Git.Run(cmd,&out,CP_UTF8))\r
+ {\r
+ AddLogString(out);\r
+ return ;\r
+ }\r
+ __super::OnCancel();\r
+}\r
+\r
+void CRebaseDlg::OnBnClickedButtonBrowse()\r
+{\r
+ if(CBrowseRefsDlg::PickRefForCombo(&m_UpstreamCtrl, gPickRef_NoTag))\r
+ OnCbnSelchangeUpstream();\r
+}\r
+\r
+void CRebaseDlg::OnBnClickedRebaseCheckForce()\r
+{\r
+ // TODO: Add your control notification handler code here\r
+ this->UpdateData();\r
+ this->FetchLogList();\r
+}\r
+\r
+void CRebaseDlg::OnStnClickedStatusStatic()\r
+{\r
+ // TODO: Add your control notification handler code here\r
+}\r
+\r
+void CRebaseDlg::OnBnClickedRebasePostButton()\r
+{\r
+ // TODO: Add your control notification handler code here\r
+ this->m_Upstream=this->m_UpstreamCtrl.GetString();\r
+ this->m_Branch=this->m_BranchCtrl.GetString();\r
+\r
+ this->EndDialog(IDC_REBASE_POST_BUTTON);\r
+}\r