OSDN Git Service

Fixed issue #131: Missing SVN DCommit Command
[tortoisegit/TortoiseGitJp.git] / src / TortoiseShell / ContextMenu.cpp
index 43746b5..880f022 100644 (file)
@@ -63,7 +63,7 @@ CShellExt::MenuInfo CShellExt::menuInfo[] =
        ITEMIS_INSVN|ITEMIS_GITSVN, 0, ITEMIS_FOLDERINSVN|ITEMIS_GITSVN, 0, 0, 0, 0, 0 },\r
 \r
        { ShellMenuGitSVNRebase,                                MENUSVNREBASE,          IDI_REBASE,                             IDS_MENUSVNREBASE,                              IDS_MENUSVNREBASE_DESC,\r
-       ITEMIS_INSVN|ITEMIS_ONLYONE|ITEMIS_GITSVN, 0, ITEMIS_FOLDER|ITEMIS_FOLDERINSVN|ITEMIS_ONLYONE|ITEMIS_GITSVN, 0, 0, 0, 0, 0},\r
+       ITEMIS_INSVN|ITEMIS_GITSVN, 0, ITEMIS_FOLDERINSVN|ITEMIS_GITSVN, 0, 0, 0, 0, 0},\r
 \r
        { ShellSeparator, 0, 0, 0, 0, 0, 0, 0, 0},\r
 \r
@@ -93,7 +93,7 @@ CShellExt::MenuInfo CShellExt::menuInfo[] =
        ITEMIS_INSVN|ITEMIS_ONLYONE, 0, ITEMIS_FOLDER|ITEMIS_FOLDERINSVN|ITEMIS_ONLYONE, 0, 0, 0, 0, 0},\r
 \r
        { ShellMenuRebase,                                          MENUREBASE,                 IDI_REBASE,                             IDS_MENUREBASE,                         IDS_MENUREBASE,\r
-       ITEMIS_INSVN|ITEMIS_ONLYONE, 0, ITEMIS_FOLDER|ITEMIS_FOLDERINSVN|ITEMIS_ONLYONE, 0, 0, 0, 0, 0},\r
+       ITEMIS_INSVN, 0, ITEMIS_FOLDER|ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0},\r
 \r
 //     { ShellMenuRevisionGraph,                               MENUREVISIONGRAPH,      IDI_REVISIONGRAPH,              IDS_MENUREVISIONGRAPH,          IDS_MENUDESCREVISIONGRAPH,\r
 //     ITEMIS_INSVN|ITEMIS_ONLYONE, ITEMIS_ADDED, ITEMIS_FOLDER|ITEMIS_FOLDERINSVN|ITEMIS_ONLYONE, ITEMIS_ADDED, 0, 0, 0, 0},\r
@@ -393,6 +393,8 @@ STDMETHODIMP CShellExt::Initialize(LPCITEMIDLIST pIDFolder,
                                                                        itemStates |= ITEMIS_SUBMODULE;\r
                                                                }\r
                                                        }\r
+                                                       if (askedpath.HasGitSVNDir())\r
+                                                               itemStates |= ITEMIS_GITSVN;\r
                                                        if ((status != git_wc_status_unversioned)&&(status != git_wc_status_ignored)&&(status != git_wc_status_none))\r
                                                                itemStates |= ITEMIS_INSVN;\r
                                                        if (status == git_wc_status_ignored)\r
@@ -506,6 +508,10 @@ STDMETHODIMP CShellExt::Initialize(LPCITEMIDLIST pIDFolder,
                                                                        itemStates |= ITEMIS_SUBMODULE;\r
                                                                }\r
                                                        }\r
+                                                       \r
+                                                       if (strpath.HasGitSVNDir())\r
+                                                               itemStates |= ITEMIS_GITSVN;            \r
+\r
                                                        if ((status != git_wc_status_unversioned)&&(status != git_wc_status_ignored)&&(status != git_wc_status_none))\r
                                                                itemStates |= ITEMIS_INSVN;\r
                                                        if (status == git_wc_status_ignored)\r
@@ -527,6 +533,7 @@ STDMETHODIMP CShellExt::Initialize(LPCITEMIDLIST pIDFolder,
 //                                                                     }\r
 //                                                             }\r
                                                        }\r
+                                       \r
                                                        if (status == git_wc_status_normal)\r
                                                                itemStates |= ITEMIS_NORMAL;\r
                                                        if (status == git_wc_status_conflicted)\r
@@ -609,6 +616,8 @@ STDMETHODIMP CShellExt::Initialize(LPCITEMIDLIST pIDFolder,
                                }\r
                                \r
                                //if ((status != git_wc_status_unversioned)&&(status != git_wc_status_ignored)&&(status != git_wc_status_none))\r
+                               if (askedpath.HasGitSVNDir())\r
+                                       itemStatesFolder |= ITEMIS_GITSVN;                                                      \r
                                if (askedpath.HasAdminDir())\r
                                        itemStatesFolder |= ITEMIS_INSVN;\r
                                if (status == git_wc_status_normal)\r
@@ -700,6 +709,8 @@ STDMETHODIMP CShellExt::Initialize(LPCITEMIDLIST pIDFolder,
                                //if ((status != git_wc_status_unversioned)&&(status != git_wc_status_ignored)&&(status != git_wc_status_none))\r
                                if (askedpath.HasAdminDir())\r
                                        itemStates |= ITEMIS_FOLDERINSVN;\r
+                               if (askedpath.HasGitSVNDir())\r
+                                       itemStates |= ITEMIS_GITSVN;\r
                                if (status == git_wc_status_ignored)\r
                                        itemStates |= ITEMIS_IGNORED;\r
                                itemStates |= ITEMIS_FOLDER;\r
@@ -707,6 +718,7 @@ STDMETHODIMP CShellExt::Initialize(LPCITEMIDLIST pIDFolder,
                                        itemStates |= ITEMIS_ADDED;\r
                                if (status == git_wc_status_deleted)\r
                                        itemStates |= ITEMIS_DELETED;\r
+\r
                        }\r
                }\r
        \r