From 4b13789838e9b8b0ca4a9c3b4b43368942aaaed7 Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Sat, 1 Oct 2011 02:03:18 +0200 Subject: [PATCH] drop createpatch Signed-off-by: Sven Strickroth --- src/Resources/TortoiseProcENG.rc | 21 -- src/TortoiseProc/Commands/Command.cpp | 5 - src/TortoiseProc/Commands/CreatePatchCommand.cpp | 196 -------------- src/TortoiseProc/Commands/CreatePatchCommand.h | 39 --- src/TortoiseProc/CreatePatchDlg.cpp | 322 ----------------------- src/TortoiseProc/CreatePatchDlg.h | 74 ------ src/TortoiseProc/resource.h | 2 - src/TortoiseShell/ContextMenu.cpp | 7 - src/TortoiseShell/Globals.h | 1 - src/TortoiseShell/MenuInfo.cpp | 3 - src/TortoiseShell/MenuInfo.h | 1 - src/TortoiseShell/ShellCache.h | 2 +- src/TortoiseShell/resource.h | 1 - src/TortoiseShell/resourceshell.rc | 1 - 14 files changed, 1 insertion(+), 674 deletions(-) delete mode 100644 src/TortoiseProc/Commands/CreatePatchCommand.cpp delete mode 100644 src/TortoiseProc/Commands/CreatePatchCommand.h delete mode 100644 src/TortoiseProc/CreatePatchDlg.cpp delete mode 100644 src/TortoiseProc/CreatePatchDlg.h diff --git a/src/Resources/TortoiseProcENG.rc b/src/Resources/TortoiseProcENG.rc index 9f35b950d..b33626575 100644 --- a/src/Resources/TortoiseProcENG.rc +++ b/src/Resources/TortoiseProcENG.rc @@ -939,19 +939,6 @@ BEGIN CONTROL "",IDC_FILELIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,137,287,126 END -IDD_CREATEPATCH DIALOGEX 0, 0, 266, 218 -STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Create Patch" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - CONTROL "",IDC_PATCHLIST,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,7,252,158 - CONTROL "Show &unversioned files",IDC_SHOWUNVERSIONED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,167,252,10 - CONTROL "Select/deselect &all",IDC_SELECTALL,"Button",BS_AUTO3STATE | WS_TABSTOP,7,180,252,10 - DEFPUSHBUTTON "OK",IDOK,93,197,50,14 - PUSHBUTTON "Cancel",IDCANCEL,151,197,50,14 - PUSHBUTTON "Help",IDHELP,209,197,50,14 -END - IDD_SETTINGSCOLORS_2 DIALOGEX 0, 0, 300, 217 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "General::Colors 2" @@ -2528,14 +2515,6 @@ BEGIN BOTTOMMARGIN, 263 END - IDD_CREATEPATCH, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 259 - TOPMARGIN, 7 - BOTTOMMARGIN, 211 - END - IDD_SETTINGSCOLORS_2, DIALOG BEGIN LEFTMARGIN, 7 diff --git a/src/TortoiseProc/Commands/Command.cpp b/src/TortoiseProc/Commands/Command.cpp index 86c358696..9462e781d 100644 --- a/src/TortoiseProc/Commands/Command.cpp +++ b/src/TortoiseProc/Commands/Command.cpp @@ -76,7 +76,6 @@ #include "CopyCommand.h" #include "CrashCommand.h" -#include "CreatePatchCommand.h" #include "DelUnversionedCommand.h" @@ -124,7 +123,6 @@ typedef enum cmdConflictEditor, cmdCopy, cmdCrash, - cmdCreatePatch, cmdDelUnversioned, cmdDiff, cmdDropCopy, @@ -201,7 +199,6 @@ static const struct CommandInfo { cmdConflictEditor, _T("conflicteditor") }, { cmdCopy, _T("copy") }, { cmdCrash, _T("crash") }, - { cmdCreatePatch, _T("createpatch") }, { cmdDelUnversioned, _T("delunversioned") }, { cmdDiff, _T("diff") }, { cmdDropCopy, _T("dropcopy") }, @@ -392,8 +389,6 @@ Command * CommandServer::GetCommand(const CString& sCmd) return new CopyCommand; case cmdCrash: return new CrashCommand; - case cmdCreatePatch: - return new CreatePatchCommand; case cmdDelUnversioned: return new DelUnversionedCommand; diff --git a/src/TortoiseProc/Commands/CreatePatchCommand.cpp b/src/TortoiseProc/Commands/CreatePatchCommand.cpp deleted file mode 100644 index 5e9ecbf56..000000000 --- a/src/TortoiseProc/Commands/CreatePatchCommand.cpp +++ /dev/null @@ -1,196 +0,0 @@ -// TortoiseSVN - a Windows shell extension for easy version control - -// Copyright (C) 2007-2008 - TortoiseSVN - -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software Foundation, -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -#include "StdAfx.h" -#include "CreatePatchCommand.h" - -#include "PathUtils.h" -#include "StringUtils.h" -#include "AppUtils.h" -#include "CreatePatchDlg.h" -#include "SVN.h" -#include "TempFile.h" -#include "ProgressDlg.h" - -#define PATCH_TO_CLIPBOARD_PSEUDO_FILENAME _T(".TSVNPatchToClipboard") - - -bool CreatePatchCommand::Execute() -{ - bool bRet = false; - CString savepath = CPathUtils::GetLongPathname(parser.GetVal(_T("savepath"))); - CCreatePatch dlg; - dlg.m_pathList = pathList; - if (dlg.DoModal()==IDOK) - { - if (cmdLinePath.IsEmpty()) - { - cmdLinePath = pathList.GetCommonRoot(); - } - bRet = CreatePatch(cmdLinePath.GetDirectory(), dlg.m_pathList, CTSVNPath(savepath)); - SVN svn; - svn.Revert(dlg.m_filesToRevert, CStringArray(), false); - } - return bRet; -} - -UINT_PTR CALLBACK CreatePatchCommand::CreatePatchFileOpenHook(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM /*lParam*/) -{ - if(uiMsg == WM_COMMAND && LOWORD(wParam) == IDC_PATCH_TO_CLIPBOARD) - { - HWND hFileDialog = GetParent(hDlg); - - CString strFilename = CTempFiles::Instance().GetTempFilePath(false).GetWinPathString() + PATCH_TO_CLIPBOARD_PSEUDO_FILENAME; - - CommDlg_OpenSave_SetControlText(hFileDialog, edt1, (LPCTSTR)strFilename); - - PostMessage(hFileDialog, WM_COMMAND, MAKEWPARAM(IDOK, BM_CLICK), (LPARAM)(GetDlgItem(hDlg, IDOK))); - } - return 0; -} - -bool CreatePatchCommand::CreatePatch(const CTSVNPath& root, const CTSVNPathList& path, const CTSVNPath& cmdLineSavePath) -{ - OPENFILENAME ofn = {0}; // common dialog box structure - CString temp; - CTSVNPath savePath; - - if (cmdLineSavePath.IsEmpty()) - { - TCHAR szFile[MAX_PATH] = {0}; // buffer for file name - // Initialize OPENFILENAME - ofn.lStructSize = sizeof(OPENFILENAME); - ofn.hwndOwner = hwndExplorer; - ofn.lpstrFile = szFile; - ofn.nMaxFile = _countof(szFile); - ofn.lpstrInitialDir = root.GetWinPath(); - - temp.LoadString(IDS_REPOBROWSE_SAVEAS); - CStringUtils::RemoveAccelerators(temp); - if (temp.IsEmpty()) - ofn.lpstrTitle = NULL; - else - ofn.lpstrTitle = temp; - ofn.Flags = OFN_OVERWRITEPROMPT | OFN_ENABLETEMPLATE | OFN_EXPLORER | OFN_ENABLEHOOK; - - ofn.hInstance = AfxGetResourceHandle(); - ofn.lpTemplateName = MAKEINTRESOURCE(IDD_PATCH_FILE_OPEN_CUSTOM); - ofn.lpfnHook = CreatePatchFileOpenHook; - - CString sFilter; - sFilter.LoadString(IDS_PATCHFILEFILTER); - TCHAR * pszFilters = new TCHAR[sFilter.GetLength()+4]; - _tcscpy_s (pszFilters, sFilter.GetLength()+4, sFilter); - // Replace '|' delimiters with '\0's - TCHAR *ptr = pszFilters + _tcslen(pszFilters); //set ptr at the NULL - while (ptr != pszFilters) - { - if (*ptr == '|') - *ptr = '\0'; - ptr--; - } - ofn.lpstrFilter = pszFilters; - ofn.nFilterIndex = 1; - // Display the Open dialog box. - if (GetSaveFileName(&ofn)==FALSE) - { - delete [] pszFilters; - return FALSE; - } - delete [] pszFilters; - savePath = CTSVNPath(ofn.lpstrFile); - if (ofn.nFilterIndex == 1) - { - if (savePath.GetFileExtension().IsEmpty()) - savePath.AppendRawString(_T(".patch")); - } - } - else - { - savePath = cmdLineSavePath; - } - - // This is horrible and I should be ashamed of myself, but basically, the - // the file-open dialog writes ".TSVNPatchToClipboard" to its file field if the user clicks - // the "Save To Clipboard" button. - bool bToClipboard = _tcsstr(savePath.GetWinPath(), PATCH_TO_CLIPBOARD_PSEUDO_FILENAME) != NULL; - - CProgressDlg progDlg; - progDlg.SetTitle(IDS_PROC_PATCHTITLE); - progDlg.SetShowProgressBar(false); - progDlg.ShowModeless(CWnd::FromHandle(hwndExplorer)); - progDlg.FormatNonPathLine(1, IDS_PROC_SAVEPATCHTO); - if(bToClipboard) - { - progDlg.FormatNonPathLine(2, IDS_CLIPBOARD_PROGRESS_DEST); - } - else - { - progDlg.SetLine(2, savePath.GetUIPathString(), true); - } - //progDlg.SetAnimation(IDR_ANIMATION); - - CTSVNPath tempPatchFilePath; - if (bToClipboard) - tempPatchFilePath = CTempFiles::Instance().GetTempFilePath(true); - else - tempPatchFilePath = savePath; - - ::DeleteFile(tempPatchFilePath.GetWinPath()); - - CTSVNPath sDir = root; - if (sDir.IsEmpty()) - sDir = path.GetCommonRoot(); - - SVN svn; - for (int fileindex = 0; fileindex < path.GetCount(); ++fileindex) - { - svn_depth_t depth = path[fileindex].IsDirectory() ? svn_depth_empty : svn_depth_files; - if (!svn.CreatePatch(path[fileindex], SVNRev::REV_BASE, path[fileindex], SVNRev::REV_WC, sDir.GetDirectory(), depth, FALSE, FALSE, FALSE, _T(""), true, tempPatchFilePath)) - { - progDlg.Stop(); - ::MessageBox(hwndExplorer, svn.GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR); - return FALSE; - } - } - - if(bToClipboard) - { - // The user actually asked for the patch to be written to the clipboard - CStringA sClipdata; - FILE * inFile; - _tfopen_s(&inFile, tempPatchFilePath.GetWinPath(), _T("rb")); - if(inFile) - { - char chunkBuffer[16384]; - while(!feof(inFile)) - { - size_t readLength = fread(chunkBuffer, 1, sizeof(chunkBuffer), inFile); - sClipdata.Append(chunkBuffer, (int)readLength); - } - fclose(inFile); - - CStringUtils::WriteDiffToClipboard(sClipdata); - } - } - else - CAppUtils::StartUnifiedDiffViewer(tempPatchFilePath, tempPatchFilePath.GetFilename()); - - progDlg.Stop(); - return TRUE; -} diff --git a/src/TortoiseProc/Commands/CreatePatchCommand.h b/src/TortoiseProc/Commands/CreatePatchCommand.h deleted file mode 100644 index 682465a22..000000000 --- a/src/TortoiseProc/Commands/CreatePatchCommand.h +++ /dev/null @@ -1,39 +0,0 @@ -// TortoiseSVN - a Windows shell extension for easy version control - -// Copyright (C) 2007 - TortoiseSVN - -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software Foundation, -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -#pragma once -#include "Command.h" - -/** - * \ingroup TortoiseProc - * Creates a patch (unified diff) file. - */ -class CreatePatchCommand : public Command -{ -public: - /** - * Executes the command. - */ - virtual bool Execute(); -protected: - static UINT_PTR CALLBACK CreatePatchFileOpenHook(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam); - bool CreatePatch(const CTSVNPath& root, const CTSVNPathList& path, const CTSVNPath& savepath); - -}; - - diff --git a/src/TortoiseProc/CreatePatchDlg.cpp b/src/TortoiseProc/CreatePatchDlg.cpp deleted file mode 100644 index 761bde63f..000000000 --- a/src/TortoiseProc/CreatePatchDlg.cpp +++ /dev/null @@ -1,322 +0,0 @@ -// TortoiseSVN - a Windows shell extension for easy version control - -// Copyright (C) 2003-2008 - TortoiseSVN - -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software Foundation, -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// - -#include "stdafx.h" -#include "TortoiseProc.h" -#include "MessageBox.h" -#include "CreatePatchDlg.h" -#include "SVN.h" - -#define REFRESHTIMER 100 - -IMPLEMENT_DYNAMIC(CCreatePatch, CResizableStandAloneDialog) -CCreatePatch::CCreatePatch(CWnd* pParent /*=NULL*/) - : CResizableStandAloneDialog(CCreatePatch::IDD, pParent) - , m_bThreadRunning(FALSE) - , m_bCancelled(false) - , m_bShowUnversioned(FALSE) -{ -} - -CCreatePatch::~CCreatePatch() -{ -} - -void CCreatePatch::DoDataExchange(CDataExchange* pDX) -{ - CResizableStandAloneDialog::DoDataExchange(pDX); - DDX_Control(pDX, IDC_PATCHLIST, m_PatchList); - DDX_Control(pDX, IDC_SELECTALL, m_SelectAll); - DDX_Check(pDX, IDC_SHOWUNVERSIONED, m_bShowUnversioned); -} - - -BEGIN_MESSAGE_MAP(CCreatePatch, CResizableStandAloneDialog) - ON_BN_CLICKED(IDC_SELECTALL, OnBnClickedSelectall) - ON_BN_CLICKED(IDC_SHOWUNVERSIONED, OnBnClickedShowunversioned) - ON_BN_CLICKED(IDHELP, OnBnClickedHelp) - ON_REGISTERED_MESSAGE(CSVNStatusListCtrl::SVNSLNM_NEEDSREFRESH, OnSVNStatusListCtrlNeedsRefresh) - ON_REGISTERED_MESSAGE(CSVNStatusListCtrl::SVNSLNM_ADDFILE, OnFileDropped) - ON_WM_TIMER() -END_MESSAGE_MAP() - -BOOL CCreatePatch::OnInitDialog() -{ - CResizableStandAloneDialog::OnInitDialog(); - - UpdateData(FALSE); - - m_PatchList.Init(0, _T("CreatePatchDlg"), SVNSLC_POPALL ^ (SVNSLC_POPIGNORE|SVNSLC_POPCOMMIT)); - m_PatchList.SetConfirmButton((CButton*)GetDlgItem(IDOK)); - m_PatchList.SetSelectButton(&m_SelectAll); - m_PatchList.SetCancelBool(&m_bCancelled); - m_PatchList.EnableFileDrop(); - - AdjustControlSize(IDC_SELECTALL); - AdjustControlSize(IDC_SHOWUNVERSIONED); - - AddAnchor(IDC_PATCHLIST, TOP_LEFT, BOTTOM_RIGHT); - AddAnchor(IDC_SELECTALL, BOTTOM_LEFT); - AddAnchor(IDC_SHOWUNVERSIONED, BOTTOM_LEFT); - AddAnchor(IDOK, BOTTOM_RIGHT); - AddAnchor(IDCANCEL, BOTTOM_RIGHT); - AddAnchor(IDHELP, BOTTOM_RIGHT); - if (hWndExplorer) - CenterWindow(CWnd::FromHandle(hWndExplorer)); - EnableSaveRestore(_T("CreatePatchDlg")); - - // first start a thread to obtain the file list with the status without - // blocking the dialog - if(AfxBeginThread(PatchThreadEntry, this) == NULL) - { - CMessageBox::Show(this->m_hWnd, IDS_ERR_THREADSTARTFAILED, IDS_APPNAME, MB_OK | MB_ICONERROR); - } - InterlockedExchange(&m_bThreadRunning, TRUE); - - return TRUE; -} - -UINT CCreatePatch::PatchThreadEntry(LPVOID pVoid) -{ - return ((CCreatePatch*)pVoid)->PatchThread(); -} - -DWORD CCreatePatch::ShowMask() -{ - return - SVNSLC_SHOWVERSIONEDBUTNORMALANDEXTERNALSFROMDIFFERENTREPOS | SVNSLC_SHOWDIRECTFILES | - (m_bShowUnversioned ? SVNSLC_SHOWUNVERSIONED : 0); -} - -UINT CCreatePatch::PatchThread() -{ - // get the status of all selected file/folders recursively - // and show the ones which can be included in a patch (i.e. the versioned and not-normal ones) - DialogEnableWindow(IDOK, false); - DialogEnableWindow(IDC_SHOWUNVERSIONED, false); - m_bCancelled = false; - - if (!m_PatchList.GetStatus(m_pathList)) - { - m_PatchList.SetEmptyString(m_PatchList.GetLastErrorMessage()); - } - - m_PatchList.Show( - ShowMask(), SVNSLC_SHOWDIRECTFILES | SVNSLC_SHOWVERSIONEDBUTNORMALANDEXTERNALSFROMDIFFERENTREPOS); - - DialogEnableWindow(IDC_SHOWUNVERSIONED, true); - InterlockedExchange(&m_bThreadRunning, FALSE); - return 0; -} - -BOOL CCreatePatch::PreTranslateMessage(MSG* pMsg) -{ - if (pMsg->message == WM_KEYDOWN) - { - switch (pMsg->wParam) - { - case VK_RETURN: - { - if (GetAsyncKeyState(VK_CONTROL)&0x8000) - { - if ( GetDlgItem(IDOK)->IsWindowEnabled() ) - { - PostMessage(WM_COMMAND, IDOK); - } - return TRUE; - } - } - break; - case VK_F5: - { - if (!m_bThreadRunning) - { - if(AfxBeginThread(PatchThreadEntry, this) == NULL) - { - CMessageBox::Show(this->m_hWnd, IDS_ERR_THREADSTARTFAILED, IDS_APPNAME, MB_OK | MB_ICONERROR); - } - else - InterlockedExchange(&m_bThreadRunning, TRUE); - } - } - break; - } - } - - return CResizableStandAloneDialog::PreTranslateMessage(pMsg); -} - -void CCreatePatch::OnBnClickedSelectall() -{ - UINT state = (m_SelectAll.GetState() & 0x0003); - if (state == BST_INDETERMINATE) - { - // It is not at all useful to manually place the checkbox into the indeterminate state... - // We will force this on to the unchecked state - state = BST_UNCHECKED; - m_SelectAll.SetCheck(state); - } - theApp.DoWaitCursor(1); - m_PatchList.SelectAll(state == BST_CHECKED); - theApp.DoWaitCursor(-1); -} - -void CCreatePatch::OnBnClickedShowunversioned() -{ - UpdateData(); - if (!m_bThreadRunning) - m_PatchList.Show(ShowMask()); -} - -void CCreatePatch::OnBnClickedHelp() -{ - OnHelp(); -} - -void CCreatePatch::OnCancel() -{ - m_bCancelled = true; - if (m_bThreadRunning) - return; - - CResizableStandAloneDialog::OnCancel(); -} - -void CCreatePatch::OnOK() -{ - if (m_bThreadRunning) - return; - - int nListItems = m_PatchList.GetItemCount(); - m_filesToRevert.Clear(); - - for (int j=0; jIsChecked()) - { - // Unversioned files are not included in the resulting patch file! - // We add those files to a list which will be used to add those files - // before creating the patch. - if ((entry->status == svn_wc_status_none)||(entry->status == svn_wc_status_unversioned)) - { - m_filesToRevert.AddPath(entry->GetPath()); - } - } - } - - if (m_filesToRevert.GetCount()) - { - // add all unversioned files to version control - // so they're included in the resulting patch - // NOTE: these files must be reverted after the patch - // has been created! Since this dialog doesn't create the patch - // itself, the calling function is responsible to revert these files! - SVN svn; - svn.Add(m_filesToRevert, NULL, svn_depth_empty, false, false, true); - } - - //save only the files the user has selected into the path list - m_PatchList.WriteCheckedNamesToPathList(m_pathList); - - CResizableStandAloneDialog::OnOK(); -} - -LRESULT CCreatePatch::OnSVNStatusListCtrlNeedsRefresh(WPARAM, LPARAM) -{ - if(AfxBeginThread(PatchThreadEntry, this) == NULL) - { - CMessageBox::Show(this->m_hWnd, IDS_ERR_THREADSTARTFAILED, IDS_APPNAME, MB_OK | MB_ICONERROR); - } - return 0; -} - -LRESULT CCreatePatch::OnFileDropped(WPARAM, LPARAM lParam) -{ - BringWindowToTop(); - SetForegroundWindow(); - SetActiveWindow(); - // if multiple files/folders are dropped - // this handler is called for every single item - // separately. - // To avoid creating multiple refresh threads and - // causing crashes, we only add the items to the - // list control and start a timer. - // When the timer expires, we start the refresh thread, - // but only if it isn't already running - otherwise we - // restart the timer. - CTSVNPath path; - path.SetFromWin((LPCTSTR)lParam); - - if (!m_PatchList.HasPath(path)) - { - if (m_pathList.AreAllPathsFiles()) - { - m_pathList.AddPath(path); - m_pathList.RemoveDuplicates(); - } - else - { - // if the path list contains folders, we have to check whether - // our just (maybe) added path is a child of one of those. If it is - // a child of a folder already in the list, we must not add it. Otherwise - // that path could show up twice in the list. - bool bHasParentInList = false; - for (int i=0; i>32); - unsigned __int64 ext=(MENUSVNIGNORE|MENUREFLOG|MENUREFBROWSE|MENUSTASHAPPLY|MENUDELUNVERSIONED|MENUSUBSYNC|MENUCREATEPATCH); + unsigned __int64 ext=(MENUSVNIGNORE|MENUREFLOG|MENUREFBROWSE|MENUSTASHAPPLY|MENUDELUNVERSIONED|MENUSUBSYNC); menuextlow = CRegStdDWORD(_T("Software\\TortoiseGit\\ContextMenuExtEntriesLow"), ext&0xFFFFFFFF ); menuexthigh = CRegStdDWORD(_T("Software\\TortoiseGit\\ContextMenuExtEntriesHigh"), ext>>32 ); diff --git a/src/TortoiseShell/resource.h b/src/TortoiseShell/resource.h index c5cacb1ca..329c54819 100644 --- a/src/TortoiseShell/resource.h +++ b/src/TortoiseShell/resource.h @@ -111,7 +111,6 @@ #define IDS_MENUBLAME 203 #define IDS_STATUSEXTERNAL 204 #define IDS_MENUDESCBLAME 205 -#define IDS_MENUCREATEPATCH 206 #define IDS_MENUAPPLYPATCH 207 #define IDS_MENUDESCCREATEPATCH 208 #define IDS_MENUDESCAPPLYPATCH 209 diff --git a/src/TortoiseShell/resourceshell.rc b/src/TortoiseShell/resourceshell.rc index 79ddffebd..1ef2c6794 100644 --- a/src/TortoiseShell/resourceshell.rc +++ b/src/TortoiseShell/resourceshell.rc @@ -307,7 +307,6 @@ BEGIN IDS_MENUBLAME "&Blame" IDS_STATUSEXTERNAL "external" IDS_MENUDESCBLAME "Blames each line of a file on an author" - IDS_MENUCREATEPATCH "Create &patch..." IDS_MENUAPPLYPATCH "Review &patch..." END -- 2.11.4.GIT