OSDN Git Service

Finish Submodule Add Command
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Commands / SubmoduleCommand.cpp
index d129be3..c10c75c 100644 (file)
 #include "DirFileEnum.h"\r
 #include "ShellUpdater.h"\r
 #include "SubmoduleAddDlg.h"\r
 #include "DirFileEnum.h"\r
 #include "ShellUpdater.h"\r
 #include "SubmoduleAddDlg.h"\r
+#include "ProgressDlg.h"\r
 \r
 bool SubmoduleAddCommand::Execute()\r
 {\r
        bool bRet = false;\r
        CSubmoduleAddDlg dlg;\r
 \r
 bool SubmoduleAddCommand::Execute()\r
 {\r
        bool bRet = false;\r
        CSubmoduleAddDlg dlg;\r
-\r
+       dlg.m_strPath = cmdLinePath.GetDirectory().GetWinPathString();\r
+       dlg.m_strProject = g_Git.m_CurrentDir;\r
        if( dlg.DoModal() == IDOK )\r
        if( dlg.DoModal() == IDOK )\r
-               bRet = TRUE;\r
+       {\r
+               CString cmd;\r
+               if(dlg.m_strPath.Left(g_Git.m_CurrentDir.GetLength()) == g_Git.m_CurrentDir)\r
+                       dlg.m_strPath = dlg.m_strPath.Right(dlg.m_strPath.GetLength()-g_Git.m_CurrentDir.GetLength()-1);\r
+               \r
+               CString branch;\r
+               if(dlg.m_bBranch)\r
+                       branch.Format(_T(" -b %s "), dlg.m_strBranch);\r
+\r
+               cmd.Format(_T("git.exe submodule add %s -- \"%s\"  \"%s\""),\r
+                                               branch,\r
+                                               dlg.m_strRepos, dlg.m_strPath);\r
 \r
 \r
+               CProgressDlg progress;\r
+               progress.m_GitCmd=cmd;\r
+               progress.DoModal();\r
+\r
+               bRet = TRUE;\r
+       }\r
        return bRet;\r
 }\r
 \r
        return bRet;\r
 }\r
 \r