bool ResolveCommand::Execute() { CResolveDlg dlg; dlg.m_pathList = pathList; INT_PTR ret = IDOK; if (!parser.HasKey(_T("noquestion"))) ret = dlg.DoModal(); if (ret == IDOK) { if (!dlg.m_pathList.IsEmpty()) { if (parser.HasKey(L"silent")) { for (int i = 0; i < dlg.m_pathList.GetCount(); ++i) { CString cmd, out; cmd.Format(_T("git.exe add -f -- \"%s\""), dlg.m_pathList[i].GetGitPathString()); if (g_Git.Run(cmd, &out, CP_UTF8)) { CMessageBox::Show(NULL, out, _T("TortoiseGit"), MB_OK | MB_ICONERROR); return false; } CAppUtils::RemoveTempMergeFile((CTGitPath &)dlg.m_pathList[i]); } HWND resolveMsgWnd = parser.HasVal(L"resolvemsghwnd") ? (HWND)parser.GetLongLongVal(L"resolvemsghwnd") : 0; if (resolveMsgWnd) { static UINT WM_REVERTMSG = RegisterWindowMessage(_T("GITSLNM_NEEDSREFRESH")); ::PostMessage(resolveMsgWnd, WM_REVERTMSG, NULL, NULL); } return true; } else { CGitProgressDlg progDlg(CWnd::FromHandle(hWndExplorer)); theApp.m_pMainWnd = &progDlg; progDlg.SetCommand(CGitProgressList::GitProgress_Resolve); progDlg.SetOptions(parser.HasKey(_T("skipcheck")) ? ProgOptSkipConflictCheck : ProgOptNone); progDlg.SetPathList(dlg.m_pathList); progDlg.DoModal(); return !progDlg.DidErrorsOccur(); } } } return false; }
bool ResolveCommand::Execute() { CResolveDlg dlg; dlg.m_pathList = pathList; INT_PTR ret = IDOK; if (!parser.HasKey(L"noquestion")) ret = dlg.DoModal(); if (ret == IDOK) { if (!dlg.m_pathList.IsEmpty()) { if (parser.HasKey(L"silent")) { for (int i = 0; i < dlg.m_pathList.GetCount(); ++i) { CString cmd, out; cmd.Format(L"git.exe add -f -- \"%s\"", (LPCTSTR)dlg.m_pathList[i].GetGitPathString()); if (g_Git.Run(cmd, &out, CP_UTF8)) { MessageBox(GetExplorerHWND(), out, L"TortoiseGit", MB_OK | MB_ICONERROR); return false; } CAppUtils::RemoveTempMergeFile((CTGitPath &)dlg.m_pathList[i]); } HWND resolveMsgWnd = parser.HasVal(L"resolvemsghwnd") ? (HWND)parser.GetLongLongVal(L"resolvemsghwnd") : 0; if (resolveMsgWnd && CRegDWORD(L"Software\\TortoiseGit\\RefreshFileListAfterResolvingConflict", TRUE) == TRUE) { static UINT WM_REVERTMSG = RegisterWindowMessage(L"GITSLNM_NEEDSREFRESH"); ::PostMessage(resolveMsgWnd, WM_REVERTMSG, NULL, NULL); } return true; } else { CGitProgressDlg progDlg(CWnd::FromHandle(GetExplorerHWND())); theApp.m_pMainWnd = &progDlg; ResolveProgressCommand resolveProgressCommand; progDlg.SetCommand(&resolveProgressCommand); resolveProgressCommand.SetPathList(dlg.m_pathList); progDlg.DoModal(); return !progDlg.DidErrorsOccur(); } } } return false; }
bool ResolveCommand::Execute() { CResolveDlg dlg; dlg.m_pathList = pathList; INT_PTR ret = IDOK; if (!parser.HasKey(_T("noquestion"))) ret = dlg.DoModal(); if (ret == IDOK) { if (dlg.m_pathList.GetCount()) { if (parser.HasKey(L"silent")) { for (int i = 0; i < dlg.m_pathList.GetCount(); ++i) { CString cmd, out; cmd.Format(_T("git.exe add -f -- \"%s\""), dlg.m_pathList[i].GetGitPathString()); if (g_Git.Run(cmd, &out, CP_UTF8)) { CMessageBox::Show(NULL, out, _T("TortoiseGit"), MB_OK | MB_ICONERROR); return false; } CAppUtils::RemoveTempMergeFile((CTGitPath &)dlg.m_pathList[i]); } return true; } else { CGitProgressDlg progDlg(CWnd::FromHandle(hWndExplorer)); theApp.m_pMainWnd = &progDlg; progDlg.SetCommand(CGitProgressList::GitProgress_Resolve); if (parser.HasVal(_T("closeonend"))) progDlg.SetAutoClose(parser.GetLongVal(_T("closeonend"))); progDlg.SetOptions(parser.HasKey(_T("skipcheck")) ? ProgOptSkipConflictCheck : ProgOptNone); progDlg.SetPathList(dlg.m_pathList); progDlg.DoModal(); return !progDlg.DidErrorsOccur(); } } } return false; }