OSDN Git Service

Using GitProcessBar to show add process!
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / SVNProgressDlg.cpp
index 95497b0..9b81f7d 100644 (file)
@@ -41,6 +41,7 @@
 #include "IconMenu.h"\r
 #include "BugTraqAssociations.h"\r
 \r
+static UINT WM_GITPROGRESS = RegisterWindowMessage(_T("TORTOISEGIT_GITPROGRESS_MSG"));\r
 \r
 BOOL   CGitProgressDlg::m_bAscending = FALSE;\r
 int            CGitProgressDlg::m_nSortedColumn = -1;\r
@@ -123,7 +124,7 @@ BEGIN_MESSAGE_MAP(CGitProgressDlg, CResizableStandAloneDialog)
        ON_NOTIFY(HDN_ITEMCLICK, 0, OnHdnItemclickSvnprogress)\r
        ON_WM_SETCURSOR()\r
        ON_WM_CONTEXTMENU()\r
-       ON_REGISTERED_MESSAGE(WM_SVNPROGRESS, OnSVNProgress)\r
+       ON_REGISTERED_MESSAGE(WM_GITPROGRESS, OnGitProgress)\r
        ON_WM_TIMER()\r
        ON_EN_SETFOCUS(IDC_INFOTEXT, &CGitProgressDlg::OnEnSetfocusInfotext)\r
        ON_NOTIFY(LVN_BEGINDRAG, IDC_SVNPROGRESS, &CGitProgressDlg::OnLvnBegindragSvnprogress)\r
@@ -140,6 +141,7 @@ BOOL CGitProgressDlg::Cancel()
 \r
 LRESULT CGitProgressDlg::OnShowConflictResolver(WPARAM /*wParam*/, LPARAM lParam)\r
 {\r
+#if 0\r
        CConflictResolveDlg dlg(this);\r
        const svn_wc_conflict_description_t *description = (svn_wc_conflict_description_t *)lParam;\r
        if (description)\r
@@ -159,13 +161,16 @@ LRESULT CGitProgressDlg::OnShowConflictResolver(WPARAM /*wParam*/, LPARAM lParam
                m_bCancelled = dlg.IsCancelled();\r
                return dlg.GetResult();\r
        }\r
+\r
        return svn_wc_conflict_choose_postpone;\r
+#endif\r
+       return 0;\r
 }\r
-\r
+#if 0\r
 svn_wc_conflict_choice_t CGitProgressDlg::ConflictResolveCallback(const svn_wc_conflict_description_t *description, CString& mergedfile)\r
 {\r
        // we only bother the user when merging\r
-       if (((m_Command == SVNProgress_Merge)||(m_Command == SVNProgress_MergeAll)||(m_Command == SVNProgress_MergeReintegrate))&&(!m_AlwaysConflicted)&&(description))\r
+       if (((m_Command == GitProgress_Merge)||(m_Command == GitProgress_MergeAll)||(m_Command == GitProgress_MergeReintegrate))&&(!m_AlwaysConflicted)&&(description))\r
        {\r
                // we're in a worker thread here. That means we must not show a dialog from the thread\r
                // but let the UI thread do it.\r
@@ -177,7 +182,7 @@ svn_wc_conflict_choice_t CGitProgressDlg::ConflictResolveCallback(const svn_wc_c
 \r
        return svn_wc_conflict_choose_postpone;\r
 }\r
-\r
+#endif\r
 void CGitProgressDlg::AddItemToList()\r
 {\r
        int totalcount = m_ProgList.GetItemCount();\r
@@ -210,20 +215,25 @@ void CGitProgressDlg::AddItemToList()
        }\r
 }\r
 \r
-BOOL CGitProgressDlg::Notify(const CTSVNPath& path, svn_wc_notify_action_t action, \r
+\r
+BOOL CGitProgressDlg::Notify(const CTGitPath& path, git_wc_notify_action_t action\r
+                                                        /*\r
                                                         svn_node_kind_t kind, const CString& mime_type, \r
                                                         svn_wc_notify_state_t content_state, \r
                                                         svn_wc_notify_state_t prop_state, LONG rev,\r
                                                         const svn_lock_t * lock, svn_wc_notify_lock_state_t lock_state,\r
                                                         const CString& changelistname,\r
                                                         svn_merge_range_t * range,\r
-                                                        svn_error_t * err, apr_pool_t * pool)\r
+                                                        svn_error_t * err, apr_pool_t * pool\r
+                                                        */)\r
 {\r
        bool bNoNotify = false;\r
        bool bDoAddData = true;\r
        NotificationData * data = new NotificationData();\r
        data->path = path;\r
        data->action = action;\r
+       data->sPathColumnText=path.GetGitPathString();\r
+#if 0\r
        data->kind = kind;\r
        data->mime_type = mime_type;\r
        data->content_state = content_state;\r
@@ -238,24 +248,26 @@ BOOL CGitProgressDlg::Notify(const CTSVNPath& path, svn_wc_notify_action_t actio
                data->basepath = m_basePath;\r
        if (range)\r
                data->merge_range = *range;\r
+#endif\r
        switch (data->action)\r
        {\r
-       case svn_wc_notify_add:\r
-       case svn_wc_notify_update_add:\r
-               if ((data->content_state == svn_wc_notify_state_conflicted) || (data->prop_state == svn_wc_notify_state_conflicted))\r
-               {\r
-                       data->color = m_Colors.GetColor(CColors::Conflict);\r
-                       data->bConflictedActionItem = true;\r
-                       data->sActionColumnText.LoadString(IDS_SVNACTION_CONFLICTED);\r
-                       m_nConflicts++;\r
-               }\r
-               else\r
-               {\r
-                       m_bMergesAddsDeletesOccurred = true;\r
+       case git_wc_notify_add:\r
+       //case svn_wc_notify_update_add:\r
+       //      if ((data->content_state == svn_wc_notify_state_conflicted) || (data->prop_state == svn_wc_notify_state_conflicted))\r
+       //      {\r
+       //              data->color = m_Colors.GetColor(CColors::Conflict);\r
+       //              data->bConflictedActionItem = true;\r
+       //              data->sActionColumnText.LoadString(IDS_SVNACTION_CONFLICTED);\r
+       //              m_nConflicts++;\r
+       //      }\r
+       //      else\r
+       //      {\r
+       //              m_bMergesAddsDeletesOccurred = true;\r
                        data->sActionColumnText.LoadString(IDS_SVNACTION_ADD);\r
                        data->color = m_Colors.GetColor(CColors::Added);\r
-               }\r
+       //      }\r
                break;\r
+#if 0\r
        case svn_wc_notify_commit_added:\r
                data->sActionColumnText.LoadString(IDS_SVNACTION_ADDING);\r
                data->color = m_Colors.GetColor(CColors::Added);\r
@@ -461,6 +473,7 @@ BOOL CGitProgressDlg::Notify(const CTSVNPath& path, svn_wc_notify_action_t actio
                        data->sActionColumnText.Format(IDS_SVNACTION_MERGEBEGINMULTIPLEREVERSE, data->merge_range.start, data->merge_range.end + 1);\r
                data->bAuxItem = true;\r
                break;\r
+#endif\r
        default:\r
                break;\r
        } // switch (data->action)\r
@@ -473,7 +486,7 @@ BOOL CGitProgressDlg::Notify(const CTSVNPath& path, svn_wc_notify_action_t actio
                {\r
                        m_arData.push_back(data);\r
                        AddItemToList();\r
-                       if ((!data->bAuxItem)&&(m_itemCount > 0))\r
+                       if (/*(!data->bAuxItem)&&*/(m_itemCount > 0))\r
                        {\r
                                m_itemCount--;\r
 \r
@@ -483,19 +496,22 @@ BOOL CGitProgressDlg::Notify(const CTSVNPath& path, svn_wc_notify_action_t actio
                                progControl->SetRange32(0, m_itemCountTotal);\r
                        }\r
                }\r
-               if ((action == svn_wc_notify_commit_postfix_txdelta)&&(bSecondResized == FALSE))\r
-               {\r
-                       ResizeColumns();\r
-                       bSecondResized = TRUE;\r
-               }\r
+               //if ((action == svn_wc_notify_commit_postfix_txdelta)&&(bSecondResized == FALSE))\r
+               //{\r
+               //      ResizeColumns();\r
+               //      bSecondResized = TRUE;\r
+               //}\r
        }\r
 \r
        return TRUE;\r
 }\r
 \r
+\r
 CString CGitProgressDlg::BuildInfoString()\r
 {\r
        CString infotext;\r
+#if 0\r
+       \r
        CString temp;\r
        int added = 0;\r
        int copied = 0;\r
@@ -632,10 +648,11 @@ CString CGitProgressDlg::BuildInfoString()
                infotext += temp;\r
                infotext.AppendFormat(_T(":%d "), resolved);\r
        }\r
+#endif\r
        return infotext;\r
 }\r
 \r
-void CGitProgressDlg::SetSelectedList(const CTSVNPathList& selPaths)\r
+void CGitProgressDlg::SetSelectedList(const CTGitPathList& selPaths)\r
 {\r
        m_selectedPaths = selPaths;\r
 }\r
@@ -728,7 +745,7 @@ BOOL CGitProgressDlg::OnInitDialog()
        AddAnchor(IDCANCEL, BOTTOM_RIGHT);\r
        AddAnchor(IDOK, BOTTOM_RIGHT);\r
        AddAnchor(IDC_LOGBUTTON, BOTTOM_RIGHT);\r
-       SetPromptParentWindow(this->m_hWnd);\r
+       //SetPromptParentWindow(this->m_hWnd);\r
        if (hWndExplorer)\r
                CenterWindow(CWnd::FromHandle(hWndExplorer));\r
        EnableSaveRestore(_T("SVNProgressDlg"));\r
@@ -740,27 +757,29 @@ bool CGitProgressDlg::SetBackgroundImage(UINT nID)
        return CAppUtils::SetListCtrlBackgroundImage(m_ProgList.GetSafeHwnd(), nID);\r
 }\r
 \r
+#if 0\r
 void CGitProgressDlg::ReportSVNError()\r
 {\r
        ReportError(GetLastErrorMessage());\r
 }\r
+#endif\r
 \r
 void CGitProgressDlg::ReportError(const CString& sError)\r
 {\r
-       CSoundUtils::PlayTSVNError();\r
+       CSoundUtils::PlayTGitError();\r
        ReportString(sError, CString(MAKEINTRESOURCE(IDS_ERR_ERROR)), m_Colors.GetColor(CColors::Conflict));\r
        m_bErrorsOccurred = true;\r
 }\r
 \r
 void CGitProgressDlg::ReportWarning(const CString& sWarning)\r
 {\r
-       CSoundUtils::PlayTSVNWarning();\r
+       CSoundUtils::PlayTGitWarning();\r
        ReportString(sWarning, CString(MAKEINTRESOURCE(IDS_WARN_WARNING)), m_Colors.GetColor(CColors::Conflict));\r
 }\r
 \r
 void CGitProgressDlg::ReportNotification(const CString& sNotification)\r
 {\r
-       CSoundUtils::PlayTSVNNotification();\r
+       CSoundUtils::PlayTGitNotification();\r
        ReportString(sNotification, CString(MAKEINTRESOURCE(IDS_WARN_NOTE)));\r
 }\r
 \r
@@ -817,7 +836,7 @@ UINT CGitProgressDlg::ProgressThread()
 \r
        DialogEnableWindow(IDOK, FALSE);\r
        DialogEnableWindow(IDCANCEL, TRUE);\r
-       SetAndClearProgressInfo(m_hWnd);\r
+//     SetAndClearProgressInfo(m_hWnd);\r
        m_itemCount = m_itemCountTotal;\r
 \r
        InterlockedExchange(&m_bThreadRunning, TRUE);\r
@@ -827,52 +846,52 @@ UINT CGitProgressDlg::ProgressThread()
        CTime startTime = CTime::GetCurrentTime();\r
        switch (m_Command)\r
        {\r
-       case SVNProgress_Add:\r
+       case GitProgress_Add:\r
                bSuccess = CmdAdd(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Checkout:\r
+       case GitProgress_Checkout:\r
                bSuccess = CmdCheckout(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Commit:\r
+       case GitProgress_Commit:\r
                bSuccess = CmdCommit(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Copy:\r
+       case GitProgress_Copy:\r
                bSuccess = CmdCopy(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Export:\r
+       case GitProgress_Export:\r
                bSuccess = CmdExport(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Import:\r
+       case GitProgress_Import:\r
                bSuccess = CmdImport(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Lock:\r
+       case GitProgress_Lock:\r
                bSuccess = CmdLock(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Merge:\r
+       case GitProgress_Merge:\r
                bSuccess = CmdMerge(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_MergeAll:\r
+       case GitProgress_MergeAll:\r
                bSuccess = CmdMergeAll(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_MergeReintegrate:\r
+       case GitProgress_MergeReintegrate:\r
                bSuccess = CmdMergeReintegrate(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Rename:\r
+       case GitProgress_Rename:\r
                bSuccess = CmdRename(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Resolve:\r
+       case GitProgress_Resolve:\r
                bSuccess = CmdResolve(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Revert:\r
+       case GitProgress_Revert:\r
                bSuccess = CmdRevert(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Switch:\r
+       case GitProgress_Switch:\r
                bSuccess = CmdSwitch(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Unlock:\r
+       case GitProgress_Unlock:\r
                bSuccess = CmdUnlock(sWindowTitle, localoperation);\r
                break;\r
-       case SVNProgress_Update:\r
+       case GitProgress_Update:\r
                bSuccess = CmdUpdate(sWindowTitle, localoperation);\r
                break;\r
        }\r
@@ -967,6 +986,7 @@ UINT CGitProgressDlg::ProgressThread()
 \r
 void CGitProgressDlg::OnBnClickedLogbutton()\r
 {\r
+#if 0\r
        if (m_targetPathList.GetCount() != 1)\r
                return;\r
        StringRevMap::iterator it = m_UpdateStartRevMap.begin();\r
@@ -978,6 +998,7 @@ void CGitProgressDlg::OnBnClickedLogbutton()
        CLogDlg dlg;\r
        dlg.SetParams(m_targetPathList[0], m_RevisionEnd, m_RevisionEnd, rev, 0, TRUE);\r
        dlg.DoModal();\r
+#endif\r
 }\r
 \r
 \r
@@ -1104,6 +1125,7 @@ void CGitProgressDlg::OnNMCustomdrawSvnprogress(NMHDR *pNMHDR, LRESULT *pResult)
 \r
 void CGitProgressDlg::OnNMDblclkSvnprogress(NMHDR *pNMHDR, LRESULT *pResult)\r
 {\r
+#if 0\r
        LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);\r
        *pResult = 0;\r
        if (pNMLV->iItem < 0)\r
@@ -1120,10 +1142,10 @@ void CGitProgressDlg::OnNMDblclkSvnprogress(NMHDR *pNMHDR, LRESULT *pResult)
                // We've double-clicked on a conflicted item - do a three-way merge on it\r
                SVNDiff::StartConflictEditor(data->path);\r
        }\r
-       else if ((data->action == svn_wc_notify_update_update) && ((data->content_state == svn_wc_notify_state_merged)||(SVNProgress_Merge == m_Command)) || (data->action == svn_wc_notify_resolved))\r
+       else if ((data->action == svn_wc_notify_update_update) && ((data->content_state == svn_wc_notify_state_merged)||(GitProgress_Merge == m_Command)) || (data->action == svn_wc_notify_resolved))\r
        {\r
                // This is a modified file which has been merged on update. Diff it against base\r
-               CTSVNPath temporaryFile;\r
+               CTGitPath temporaryFile;\r
                SVNDiff diff(this, this->m_hWnd, true);\r
                diff.SetAlternativeTool(!!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
                svn_revnum_t baseRev = 0;\r
@@ -1142,6 +1164,7 @@ void CGitProgressDlg::OnNMDblclkSvnprogress(NMHDR *pNMHDR, LRESULT *pResult)
                        CAppUtils::LaunchApplication(cmd, NULL, false);\r
                }\r
        }\r
+#endif\r
 }\r
 \r
 void CGitProgressDlg::OnHdnItemclickSvnprogress(NMHDR *pNMHDR, LRESULT *pResult)\r
@@ -1171,8 +1194,9 @@ bool CGitProgressDlg::NotificationDataIsAux(const NotificationData* pData)
        return pData->bAuxItem;\r
 }\r
 \r
-LRESULT CGitProgressDlg::OnSVNProgress(WPARAM /*wParam*/, LPARAM lParam)\r
+LRESULT CGitProgressDlg::OnGitProgress(WPARAM /*wParam*/, LPARAM lParam)\r
 {\r
+#if 0\r
        SVNProgress * pProgressData = (SVNProgress *)lParam;\r
        CProgressCtrl * progControl = (CProgressCtrl *)GetDlgItem(IDC_PROGRESSBAR);\r
        if ((pProgressData->total > 1000)&&(!progControl->IsWindowVisible()))\r
@@ -1200,6 +1224,7 @@ LRESULT CGitProgressDlg::OnSVNProgress(WPARAM /*wParam*/, LPARAM lParam)
                m_sTotalBytesTransferred.Format(IDS_SVN_PROGRESS_TOTALMBTRANSFERRED, (double)((double)pProgressData->overall_total / 1024000.0));\r
        progText.Format(IDS_SVN_PROGRESS_TOTALANDSPEED, (LPCTSTR)m_sTotalBytesTransferred, (LPCTSTR)pProgressData->SpeedString);\r
        SetDlgItemText(IDC_PROGRESSLABEL, progText);\r
+#endif\r
        return 0;\r
 }\r
 \r
@@ -1271,7 +1296,7 @@ bool CGitProgressDlg::SortCompare(const NotificationData * pData1, const Notific
        // Sort by path if everything else is equal\r
        if (result == 0)\r
        {\r
-               result = CTSVNPath::Compare(pData1->path, pData2->path);\r
+               result = CTGitPath::Compare(pData1->path, pData2->path);\r
        }\r
 \r
        if (!m_bAscending)\r
@@ -1361,6 +1386,7 @@ BOOL CGitProgressDlg::PreTranslateMessage(MSG* pMsg)
 \r
 void CGitProgressDlg::OnContextMenu(CWnd* pWnd, CPoint point)\r
 {\r
+#if 0\r
        if (m_options & ProgOptDryRun)\r
                return; // don't do anything in a dry-run.\r
 \r
@@ -1405,7 +1431,7 @@ void CGitProgressDlg::OnContextMenu(CWnd* pWnd, CPoint point)
                                                        popup.AppendMenuIcon(ID_CONFLICTUSETHEIRS, IDS_SVNPROGRESS_MENUUSETHEIRS,IDI_RESOLVE);\r
                                                        popup.AppendMenuIcon(ID_CONFLICTUSEMINE, IDS_SVNPROGRESS_MENUUSEMINE,IDI_RESOLVE);\r
                                                }\r
-                                               else if ((data->content_state == svn_wc_notify_state_merged)||(SVNProgress_Merge == m_Command)||(data->action == svn_wc_notify_resolved))\r
+                                               else if ((data->content_state == svn_wc_notify_state_merged)||(GitProgress_Merge == m_Command)||(data->action == svn_wc_notify_resolved))\r
                                                        popup.SetDefaultItem(ID_COMPARE, FALSE);\r
                                        \r
                                        if (m_ProgList.GetSelectedCount() == 1)\r
@@ -1436,9 +1462,9 @@ void CGitProgressDlg::OnContextMenu(CWnd* pWnd, CPoint point)
                                        if (data)\r
                                        {\r
                                                CString sPath = GetPathFromColumnText(data->sPathColumnText);\r
-                                               if ((!sPath.IsEmpty())&&(!SVN::PathIsURL(CTSVNPath(sPath))))\r
+                                               if ((!sPath.IsEmpty())&&(!SVN::PathIsURL(CTGitPath(sPath))))\r
                                                {\r
-                                                       CTSVNPath path = CTSVNPath(sPath);\r
+                                                       CTGitPath path = CTGitPath(sPath);\r
                                                        if (path.GetDirectory().Exists())\r
                                                        {\r
                                                                popup.AppendMenuIcon(ID_EXPLORE, IDS_SVNPROGRESS_MENUOPENPARENT, IDI_EXPLORER);\r
@@ -1488,7 +1514,7 @@ void CGitProgressDlg::OnContextMenu(CWnd* pWnd, CPoint point)
                                                {\r
                                                        CString sPath = GetPathFromColumnText(data->sPathColumnText);\r
 \r
-                                                       CTSVNPath path = CTSVNPath(sPath);\r
+                                                       CTGitPath path = CTGitPath(sPath);\r
                                                        ShellExecute(m_hWnd, _T("explore"), path.GetDirectory().GetWinPath(), NULL, path.GetDirectory().GetWinPath(), SW_SHOW);\r
                                                }\r
                                                break;\r
@@ -1505,8 +1531,8 @@ void CGitProgressDlg::OnContextMenu(CWnd* pWnd, CPoint point)
                                                        // if the file was merged during update, do a three way diff between OLD, MINE, THEIRS\r
                                                        if (data->content_state == svn_wc_notify_state_merged)\r
                                                        {\r
-                                                               CTSVNPath basefile = CTempFiles::Instance().GetTempFilePath(false, data->path, rev);\r
-                                                               CTSVNPath newfile = CTempFiles::Instance().GetTempFilePath(false, data->path, SVNRev::REV_HEAD);\r
+                                                               CTGitPath basefile = CTempFiles::Instance().GetTempFilePath(false, data->path, rev);\r
+                                                               CTGitPath newfile = CTempFiles::Instance().GetTempFilePath(false, data->path, SVNRev::REV_HEAD);\r
                                                                SVN svn;\r
                                                                if (!svn.Cat(data->path, SVNRev(SVNRev::REV_WC), rev, basefile))\r
                                                                {\r
@@ -1517,7 +1543,7 @@ void CGitProgressDlg::OnContextMenu(CWnd* pWnd, CPoint point)
                                                                // If necessary, convert the line-endings on the file before diffing\r
                                                                if ((DWORD)CRegDWORD(_T("Software\\TortoiseGit\\ConvertBase"), TRUE))\r
                                                                {\r
-                                                                       CTSVNPath temporaryFile = CTempFiles::Instance().GetTempFilePath(false, data->path, SVNRev::REV_BASE);\r
+                                                                       CTGitPath temporaryFile = CTempFiles::Instance().GetTempFilePath(false, data->path, SVNRev::REV_BASE);\r
                                                                        if (!svn.Cat(data->path, SVNRev(SVNRev::REV_BASE), SVNRev(SVNRev::REV_BASE), temporaryFile))\r
                                                                        {\r
                                                                                temporaryFile.Reset();\r
@@ -1539,7 +1565,7 @@ void CGitProgressDlg::OnContextMenu(CWnd* pWnd, CPoint point)
                                                        }\r
                                                        else\r
                                                        {\r
-                                                               CTSVNPath tempfile = CTempFiles::Instance().GetTempFilePath(false, data->path, rev);\r
+                                                               CTGitPath tempfile = CTempFiles::Instance().GetTempFilePath(false, data->path, rev);\r
                                                                SVN svn;\r
                                                                if (!svn.Cat(data->path, SVNRev(SVNRev::REV_WC), rev, tempfile))\r
                                                                {\r
@@ -1563,7 +1589,7 @@ void CGitProgressDlg::OnContextMenu(CWnd* pWnd, CPoint point)
                                        case ID_EDITCONFLICT:\r
                                                {\r
                                                        CString sPath = GetPathFromColumnText(data->sPathColumnText);\r
-                                                       SVNDiff::StartConflictEditor(CTSVNPath(sPath));\r
+                                                       SVNDiff::StartConflictEditor(CTGitPath(sPath));\r
                                                }\r
                                                break;\r
                                        case ID_CONFLICTUSETHEIRS:\r
@@ -1651,7 +1677,7 @@ void CGitProgressDlg::OnContextMenu(CWnd* pWnd, CPoint point)
                                                        // the path might be inside an external folder which has its own\r
                                                        // revisions.\r
                                                        CString sPath = GetPathFromColumnText(data->sPathColumnText);\r
-                                                       dlg.SetParams(CTSVNPath(sPath), SVNRev(), SVNRev::REV_HEAD, 1, limit, TRUE);\r
+                                                       dlg.SetParams(CTGitPath(sPath), SVNRev(), SVNRev::REV_HEAD, 1, limit, TRUE);\r
                                                        dlg.DoModal();\r
                                                }\r
                                                break;\r
@@ -1677,6 +1703,7 @@ void CGitProgressDlg::OnContextMenu(CWnd* pWnd, CPoint point)
                        }\r
                }\r
        }\r
+#endif\r
 }\r
 \r
 void CGitProgressDlg::OnEnSetfocusInfotext()\r
@@ -1690,7 +1717,7 @@ void CGitProgressDlg::OnEnSetfocusInfotext()
 void CGitProgressDlg::OnLvnBegindragSvnprogress(NMHDR* , LRESULT *pResult)\r
 {\r
        //LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);\r
-\r
+#if 0\r
        int selIndex = m_ProgList.GetSelectionMark();\r
        if (selIndex < 0)\r
                return;\r
@@ -1715,7 +1742,7 @@ void CGitProgressDlg::OnLvnBegindragSvnprogress(NMHDR* , LRESULT *pResult)
        {\r
                dropFiles.CreateStructure();\r
        }\r
-\r
+#endif\r
        *pResult = 0;\r
 }\r
 \r
@@ -1724,6 +1751,9 @@ void CGitProgressDlg::OnSize(UINT nType, int cx, int cy)
        CResizableStandAloneDialog::OnSize(nType, cx, cy);\r
        if ((nType == SIZE_RESTORED)&&(m_bLastVisible))\r
        {\r
+               if(!m_ProgList.m_hWnd)\r
+                       return;\r
+\r
                int count = m_ProgList.GetItemCount();\r
                if (count > 0)\r
                        m_ProgList.EnsureVisible(count-1, false);\r
@@ -1735,28 +1765,46 @@ void CGitProgressDlg::OnSize(UINT nType, int cx, int cy)
 //////////////////////////////////////////////////////////////////////////\r
 bool CGitProgressDlg::CmdAdd(CString& sWindowTitle, bool& localoperation)\r
 {\r
+\r
        localoperation = true;\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_ADD);\r
        SetWindowText(sWindowTitle);\r
        SetBackgroundImage(IDI_ADD_BKG);\r
        ReportCmd(CString(MAKEINTRESOURCE(IDS_PROGRS_CMD_ADD)));\r
+\r
+       for(int i=0;i<m_targetPathList.GetCount();i++)\r
+       {\r
+               CString cmd,out;\r
+               cmd.Format(_T("git.exe add \"%s\""),m_targetPathList[i].GetGitPathString());\r
+               if(g_Git.Run(cmd,&out,CP_OEMCP))\r
+               {\r
+                       CMessageBox::Show(NULL,out,_T("TortoiseGit"),MB_OK|MB_ICONERROR);\r
+                       m_bErrorsOccurred=true;\r
+                       return false;\r
+               }\r
+               Notify(m_targetPathList[i],git_wc_notify_add);\r
+       }\r
+#if 0\r
        if (!Add(m_targetPathList, &m_ProjectProperties, svn_depth_empty, FALSE, TRUE, TRUE))\r
        {\r
                ReportSVNError();\r
                return false;\r
        }\r
-       CShellUpdater::Instance().AddPathsForUpdate(m_targetPathList);\r
+#endif\r
+       //CShellUpdater::Instance().AddPathsForUpdate(m_targetPathList);\r
+       m_bErrorsOccurred=false;\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdCheckout(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        ASSERT(m_targetPathList.GetCount() == 1);\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_CHECKOUT);\r
        SetBackgroundImage(IDI_CHECKOUT_BKG);\r
-       CTSVNPathList urls;\r
+       CTGitPathList urls;\r
        urls.LoadFromAsteriskSeparatedString(m_url.GetSVNPathString());\r
-       CTSVNPath checkoutdir = m_targetPathList[0];\r
+       CTGitPath checkoutdir = m_targetPathList[0];\r
        for (int i=0; i<urls.GetCount(); ++i)\r
        {\r
                sWindowTitle = urls[i].GetUIFileOrDirectoryName()+_T(" - ")+sWindowTitle;\r
@@ -1794,11 +1842,13 @@ bool CGitProgressDlg::CmdCheckout(CString& sWindowTitle, bool& /*localoperation*
                        }\r
                }\r
        }\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdCommit(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_COMMIT);\r
        SetWindowText(sWindowTitle);\r
        SetBackgroundImage(IDI_COMMIT_BKG);\r
@@ -1924,11 +1974,13 @@ bool CGitProgressDlg::CmdCommit(CString& sWindowTitle, bool& /*localoperation*/)
                        return false;\r
                }\r
        }\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdCopy(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        ASSERT(m_targetPathList.GetCount() == 1);\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_COPY);\r
        SetWindowText(sWindowTitle);\r
@@ -1968,11 +2020,13 @@ bool CGitProgressDlg::CmdCopy(CString& sWindowTitle, bool& /*localoperation*/)
                        ReportNotification(sMsg);\r
                }\r
        }\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdExport(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        ASSERT(m_targetPathList.GetCount() == 1);\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_EXPORT);\r
        sWindowTitle = m_url.GetUIFileOrDirectoryName()+_T(" - ")+sWindowTitle;\r
@@ -1991,11 +2045,13 @@ bool CGitProgressDlg::CmdExport(CString& sWindowTitle, bool& /*localoperation*/)
                ReportSVNError();\r
                return false;\r
        }\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdImport(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        ASSERT(m_targetPathList.GetCount() == 1);\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_IMPORT);\r
        sWindowTitle = m_targetPathList[0].GetUIFileOrDirectoryName()+_T(" - ")+sWindowTitle;\r
@@ -2011,11 +2067,13 @@ bool CGitProgressDlg::CmdImport(CString& sWindowTitle, bool& /*localoperation*/)
                ReportSVNError();\r
                return false;\r
        }\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdLock(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_LOCK);\r
        SetWindowText(sWindowTitle);\r
        SetBackgroundImage(IDI_LOCK_BKG);\r
@@ -2057,11 +2115,13 @@ bool CGitProgressDlg::CmdLock(CString& sWindowTitle, bool& /*localoperation*/)
                }\r
                return false;\r
        }\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdMerge(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        bool bFailed = false;\r
        ASSERT(m_targetPathList.GetCount() == 1);\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_MERGE);\r
@@ -2139,10 +2199,13 @@ bool CGitProgressDlg::CmdMerge(CString& sWindowTitle, bool& /*localoperation*/)
        GetDlgItem(IDC_NONINTERACTIVE)->ShowWindow(SW_HIDE);\r
        GetDlgItem(IDC_INFOTEXT)->ShowWindow(SW_SHOW);\r
        return !bFailed;\r
+#endif\r
+       return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdMergeAll(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        ASSERT(m_targetPathList.GetCount() == 1);\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_MERGE);\r
        SetBackgroundImage(IDI_MERGE_BKG);\r
@@ -2153,7 +2216,7 @@ bool CGitProgressDlg::CmdMergeAll(CString& sWindowTitle, bool& /*localoperation*
        CString sCmdInfo;\r
        sCmdInfo.LoadString(IDS_PROGRS_INFOGETTINGINFO);\r
        ReportCmd(sCmdInfo);\r
-       CTSVNPathList suggestedSources;\r
+       CTGitPathList suggestedSources;\r
        if (!SuggestMergeSources(m_targetPathList[0], m_Revision, suggestedSources))\r
        {\r
                ReportSVNError();\r
@@ -2192,11 +2255,13 @@ bool CGitProgressDlg::CmdMergeAll(CString& sWindowTitle, bool& /*localoperation*
        }\r
 \r
        GetDlgItem(IDC_NONINTERACTIVE)->ShowWindow(SW_HIDE);\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdMergeReintegrate(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        ASSERT(m_targetPathList.GetCount() == 1);\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_MERGEREINTEGRATE);\r
        SetBackgroundImage(IDI_MERGE_BKG);\r
@@ -2224,11 +2289,13 @@ bool CGitProgressDlg::CmdMergeReintegrate(CString& sWindowTitle, bool& /*localop
        }\r
 \r
        GetDlgItem(IDC_NONINTERACTIVE)->ShowWindow(SW_HIDE);\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdRename(CString& sWindowTitle, bool& localoperation)\r
 {\r
+#if 0\r
        ASSERT(m_targetPathList.GetCount() == 1);\r
        if ((!m_targetPathList[0].IsUrl())&&(!m_url.IsUrl()))\r
                localoperation = true;\r
@@ -2241,11 +2308,13 @@ bool CGitProgressDlg::CmdRename(CString& sWindowTitle, bool& localoperation)
                ReportSVNError();\r
                return false;\r
        }\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdResolve(CString& sWindowTitle, bool& localoperation)\r
 {\r
+#if 0\r
        localoperation = true;\r
        ASSERT(m_targetPathList.GetCount() == 1);\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_RESOLVE);\r
@@ -2301,17 +2370,19 @@ bool CGitProgressDlg::CmdResolve(CString& sWindowTitle, bool& localoperation)
                        Resolve(m_targetPathList[fileindex], svn_wc_conflict_choose_merged, true);\r
        }\r
        CShellUpdater::Instance().AddPathsForUpdate(m_targetPathList);\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdRevert(CString& sWindowTitle, bool& localoperation)\r
 {\r
+#if 0\r
        localoperation = true;\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_REVERT);\r
        SetWindowText(sWindowTitle);\r
        SetBackgroundImage(IDI_REVERT_BKG);\r
 \r
-       CTSVNPathList delList = m_selectedPaths;\r
+       CTGitPathList delList = m_selectedPaths;\r
        if (DWORD(CRegDWORD(_T("Software\\TortoiseGit\\RevertWithRecycleBin"), TRUE)))\r
                delList.DeleteAllFiles(true);\r
 \r
@@ -2322,11 +2393,13 @@ bool CGitProgressDlg::CmdRevert(CString& sWindowTitle, bool& localoperation)
                return false;\r
        }\r
        CShellUpdater::Instance().AddPathsForUpdate(m_targetPathList);\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdSwitch(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        ASSERT(m_targetPathList.GetCount() == 1);\r
        SVNStatus st;\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_SWITCH);\r
@@ -2361,11 +2434,13 @@ bool CGitProgressDlg::CmdSwitch(CString& sWindowTitle, bool& /*localoperation*/)
        {\r
                GetDlgItem(IDC_LOGBUTTON)->ShowWindow(SW_SHOW);\r
        }\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdUnlock(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_UNLOCK);\r
        SetWindowText(sWindowTitle);\r
        SetBackgroundImage(IDI_UNLOCK_BKG);\r
@@ -2376,11 +2451,13 @@ bool CGitProgressDlg::CmdUnlock(CString& sWindowTitle, bool& /*localoperation*/)
                return false;\r
        }\r
        CShellUpdater::Instance().AddPathsForUpdate(m_targetPathList);\r
+#endif\r
        return true;\r
 }\r
 \r
 bool CGitProgressDlg::CmdUpdate(CString& sWindowTitle, bool& /*localoperation*/)\r
 {\r
+#if 0\r
        sWindowTitle.LoadString(IDS_PROGRS_TITLE_UPDATE);\r
        SetWindowText(sWindowTitle);\r
        SetBackgroundImage(IDI_UPDATE_BKG);\r
@@ -2393,7 +2470,7 @@ bool CGitProgressDlg::CmdUpdate(CString& sWindowTitle, bool& /*localoperation*/)
        int nUUIDs = 0;\r
        for(int nItem = 0; nItem < targetcount; nItem++)\r
        {\r
-               const CTSVNPath& targetPath = m_targetPathList[nItem];\r
+               const CTGitPath& targetPath = m_targetPathList[nItem];\r
                SVNStatus st;\r
                LONG headrev = -1;\r
                m_Revision = revstore;\r
@@ -2456,12 +2533,12 @@ bool CGitProgressDlg::CmdUpdate(CString& sWindowTitle, bool& /*localoperation*/)
                // so we have to update them separately\r
                for(int nItem = 0; nItem < targetcount; nItem++)\r
                {\r
-                       const CTSVNPath& targetPath = m_targetPathList[nItem];\r
+                       const CTGitPath& targetPath = m_targetPathList[nItem];\r
                        m_basePath = targetPath;\r
                        CString sNotify;\r
                        sNotify.Format(IDS_PROGRS_UPDATEPATH, m_basePath.GetWinPath());\r
                        ReportString(sNotify, CString(MAKEINTRESOURCE(IDS_WARN_NOTE)));\r
-                       if (!Update(CTSVNPathList(targetPath), revstore, m_depth, TRUE, m_options & ProgOptIgnoreExternals))\r
+                       if (!Update(CTGitPathList(targetPath), revstore, m_depth, TRUE, m_options & ProgOptIgnoreExternals))\r
                        {\r
                                ReportSVNError();\r
                                return false;\r
@@ -2478,8 +2555,8 @@ bool CGitProgressDlg::CmdUpdate(CString& sWindowTitle, bool& /*localoperation*/)
                // to update all intermediate folders manually\r
                if ((m_targetPathList.GetCount() == 1) && (!m_targetPathList[0].Exists()))\r
                {\r
-                       CTSVNPath wcPath = m_targetPathList[0].GetContainingDirectory();\r
-                       CTSVNPath existingParentPath = wcPath.GetContainingDirectory();\r
+                       CTGitPath wcPath = m_targetPathList[0].GetContainingDirectory();\r
+                       CTGitPath existingParentPath = wcPath.GetContainingDirectory();\r
                        while (!existingParentPath.Exists() && (existingParentPath.GetWinPathString().GetLength() > 2))\r
                        {\r
                                existingParentPath = existingParentPath.GetContainingDirectory();\r
@@ -2487,7 +2564,7 @@ bool CGitProgressDlg::CmdUpdate(CString& sWindowTitle, bool& /*localoperation*/)
                        if (existingParentPath.GetWinPathString().GetLength() && !existingParentPath.IsEquivalentTo(wcPath))\r
                        {\r
                                // update all intermediate directories with depth 'empty'\r
-                               CTSVNPath intermediatepath = existingParentPath;\r
+                               CTGitPath intermediatepath = existingParentPath;\r
                                bool bSuccess = true;\r
                                while (bSuccess && intermediatepath.IsAncestorOf(wcPath) && !intermediatepath.IsEquivalentTo(wcPath))\r
                                {\r
@@ -2497,7 +2574,7 @@ bool CGitProgressDlg::CmdUpdate(CString& sWindowTitle, bool& /*localoperation*/)
                                                intermediatepath = wcPath;\r
                                        else\r
                                                intermediatepath.AppendPathString(childname);\r
-                                       bSuccess = !!Update(CTSVNPathList(intermediatepath), m_Revision, svn_depth_empty, false, true);\r
+                                       bSuccess = !!Update(CTGitPathList(intermediatepath), m_Revision, svn_depth_empty, false, true);\r
                                }\r
 \r
                                if (!bSuccess)\r
@@ -2528,7 +2605,7 @@ bool CGitProgressDlg::CmdUpdate(CString& sWindowTitle, bool& /*localoperation*/)
        // (either a file or a directory)\r
        if ((m_targetPathList.GetCount() == 1)&&(m_UpdateStartRevMap.size()>0))\r
                GetDlgItem(IDC_LOGBUTTON)->ShowWindow(SW_SHOW);\r
-\r
+#endif\r
        return true;\r
 }\r
 \r