#include "ChangedDlg.h"\r
#include "SendMailDlg.h"\r
#include "SVNProgressDlg.h"\r
+#include "PushDlg.h"\r
\r
CAppUtils::CAppUtils(void)\r
{\r
file.Close();\r
delete buf;\r
return 0;\r
+}\r
+\r
+bool CAppUtils::Push()\r
+{\r
+ CPushDlg dlg;\r
+// dlg.m_Directory=this->orgCmdLinePath.GetWinPathString();\r
+ if(dlg.DoModal()==IDOK)\r
+ {\r
+// CString dir=dlg.m_Directory;\r
+// CString url=dlg.m_URL;\r
+ CString cmd;\r
+ CString force;\r
+ CString tags;\r
+ CString thin;\r
+\r
+ if(dlg.m_bAutoLoad)\r
+ {\r
+ CAppUtils::LaunchPAgent(NULL,&dlg.m_URL);\r
+ }\r
+\r
+ if(dlg.m_bPack)\r
+ thin=_T("--thin");\r
+ if(dlg.m_bTags)\r
+ tags=_T("--tags");\r
+ if(dlg.m_bForce)\r
+ force=_T("--force");\r
+ \r
+ cmd.Format(_T("git.exe push %s %s %s \"%s\" %s"),\r
+ thin,tags,force,\r
+ dlg.m_URL,\r
+ dlg.m_BranchSourceName);\r
+ if (!dlg.m_BranchRemoteName.IsEmpty())\r
+ {\r
+ cmd += _T(":") + dlg.m_BranchRemoteName;\r
+ }\r
+\r
+ CProgressDlg progress;\r
+ progress.m_GitCmd=cmd;\r
+ if(progress.DoModal()==IDOK)\r
+ return TRUE;\r
+ \r
+ }\r
+ return FALSE;\r
}
\ No newline at end of file
\r
static int GetLogOutputEncode();\r
\r
+ static bool Push();\r
+\r
private:\r
static CString PickDiffTool(const CTGitPath& file1, const CTGitPath& file2);\r
static bool GetMimeType(const CTGitPath& file, CString& mimetype);\r
#include "StringUtils.h"\r
#include "Hooks.h"\r
#include "MessageBox.h"\r
+#include "AppUtils.h"\r
\r
CString CommitCommand::LoadLogMessage()\r
{\r
pathList = dlg.m_updatedPathList;\r
sLogMsg = dlg.m_sLogMessage;\r
bSelectFilesForCommit = true;\r
+\r
+ if( dlg.m_bPushAfterCommit )\r
+ {\r
+ CAppUtils::Push();\r
+ }\r
// CGitProgressDlg progDlg;\r
// progDlg.SetChangeList(dlg.m_sChangeList, !!dlg.m_bKeepChangeList);\r
// if (parser.HasVal(_T("closeonend")))\r
\r
bool PushCommand::Execute()\r
{\r
- CPushDlg dlg;\r
-// dlg.m_Directory=this->orgCmdLinePath.GetWinPathString();\r
- if(dlg.DoModal()==IDOK)\r
- {\r
-// CString dir=dlg.m_Directory;\r
-// CString url=dlg.m_URL;\r
- CString cmd;\r
- CString force;\r
- CString tags;\r
- CString thin;\r
-\r
- if(dlg.m_bAutoLoad)\r
- {\r
- CAppUtils::LaunchPAgent(NULL,&dlg.m_URL);\r
- }\r
-\r
- if(dlg.m_bPack)\r
- thin=_T("--thin");\r
- if(dlg.m_bTags)\r
- tags=_T("--tags");\r
- if(dlg.m_bForce)\r
- force=_T("--force");\r
- \r
- cmd.Format(_T("git.exe push %s %s %s \"%s\" %s"),\r
- thin,tags,force,\r
- dlg.m_URL,\r
- dlg.m_BranchSourceName);\r
- if (!dlg.m_BranchRemoteName.IsEmpty())\r
- {\r
- cmd += _T(":") + dlg.m_BranchRemoteName;\r
- }\r
-\r
- CProgressDlg progress;\r
- progress.m_GitCmd=cmd;\r
- if(progress.DoModal()==IDOK)\r
- return TRUE;\r
- \r
- }\r
- return FALSE;\r
+ return CAppUtils::Push();\r
}\r
, m_bSelectFilesForCommit(TRUE)\r
{\r
this->m_bCommitAmend=FALSE;\r
+ m_bPushAfterCommit = FALSE;\r
}\r
\r
CCommitDlg::~CCommitDlg()\r
else if(userResponse == IDCANCEL)\r
{\r
//User pressed 'Push' button after successful commit.\r
- PushCommand cmdPush;\r
- cmdPush.Execute();\r
+ m_bPushAfterCommit=true;\r
}\r
\r
CFile::Remove(tempfile);\r
CString m_NoAmendStr;\r
CString m_AmendStr;\r
\r
+ BOOL m_bPushAfterCommit;\r
+\r
private:\r
CWinThread* m_pThread;\r
std::set<CString> m_autolist;\r