#include "RevertCommand.h"\r
\r
#include "RevertDlg.h"\r
-//#include "SVNProgressDlg.h"\r
+#include "SVNProgressDlg.h"\r
#include "MessageBox.h"\r
\r
bool RevertCommand::Execute()\r
if (dlg.DoModal() == IDOK)\r
{\r
\r
- if (dlg.m_selectedPathList.GetCount() == 0)\r
- return FALSE;\r
- CString cmd;\r
- CString out;\r
- for(int i=0;i< dlg.m_selectedPathList.GetCount() ;i++)\r
- {\r
- cmd.Format(_T("git.exe checkout -f -- \"%s\""),dlg.m_selectedPathList[i].GetGitPathString());\r
- if(g_Git.Run(cmd,&out,CP_ACP))\r
- {\r
- CMessageBox::Show(NULL,out,_T("TortoiseGit"),MB_OK);\r
- }\r
- }\r
-#if 0\r
- CSVNProgressDlg progDlg;\r
+ CGitProgressDlg progDlg;\r
theApp.m_pMainWnd = &progDlg;\r
- progDlg.SetCommand(CSVNProgressDlg::SVNProgress_Revert);\r
+ progDlg.SetCommand(CGitProgressDlg::GitProgress_Revert);\r
if (parser.HasVal(_T("closeonend")))\r
progDlg.SetAutoClose(parser.GetLongVal(_T("closeonend")));\r
progDlg.SetOptions(dlg.m_bRecursive ? ProgOptRecursive : ProgOptNonRecursive);\r
progDlg.SetItemCount(dlg.m_selectedPathList.GetCount());\r
progDlg.SetSelectedList(dlg.m_selectedPathList);\r
progDlg.DoModal();\r
-#endif\r
+\r
return true;\r
}\r
return false;\r
data->sActionColumnText.LoadString(IDS_SVNACTION_RESOLVE);\r
break;\r
\r
+ case git_wc_notify_revert:\r
+ data->sActionColumnText.LoadString(IDS_SVNACTION_REVERT);\r
+ break;\r
+\r
#if 0\r
case svn_wc_notify_commit_added:\r
data->sActionColumnText.LoadString(IDS_SVNACTION_ADDING);\r
case svn_wc_notify_restore:\r
data->sActionColumnText.LoadString(IDS_SVNACTION_RESTORE);\r
break;\r
- case svn_wc_notify_revert:\r
- data->sActionColumnText.LoadString(IDS_SVNACTION_REVERT);\r
- break;\r
+\r
case svn_wc_notify_update_replace:\r
case svn_wc_notify_commit_replaced:\r
data->sActionColumnText.LoadString(IDS_SVNACTION_REPLACED);\r
\r
bool CGitProgressDlg::CmdRevert(CString& sWindowTitle, bool& localoperation)\r
{\r
-#if 0\r
+\r
localoperation = true;\r
sWindowTitle.LoadString(IDS_PROGRS_TITLE_REVERT);\r
SetWindowText(sWindowTitle);\r
delList.DeleteAllFiles(true);\r
\r
ReportCmd(CString(MAKEINTRESOURCE(IDS_PROGRS_CMD_REVERT)));\r
- if (!Revert(m_targetPathList, CStringArray(), !!(m_options & ProgOptRecursive)))\r
+ for(int i=0;i<m_selectedPaths.GetCount();i++)\r
{\r
- ReportSVNError();\r
- return false;\r
+ if(g_Git.Revert((CTGitPath&)m_selectedPaths[i],true))\r
+ {\r
+ CMessageBox::Show(NULL,_T("Revert Fail"),_T("TortoiseGit"),MB_OK|MB_ICONERROR);\r
+ m_bErrorsOccurred=true;\r
+ return false;\r
+ }\r
+ Notify(m_selectedPaths[i],git_wc_notify_revert);\r
}\r
+\r
CShellUpdater::Instance().AddPathsForUpdate(m_targetPathList);\r
-#endif\r
+\r
return true;\r
}\r
\r
git_wc_notify_sendmail_retry,\r
git_wc_notify_sendmail_done,\r
git_wc_notify_resolved,\r
+ git_wc_notify_revert,\r
\r
}git_wc_notify_action_t;\r
typedef enum\r