OSDN Git Service
(root)
/
tortoisegit
/
TortoiseGitJp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
55b0ac2
)
Add diff two commits command at shell menu
author
Frank Li
<lznuaa@gmail.com>
Sat, 23 Jan 2010 04:36:42 +0000
(12:36 +0800)
committer
Frank Li
<lznuaa@gmail.com>
Sat, 23 Jan 2010 04:36:42 +0000
(12:36 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/TortoiseShell/ContextMenu.cpp
patch
|
blob
|
history
src/TortoiseShell/Globals.h
patch
|
blob
|
history
src/TortoiseShell/ShellExt.h
patch
|
blob
|
history
src/TortoiseShell/resource.h
patch
|
blob
|
history
src/TortoiseShell/resourceshell.rc
patch
|
blob
|
history
diff --git
a/src/TortoiseShell/ContextMenu.cpp
b/src/TortoiseShell/ContextMenu.cpp
index
f4c5614
..
25fe5b0
100644
(file)
--- a/
src/TortoiseShell/ContextMenu.cpp
+++ b/
src/TortoiseShell/ContextMenu.cpp
@@
-54,7
+54,7
@@
CShellExt::MenuInfo CShellExt::menuInfo[] =
// { ShellMenuUpdate, MENUSUBUPDATE, IDI_UPDATE, IDS_MENUUPDATE, IDS_MENUDESCUPDATE,
\r
// ITEMIS_INSVN, 0, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },
\r
\r
// { ShellMenuUpdate, MENUSUBUPDATE, IDI_UPDATE, IDS_MENUUPDATE, IDS_MENUDESCUPDATE,
\r
// ITEMIS_INSVN, 0, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },
\r
\r
- { ShellSeparator,
ITEMIS_GITSVN
, 0, 0, 0, 0, 0, 0, 0},
\r
+ { ShellSeparator,
0
, 0, 0, 0, 0, 0, 0, 0},
\r
\r
{ ShellMenuCommit, MENUCOMMIT, IDI_COMMIT, IDS_MENUCOMMIT, IDS_MENUDESCCOMMIT,
\r
ITEMIS_INSVN, 0, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },
\r
\r
{ ShellMenuCommit, MENUCOMMIT, IDI_COMMIT, IDS_MENUCOMMIT, IDS_MENUDESCCOMMIT,
\r
ITEMIS_INSVN, 0, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },
\r
@@
-73,9
+73,13
@@
CShellExt::MenuInfo CShellExt::menuInfo[] =
{ ShellMenuDiff, MENUDIFF, IDI_DIFF, IDS_MENUDIFF, IDS_MENUDESCDIFF,
\r
ITEMIS_INSVN|ITEMIS_ONLYONE, ITEMIS_FOLDER|ITEMIS_NORMAL, ITEMIS_TWO, 0, 0, 0, 0, 0 },
\r
\r
{ ShellMenuDiff, MENUDIFF, IDI_DIFF, IDS_MENUDIFF, IDS_MENUDESCDIFF,
\r
ITEMIS_INSVN|ITEMIS_ONLYONE, ITEMIS_FOLDER|ITEMIS_NORMAL, ITEMIS_TWO, 0, 0, 0, 0, 0 },
\r
\r
- { ShellMenuPrevDiff, MENUPREVDIFF, IDI_DIFF,
IDS_MENUPREVDIFF, IDS_MENUDESCPREVDIFF,
\r
+ { ShellMenuPrevDiff, MENUPREVDIFF, IDI_DIFF, IDS_MENUPREVDIFF, IDS_MENUDESCPREVDIFF,
\r
ITEMIS_INSVN|ITEMIS_ONLYONE, ITEMIS_FOLDER, 0, 0, 0, 0, 0, 0 },
\r
\r
ITEMIS_INSVN|ITEMIS_ONLYONE, ITEMIS_FOLDER, 0, 0, 0, 0, 0, 0 },
\r
\r
+ { ShellMenuDiffTwo, MENUDIFFTWO, IDI_DIFF, IDS_MENUDIFFTWO, IDS_MENUDESCDIFFTWO,
\r
+ ITEMIS_INSVN, 0, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },
\r
+
\r
+ { ShellSeparator, 0, 0, 0, 0, 0, 0, 0, 0},
\r
// { ShellMenuUrlDiff, MENUURLDIFF, IDI_DIFF, IDS_MENUURLDIFF, IDS_MENUDESCURLDIFF,
\r
// ITEMIS_INSVN|ITEMIS_ONLYONE|ITEMIS_EXTENDED, 0, ITEMIS_FOLDERINSVN|ITEMIS_EXTENDED|ITEMIS_ONLYONE, 0, 0, 0, 0, 0 },
\r
\r
// { ShellMenuUrlDiff, MENUURLDIFF, IDI_DIFF, IDS_MENUURLDIFF, IDS_MENUDESCURLDIFF,
\r
// ITEMIS_INSVN|ITEMIS_ONLYONE|ITEMIS_EXTENDED, 0, ITEMIS_FOLDERINSVN|ITEMIS_EXTENDED|ITEMIS_ONLYONE, 0, 0, 0, 0, 0 },
\r
\r
@@
-1334,8
+1338,9
@@
STDMETHODIMP CShellExt::QueryContextMenu(HMENU hMenu,
{
\r
if (bInsertMenu)
\r
{
\r
{
\r
if (bInsertMenu)
\r
{
\r
+ bool bIsTop = ((topmenu & menuInfo[menuIndex].menuID) != 0);
\r
// insert a separator
\r
// insert a separator
\r
- if ((bMenuEntryAdded)&&(bAddSeparator))
\r
+ if ((bMenuEntryAdded)&&(bAddSeparator)
&&(!bIsTop)
)
\r
{
\r
bAddSeparator = false;
\r
bMenuEntryAdded = false;
\r
{
\r
bAddSeparator = false;
\r
bMenuEntryAdded = false;
\r
@@
-1741,6
+1746,14
@@
STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi)
svnCmd += folder_;
\r
svnCmd += _T("\"");
\r
break;
\r
svnCmd += folder_;
\r
svnCmd += _T("\"");
\r
break;
\r
+ case ShellMenuDiffTwo:
\r
+ svnCmd += _T("diffcommits /path:\"");
\r
+ if (files_.size() == 1)
\r
+ svnCmd += files_.front();
\r
+ else
\r
+ svnCmd += folder_;
\r
+ svnCmd += _T("\"");
\r
+ break;
\r
case ShellMenuDropCopyAdd:
\r
tempfile = WriteFileListToTempFile();
\r
svnCmd += _T("dropcopyadd /pathfile:\"");
\r
case ShellMenuDropCopyAdd:
\r
tempfile = WriteFileListToTempFile();
\r
svnCmd += _T("dropcopyadd /pathfile:\"");
\r
diff --git
a/src/TortoiseShell/Globals.h
b/src/TortoiseShell/Globals.h
index
b06314b
..
36c01f2
100644
(file)
--- a/
src/TortoiseShell/Globals.h
+++ b/
src/TortoiseShell/Globals.h
@@
-68,6
+68,7
@@
#define MENUSUBADD 0x0000800000000000
\r
#define MENUSUBSYNC 0x0001000000000000
\r
#define MENUSTASHPOP 0x0002000000000000
\r
#define MENUSUBADD 0x0000800000000000
\r
#define MENUSUBSYNC 0x0001000000000000
\r
#define MENUSTASHPOP 0x0002000000000000
\r
+#define MENUDIFFTWO 0x0004000000000000
\r
\r
#define MENUSETTINGS 0x2000000000000000
\r
#define MENUHELP 0x4000000000000000
\r
\r
#define MENUSETTINGS 0x2000000000000000
\r
#define MENUHELP 0x4000000000000000
\r
diff --git
a/src/TortoiseShell/ShellExt.h
b/src/TortoiseShell/ShellExt.h
index
adefbf2
..
0ecd319
100644
(file)
--- a/
src/TortoiseShell/ShellExt.h
+++ b/
src/TortoiseShell/ShellExt.h
@@
-115,6
+115,7
@@
protected:
ShellMenuDiff,
\r
ShellMenuPrevDiff,
\r
ShellMenuUrlDiff,
\r
ShellMenuDiff,
\r
ShellMenuPrevDiff,
\r
ShellMenuUrlDiff,
\r
+ ShellMenuDiffTwo,
\r
ShellMenuDropCopyAdd,
\r
ShellMenuDropMoveAdd,
\r
ShellMenuDropMove,
\r
ShellMenuDropCopyAdd,
\r
ShellMenuDropMoveAdd,
\r
ShellMenuDropMove,
\r
diff --git
a/src/TortoiseShell/resource.h
b/src/TortoiseShell/resource.h
index
fa6680f
..
0052f87
100644
(file)
--- a/
src/TortoiseShell/resource.h
+++ b/
src/TortoiseShell/resource.h
@@
-206,6
+206,8
@@
#define IDS_MENUSTASHPOP 341
\r
#define IDS_MENUSVNIGNORE 342
\r
#define IDS_MENUSVNIGNORE_DESC 343
\r
#define IDS_MENUSTASHPOP 341
\r
#define IDS_MENUSVNIGNORE 342
\r
#define IDS_MENUSVNIGNORE_DESC 343
\r
+#define IDS_MENUDIFFTWO 344
\r
+#define IDS_MENUDESCDIFFTWO 345
\r
#define IDC_REVISION 1001
\r
#define IDC_HEAD_HASH 1001
\r
#define IDC_LOCKED 1002
\r
#define IDC_REVISION 1001
\r
#define IDC_HEAD_HASH 1001
\r
#define IDC_LOCKED 1002
\r
diff --git
a/src/TortoiseShell/resourceshell.rc
b/src/TortoiseShell/resourceshell.rc
index
f7d910a
..
f6f22aa
100644
(file)
--- a/
src/TortoiseShell/resourceshell.rc
+++ b/
src/TortoiseShell/resourceshell.rc
@@
-341,6
+341,8
@@
BEGIN
IDS_MENUUNDOADD "Undo Add.."
\r
IDS_MENUDESCUNDOADD "Reverts an addition to version control"
\r
IDS_MENUPREVDIFF "&Diff with previous version"
\r
IDS_MENUUNDOADD "Undo Add.."
\r
IDS_MENUDESCUNDOADD "Reverts an addition to version control"
\r
IDS_MENUPREVDIFF "&Diff with previous version"
\r
+ IDS_MENUDIFFTWO "Diff Two Commits"
\r
+ IDS_MENUDESCDIFFTWO "Diffs two any commits"
\r
IDS_MENUDESCPREVDIFF "Diffs the working copy file with the one before the last commit."
\r
IDS_COLTITLEMIMETYPE "Git mime-type"
\r
IDS_COLDESCMIMETYPE "Shows the mime type of the versioned file"
\r
IDS_MENUDESCPREVDIFF "Diffs the working copy file with the one before the last commit."
\r
IDS_COLTITLEMIMETYPE "Git mime-type"
\r
IDS_COLDESCMIMETYPE "Shows the mime type of the versioned file"
\r