OSDN Git Service

Fixed issue #163: Conflict "theirs" and "mine" are reversed during a rebase
[tortoisegit/TortoiseGitJp.git] / src / Git / GitStatusListCtrl.cpp
index 53263df..954d699 100644 (file)
@@ -126,6 +126,7 @@ CGitStatusListCtrl::CGitStatusListCtrl() : CListCtrl()
 {\r
        m_FileLoaded=0;\r
        m_critSec.Init();\r
+       m_bIsRevertTheirMy = false;\r
 }\r
 \r
 CGitStatusListCtrl::~CGitStatusListCtrl()\r
@@ -2864,7 +2865,7 @@ void CGitStatusListCtrl::OnContextMenuList(CWnd * pWnd, CPoint point)
 \r
                        case IDSVNLC_EDITCONFLICT:\r
                        {\r
-                               CAppUtils::ConflictEdit(*filepath);\r
+                               CAppUtils::ConflictEdit(*filepath,false,this->m_bIsRevertTheirMy);\r
                                break;\r
                        }\r
                        case IDSVNLC_RESOLVETHEIRS: //follow up \r
@@ -2883,7 +2884,10 @@ void CGitStatusListCtrl::OnContextMenuList(CWnd * pWnd, CPoint point)
                                                        continue;\r
                                                CString gitcmd,output;\r
                                                output.Empty();\r
-                                               if ( cmd == IDSVNLC_RESOLVETHEIRS)\r
+                                               int stage=0;\r
+                                               \r
+                                               if ( ((!this->m_bIsRevertTheirMy)&&cmd == IDSVNLC_RESOLVETHEIRS) ||\r
+                                                        ((this->m_bIsRevertTheirMy)&&cmd == IDSVNLC_RESOLVEMINE) )\r
                                                {\r
                                                        gitcmd.Format(_T("git.exe cat-file blob \":3:%s\""),fentry->GetGitPathString());\r
                                                        if(g_Git.RunLogFile(gitcmd,(CString&)fentry->GetWinPathString()))\r
@@ -2893,7 +2897,8 @@ void CGitStatusListCtrl::OnContextMenuList(CWnd * pWnd, CPoint point)
                                                        }\r
                                                }\r
                                                output.Empty();\r
-                                               if ( cmd == IDSVNLC_RESOLVEMINE)\r
+                                               if ( ((!this->m_bIsRevertTheirMy)&&cmd == IDSVNLC_RESOLVEMINE) ||\r
+                                                        ((this->m_bIsRevertTheirMy)&&cmd == IDSVNLC_RESOLVETHEIRS) )\r
                                                {\r
                                                        gitcmd.Format(_T("git.exe cat-file blob \":2:%s\""),fentry->GetGitPathString());\r
                                                        if(g_Git.RunLogFile(gitcmd,(CString&)fentry->GetWinPathString()))\r
@@ -4107,7 +4112,7 @@ void CGitStatusListCtrl::OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)
 \r
        if( file->m_Action&CTGitPath::LOGACTIONS_UNMERGED )\r
        {\r
-               CAppUtils::ConflictEdit(*file,false);\r
+               CAppUtils::ConflictEdit(*file,false,m_bIsRevertTheirMy);\r
 \r
        }else\r
        {\r