OSDN Git Service

Fixed issue #155: Fix SVN Rebase sets upstream as remotes/trunk
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Commands / MergeCommand.cpp
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2007-2008 - TortoiseSVN\r
4 \r
5 // This program is free software; you can redistribute it and/or\r
6 // modify it under the terms of the GNU General Public License\r
7 // as published by the Free Software Foundation; either version 2\r
8 // of the License, or (at your option) any later version.\r
9 \r
10 // This program is distributed in the hope that it will be useful,\r
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 // GNU General Public License for more details.\r
14 \r
15 // You should have received a copy of the GNU General Public License\r
16 // along with this program; if not, write to the Free Software Foundation,\r
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
18 //\r
19 #include "StdAfx.h"\r
20 #include "MergeCommand.h"\r
21 #include "git.h"\r
22 #include "MergeDlg.h"\r
23 #include "MessageBox.h"\r
24 \r
25 bool MergeCommand::Execute()\r
26 {\r
27         CMergeDlg dlg;\r
28         if(dlg.DoModal()==IDOK)\r
29         {\r
30                 CString cmd;\r
31                 CString noff;\r
32                 CString squash;\r
33                 CString msg;\r
34 \r
35                 if(dlg.m_bNoFF)\r
36                         noff=_T("--no-ff");\r
37 \r
38                 if(dlg.m_bSquash)\r
39                         squash=_T("--squash");\r
40 \r
41                 if(!dlg.m_strLogMesage.IsEmpty())\r
42                 {       \r
43                         msg+=_T("-m \"")+dlg.m_strLogMesage+_T("\"");\r
44                 }\r
45                 cmd.Format(_T("git.exe merge %s %s %s %s"),\r
46                         msg,\r
47                         noff,\r
48                         squash,\r
49                         dlg.m_VersionName);\r
50 \r
51                 CString output;\r
52                 g_Git.Run(cmd,&output,CP_ACP);\r
53 \r
54                 CMessageBox::Show(NULL,output,_T("TortoiseGit"),MB_OK);\r
55         }\r
56         return false;\r
57 }