OSDN Git Service

Fixed issue #187: allow launch rebase dialog again after finish rebase at fetch ...
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Commands / FetchCommand.cpp
index 1f544bb..9537cf9 100644 (file)
@@ -59,26 +59,37 @@ bool FetchCommand::Execute()
 \r
                if( (userResponse==IDC_PROGRESS_BUTTON1) || ( progress.m_GitStatus ==0 && dlg.m_bRebase) )\r
                {\r
 \r
                if( (userResponse==IDC_PROGRESS_BUTTON1) || ( progress.m_GitStatus ==0 && dlg.m_bRebase) )\r
                {\r
-                       CRebaseDlg dlg;\r
-                       dlg.m_PostButtonTexts.Add(_T("Email &Patch..."));\r
-                       int response = dlg.DoModal();\r
-                       if(response == IDOK)\r
+                       while(1)\r
                        {\r
                        {\r
-                               return TRUE;\r
-                       }\r
-                       if(response == IDC_REBASE_POST_BUTTON)\r
-                       {\r
-                               CString cmd,out;\r
-                               cmd.Format(_T("git.exe  format-patch -o \"%s\" %s..%s"),\r
-                                       g_Git.m_CurrentDir,\r
-                                       dlg.m_Upstream,dlg.m_Branch);\r
-                               if(g_Git.Run(cmd,&out,CP_ACP))\r
+                               CRebaseDlg dlg;\r
+                               dlg.m_PostButtonTexts.Add(_T("Email &Patch..."));\r
+                               dlg.m_PostButtonTexts.Add(_T("Restart Rebase"));\r
+                               int response = dlg.DoModal();\r
+                               if(response == IDOK)\r
                                {\r
                                {\r
-                                       CMessageBox::Show(NULL,out,_T("TortoiseGit"),MB_OK|MB_ICONERROR);\r
-                                       return FALSE;\r
+                                       return TRUE;\r
                                }\r
                                }\r
+                               if(response == IDC_REBASE_POST_BUTTON ) \r
+                               {\r
+                                       CString cmd,out;\r
+                                       cmd.Format(_T("git.exe  format-patch -o \"%s\" %s..%s"),\r
+                                               g_Git.m_CurrentDir,\r
+                                               dlg.m_Upstream,dlg.m_Branch);\r
+                                       if(g_Git.Run(cmd,&out,CP_ACP))\r
+                                       {\r
+                                               CMessageBox::Show(NULL,out,_T("TortoiseGit"),MB_OK|MB_ICONERROR);\r
+                                               return FALSE;\r
+                                       }\r
 \r
 \r
-                               CAppUtils::SendPatchMail(cmd,out);\r
+                                       CAppUtils::SendPatchMail(cmd,out);\r
+                                       return TRUE;\r
+                               }\r
+                               \r
+                               if(response == IDC_REBASE_POST_BUTTON +1 )\r
+                                       continue;\r
+\r
+                               if(response == IDCANCEL)\r
+                                       return FALSE;\r
                        }\r
                        return TRUE;\r
                }\r
                        }\r
                        return TRUE;\r
                }\r