-// TortoiseSVN - a Windows shell extension for easy version control\r
+// TortoiseGit - a Windows shell extension for easy version control\r
\r
-// Copyright (C) 2003-2008 - TortoiseSVN\r
+// Copyright (C) 2003-2008 - TortoiseGit\r
\r
// This program is free software; you can redistribute it and/or\r
// modify it under the terms of the GNU General Public License\r
#include "PropDlg.h"\r
#include "SVNProgressDlg.h"\r
#include "ProgressDlg.h"\r
-#include "RepositoryBrowser.h"\r
-#include "CopyDlg.h"\r
-#include "StatGraphDlg.h"\r
+//#include "RepositoryBrowser.h"\r
+//#include "CopyDlg.h"\r
+//#include "StatGraphDlg.h"\r
#include "Logdlg.h"\r
#include "MessageBox.h"\r
#include "Registry.h"\r
#include "StringUtils.h"\r
#include "UnicodeUtils.h"\r
#include "TempFile.h"\r
-#include "SVNInfo.h"\r
-#include "SVNDiff.h"\r
+//#include "GitInfo.h"\r
+//#include "GitDiff.h"\r
#include "IconMenu.h"\r
-#include "RevisionRangeDlg.h"\r
-#include "BrowseFolder.h"\r
-#include "BlameDlg.h"\r
-#include "Blame.h"\r
-#include "SVNHelpers.h"\r
-#include "SVNStatus.h"\r
-#include "LogDlgHelper.h"\r
-#include "CachedLogInfo.h"\r
-#include "RepositoryInfo.h"\r
-#include "EditPropertiesDlg.h"\r
+//#include "RevisionRangeDlg.h"\r
+//#include "BrowseFolder.h"\r
+//#include "BlameDlg.h"\r
+//#include "Blame.h"\r
+//#include "GitHelpers.h"\r
+#include "GitStatus.h"\r
+//#include "LogDlgHelper.h"\r
+//#include "CachedLogInfo.h"\r
+//#include "RepositoryInfo.h"\r
+//#include "EditPropertiesDlg.h"\r
\r
\r
#if (NTDDI_VERSION < NTDDI_LONGHORN)\r
, m_nSortColumn(0)\r
, m_bShowedAll(false)\r
, m_bSelect(false)\r
- , m_regLastStrict(_T("Software\\TortoiseSVN\\LastLogStrict"), FALSE)\r
- , m_regMaxBugIDColWidth(_T("Software\\TortoiseSVN\\MaxBugIDColWidth"), 200)\r
+ , m_regLastStrict(_T("Software\\TortoiseGit\\LastLogStrict"), FALSE)\r
+ , m_regMaxBugIDColWidth(_T("Software\\TortoiseGit\\MaxBugIDColWidth"), 200)\r
, m_bSelectionMustBeContinuous(false)\r
, m_bShowBugtraqColumn(false)\r
- , m_lowestRev(-1)\r
+ , m_lowestRev(_T(""))\r
, m_bStrictStopped(false)\r
, m_sLogInfo(_T(""))\r
, m_pFindDialog(NULL)\r
, m_hAccel(NULL)\r
, m_bVista(false)\r
{\r
- m_bFilterWithRegex = !!CRegDWORD(_T("Software\\TortoiseSVN\\UseRegexFilter"), TRUE);\r
+ m_bFilterWithRegex = !!CRegDWORD(_T("Software\\TortoiseGit\\UseRegexFilter"), TRUE);\r
// use the default GUI font, create a copy of it and\r
// change the copy to BOLD (leave the rest of the font\r
// the same)\r
ON_COMMAND(ID_EDIT_COPY, &CLogDlg::OnEditCopy)\r
END_MESSAGE_MAP()\r
\r
-void CLogDlg::SetParams(const CTSVNPath& path, SVNRev pegrev, SVNRev startrev, SVNRev endrev, int limit, BOOL bStrict /* = FALSE */, BOOL bSaveStrict /* = TRUE */)\r
+void CLogDlg::SetParams(const CTGitPath& path, GitRev pegrev, GitRev startrev, GitRev endrev, int limit, BOOL bStrict /* = FALSE */, BOOL bSaveStrict /* = TRUE */)\r
{\r
m_path = path;\r
m_pegrev = pegrev;\r
if (m_limit)\r
temp.Format(IDS_LOG_SHOWNEXT, m_limit);\r
else\r
- temp.Format(IDS_LOG_SHOWNEXT, (int)(DWORD)CRegDWORD(_T("Software\\TortoiseSVN\\NumberOfLogs"), 100));\r
+ temp.Format(IDS_LOG_SHOWNEXT, (int)(DWORD)CRegDWORD(_T("Software\\TortoiseGit\\NumberOfLogs"), 100));\r
\r
SetDlgItemText(IDC_NEXTHUNDRED, temp);\r
\r
// set up the columns\r
m_LogList.DeleteAllItems();\r
int c = ((CHeaderCtrl*)(m_LogList.GetDlgItem(0)))->GetItemCount()-1;\r
+ \r
while (c>=0)\r
m_LogList.DeleteColumn(c--);\r
- temp.LoadString(IDS_LOG_REVISION);\r
- m_LogList.InsertColumn(0, temp);\r
+ temp.LoadString(IDS_LOG_GRAPH);\r
+\r
+ m_LogList.InsertColumn(this->LOGLIST_GRAPH, temp);\r
\r
+#if 0 \r
// make the revision column right aligned\r
LVCOLUMN Column;\r
Column.mask = LVCF_FMT;\r
Column.fmt = LVCFMT_RIGHT;\r
m_LogList.SetColumn(0, &Column); \r
- \r
+#endif \r
+// CString log;\r
+// g_Git.GetLog(log);\r
+\r
temp.LoadString(IDS_LOG_ACTIONS);\r
- m_LogList.InsertColumn(1, temp);\r
+ m_LogList.InsertColumn(this->LOGLIST_ACTION, temp);\r
+ \r
+ temp.LoadString(IDS_LOG_MESSAGE);\r
+ m_LogList.InsertColumn(this->LOGLIST_MESSAGE, temp);\r
+ \r
temp.LoadString(IDS_LOG_AUTHOR);\r
- m_LogList.InsertColumn(2, temp);\r
+ m_LogList.InsertColumn(this->LOGLIST_AUTHOR, temp);\r
+ \r
temp.LoadString(IDS_LOG_DATE);\r
- m_LogList.InsertColumn(3, temp);\r
+ m_LogList.InsertColumn(this->LOGLIST_DATE, temp);\r
+ \r
+\r
if (m_bShowBugtraqColumn)\r
{\r
temp = m_ProjectProperties.sLabel;\r
if (temp.IsEmpty())\r
temp.LoadString(IDS_LOG_BUGIDS);\r
- m_LogList.InsertColumn(4, temp);\r
+ m_LogList.InsertColumn(this->LOGLIST_BUG, temp);\r
+\r
}\r
- temp.LoadString(IDS_LOG_MESSAGE);\r
- m_LogList.InsertColumn(m_bShowBugtraqColumn ? 5 : 4, temp);\r
+ \r
m_LogList.SetRedraw(false);\r
ResizeAllListCtrlCols();\r
m_LogList.SetRedraw(true);\r
while (c>=0)\r
m_ChangedFileListCtrl.DeleteColumn(c--);\r
temp.LoadString(IDS_PROGRS_ACTION);\r
- m_ChangedFileListCtrl.InsertColumn(0, temp);\r
+ m_ChangedFileListCtrl.InsertColumn(this->FILELIST_ACTION, temp);\r
+ temp.LoadString(IDS_LOG_FILE_LINE_ADD);\r
+ m_ChangedFileListCtrl.InsertColumn(this->FILELIST_ADD, temp);\r
+ temp.LoadString(IDS_LOG_FILE_LINE_DEL);\r
+ m_ChangedFileListCtrl.InsertColumn(this->FILELIST_DEL, temp);\r
temp.LoadString(IDS_PROGRS_PATH);\r
- m_ChangedFileListCtrl.InsertColumn(1, temp);\r
- temp.LoadString(IDS_LOG_COPYFROM);\r
- m_ChangedFileListCtrl.InsertColumn(2, temp);\r
- temp.LoadString(IDS_LOG_REVISION);\r
- m_ChangedFileListCtrl.InsertColumn(3, temp);\r
+ m_ChangedFileListCtrl.InsertColumn(this->FILELIST_PATH, temp);\r
+ \r
m_ChangedFileListCtrl.SetRedraw(false);\r
CAppUtils::ResizeAllListCtrlCols(&m_ChangedFileListCtrl);\r
m_ChangedFileListCtrl.SetRedraw(true);\r
AddAnchor(IDOK, BOTTOM_RIGHT);\r
AddAnchor(IDCANCEL, BOTTOM_RIGHT);\r
AddAnchor(IDHELP, BOTTOM_RIGHT);\r
- SetPromptParentWindow(m_hWnd);\r
+\r
+// SetPromptParentWindow(m_hWnd);\r
+\r
if (hWndExplorer)\r
CenterWindow(CWnd::FromHandle(hWndExplorer));\r
EnableSaveRestore(_T("LogDlg"));\r
\r
- DWORD yPos1 = CRegDWORD(_T("Software\\TortoiseSVN\\TortoiseProc\\ResizableState\\LogDlgSizer1"));\r
- DWORD yPos2 = CRegDWORD(_T("Software\\TortoiseSVN\\TortoiseProc\\ResizableState\\LogDlgSizer2"));\r
+ DWORD yPos1 = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\ResizableState\\LogDlgSizer1"));\r
+ DWORD yPos2 = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\ResizableState\\LogDlgSizer2"));\r
RECT rcDlg, rcLogList, rcChgMsg;\r
GetClientRect(&rcDlg);\r
m_LogList.GetWindowRect(&rcLogList);\r
m_btnShow.AddEntry(temp);\r
temp.LoadString(IDS_LOG_SHOWRANGE);\r
m_btnShow.AddEntry(temp);\r
- m_btnShow.SetCurrentEntry((LONG)CRegDWORD(_T("Software\\TortoiseSVN\\ShowAllEntry")));\r
+ m_btnShow.SetCurrentEntry((LONG)CRegDWORD(_T("Software\\TortoiseGit\\ShowAllEntry")));\r
\r
m_mergedRevs.clear();\r
\r
m_ChangedFileListCtrl.SetRedraw(TRUE);\r
return;\r
}\r
- PLOGENTRYDATA pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(selIndex));\r
+ GitRev* pLogEntry = reinterpret_cast<GitRev *>(m_arShownList.GetAt(selIndex));\r
\r
// set the log message text\r
- pMsgView->SetWindowText(pLogEntry->sMessage);\r
+ pMsgView->SetWindowText(_T("*")+pLogEntry->m_Subject+_T("\n\n")+pLogEntry->m_Body);\r
// turn bug ID's into links if the bugtraq: properties have been set\r
// and we can find a match of those in the log message\r
- m_ProjectProperties.FindBugID(pLogEntry->sMessage, pMsgView);\r
+ m_ProjectProperties.FindBugID(pLogEntry->m_Body, pMsgView);\r
CAppUtils::FormatTextInRichEditControl(pMsgView);\r
- m_currentChangedArray = pLogEntry->pArChangedPaths;\r
+ m_currentChangedArray = &(pLogEntry->m_Files);\r
if (m_currentChangedArray == NULL)\r
{\r
InterlockedExchange(&m_bNoDispUpdates, FALSE);\r
m_ChangedFileListCtrl.SetRedraw(TRUE);\r
return;\r
}\r
+#if 0\r
// fill in the changed files list control\r
if ((m_cHidePaths.GetState() & 0x0003)==BST_CHECKED)\r
{\r
}\r
m_currentChangedArray = &m_CurrentFilteredChangedArray;\r
}\r
+#endif\r
}\r
else\r
{\r
else\r
SetSortArrow(&m_ChangedFileListCtrl, -1, false);\r
m_ChangedFileListCtrl.SetRedraw(TRUE);\r
+\r
}\r
\r
void CLogDlg::OnBnClickedGetall()\r
\r
void CLogDlg::GetAll(bool bForceAll /* = false */)\r
{\r
+#if 0\r
// fetch all requested log messages, either the specified range or\r
// really *all* available log messages.\r
UpdateData();\r
INT_PTR entry = m_btnShow.GetCurrentEntry();\r
if (bForceAll)\r
entry = 0;\r
+\r
switch (entry)\r
{\r
case 0: // show all\r
+ \r
m_endrev = 0;\r
m_startrev = m_LogRevision;\r
if (m_bStrict)\r
m_bShowedAll = true;\r
+\r
break;\r
case 1: // show range\r
{\r
+\r
// ask for a revision range\r
CRevisionRangeDlg dlg;\r
dlg.SetStartRevision(m_startrev);\r
if (((LONG)m_startrev < (LONG)m_endrev)||\r
(m_endrev.IsHead()))\r
{\r
- svn_revnum_t temp = m_startrev;\r
+ git_revnum_t temp = m_startrev;\r
m_startrev = m_endrev;\r
m_endrev = temp;\r
}\r
}\r
m_bShowedAll = false;\r
}\r
+\r
break;\r
}\r
m_ChangedFileListCtrl.SetItemCountEx(0);\r
}\r
GetDlgItem(IDC_LOGLIST)->UpdateData(FALSE);\r
InterlockedExchange(&m_bNoDispUpdates, FALSE);\r
+#endif\r
}\r
\r
void CLogDlg::OnBnClickedRefresh()\r
\r
void CLogDlg::Refresh (bool autoGoOnline)\r
{\r
+#if 0\r
// refreshing means re-downloading the already shown log messages\r
UpdateData();\r
m_maxChild = 0;\r
}\r
GetDlgItem(IDC_LOGLIST)->UpdateData(FALSE);\r
InterlockedExchange(&m_bNoDispUpdates, FALSE);\r
+#endif\r
}\r
\r
void CLogDlg::OnBnClickedNexthundred()\r
{\r
+#if 0\r
UpdateData();\r
// we have to fetch the next X log messages.\r
if (m_logEntries.size() < 1)\r
// messages from.\r
return GetAll(true);\r
}\r
- svn_revnum_t rev = m_logEntries[m_logEntries.size()-1]->Rev;\r
+ git_revnum_t rev = m_logEntries[m_logEntries.size()-1]->Rev;\r
\r
if (rev < 1)\r
return; // do nothing! No more revisions to get\r
+\r
m_startrev = rev;\r
m_endrev = 0;\r
m_bCancelled = FALSE;\r
// rev is is revision we already have and we will receive it again\r
// -> fetch one extra revision to get NumberOfLogs *new* revisions\r
\r
- m_limit = (int)(DWORD)CRegDWORD(_T("Software\\TortoiseSVN\\NumberOfLogs"), 100) +1;\r
+ m_limit = (int)(DWORD)CRegDWORD(_T("Software\\TortoiseGit\\NumberOfLogs"), 100) +1;\r
InterlockedExchange(&m_bNoDispUpdates, TRUE);\r
SetSortArrow(&m_LogList, -1, true);\r
InterlockedExchange(&m_bThreadRunning, TRUE);\r
}\r
InterlockedExchange(&m_bNoDispUpdates, TRUE);\r
GetDlgItem(IDC_LOGLIST)->UpdateData(FALSE);\r
+#endif\r
}\r
\r
BOOL CLogDlg::Cancel()\r
{\r
if (!IsIconic())\r
{\r
- CRegDWORD regPos1 = CRegDWORD(_T("Software\\TortoiseSVN\\TortoiseProc\\ResizableState\\LogDlgSizer1"));\r
- CRegDWORD regPos2 = CRegDWORD(_T("Software\\TortoiseSVN\\TortoiseProc\\ResizableState\\LogDlgSizer2"));\r
+ CRegDWORD regPos1 = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\ResizableState\\LogDlgSizer1"));\r
+ CRegDWORD regPos2 = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\ResizableState\\LogDlgSizer2"));\r
RECT rectSplitter;\r
m_wndSplitter1.GetWindowRect(&rectSplitter);\r
ScreenToClient(&rectSplitter);\r
UpdateData();\r
if (m_bSaveStrict)\r
m_regLastStrict = m_bStrict;\r
- CRegDWORD reg = CRegDWORD(_T("Software\\TortoiseSVN\\ShowAllEntry"));\r
+ CRegDWORD reg = CRegDWORD(_T("Software\\TortoiseGit\\ShowAllEntry"));\r
reg = m_btnShow.GetCurrentEntry();\r
SaveSplitterPos();\r
__super::OnCancel();\r
return sShortMessage;\r
}\r
\r
-BOOL CLogDlg::Log(svn_revnum_t rev, const CString& author, const CString& date, const CString& message, LogChangedPathArray * cpaths, apr_time_t time, int filechanges, BOOL copies, DWORD actions, BOOL haschildren)\r
+BOOL CLogDlg::Log(git_revnum_t rev, const CString& author, const CString& date, const CString& message, LogChangedPathArray * cpaths, int filechanges, BOOL copies, DWORD actions, BOOL haschildren)\r
{\r
+#if 0\r
if (rev == SVN_INVALID_REVNUM)\r
{\r
m_childCounter--;\r
return TRUE;\r
}\r
+\r
// this is the callback function which receives the data for every revision we ask the log for\r
// we store this information here one by one.\r
m_logcounter += 1;\r
m_LogProgress.SetPos(m_limit - m_limitcounter);\r
}\r
else if (m_startrev.IsNumber() && m_startrev.IsNumber())\r
- m_LogProgress.SetPos((svn_revnum_t)m_startrev-rev+(svn_revnum_t)m_endrev);\r
+ m_LogProgress.SetPos((git_revnum_t)m_startrev-rev+(git_revnum_t)m_endrev);\r
__time64_t ttime = time/1000000L;\r
if (m_tTo < (DWORD)ttime)\r
m_tTo = (DWORD)ttime;\r
}\r
catch (CException * e)\r
{\r
- ::MessageBox(NULL, _T("not enough memory!"), _T("TortoiseSVN"), MB_ICONERROR);\r
+ ::MessageBox(NULL, _T("not enough memory!"), _T("TortoiseGit"), MB_ICONERROR);\r
e->Delete();\r
m_bCancelled = TRUE;\r
}\r
m_logEntries.push_back(pLogItem);\r
m_arShownList.Add(pLogItem);\r
- \r
+#endif\r
return TRUE;\r
}\r
\r
return ((CLogDlg*)pVoid)->LogThread();\r
}\r
\r
-\r
+GitRev g_rev;\r
//this is the thread function which calls the subversion function\r
UINT CLogDlg::LogThread()\r
{\r
+\r
InterlockedExchange(&m_bThreadRunning, TRUE);\r
\r
//does the user force the cache to refresh (shift or control key down)?\r
m_LogProgress.SetRange32(0, 100);\r
m_LogProgress.SetPos(0);\r
GetDlgItem(IDC_PROGRESS)->ShowWindow(TRUE);\r
- svn_revnum_t r = -1;\r
+// git_revnum_t r = -1;\r
\r
// get the repository root url, because the changed-files-list has the\r
// paths shown there relative to the repository root.\r
- CTSVNPath rootpath;\r
- BOOL succeeded = GetRootAndHead(m_path, rootpath, r);\r
+// CTGitPath rootpath;\r
+// BOOL succeeded = GetRootAndHead(m_path, rootpath, r);\r
\r
- m_sRepositoryRoot = rootpath.GetSVNPathString();\r
- m_sURL = m_path.GetSVNPathString();\r
+// m_sRepositoryRoot = rootpath.GetGitPathString();\r
+// m_sURL = m_path.GetGitPathString();\r
\r
// we need the UUID to unambigously identify the log cache\r
- if (logCachePool.IsEnabled())\r
- m_sUUID = logCachePool.GetRepositoryInfo().GetRepositoryUUID (rootpath);\r
+// if (logCachePool.IsEnabled())\r
+// m_sUUID = logCachePool.GetRepositoryInfo().GetRepositoryUUID (rootpath);\r
\r
// if the log dialog is started from a working copy, we need to turn that\r
// local path into an url here\r
- if (succeeded)\r
- {\r
- if (!m_path.IsUrl())\r
- {\r
- m_sURL = GetURLFromPath(m_path);\r
+// if (succeeded)\r
+// {\r
+// if (!m_path.IsUrl())\r
+// {\r
+// m_sURL = GetURLFromPath(m_path);\r
\r
- // The URL is escaped because SVN::logReceiver\r
+ // The URL is escaped because Git::logReceiver\r
// returns the path in a native format\r
- m_sURL = CPathUtils::PathUnescape(m_sURL);\r
- }\r
- m_sRelativeRoot = m_sURL.Mid(CPathUtils::PathUnescape(m_sRepositoryRoot).GetLength());\r
- m_sSelfRelativeURL = m_sRelativeRoot;\r
- }\r
-\r
+// m_sURL = CPathUtils::PathUnescape(m_sURL);\r
+ // }\r
+// m_sRelativeRoot = m_sURL.Mid(CPathUtils::PathUnescape(m_sRepositoryRoot).GetLength());\r
+// m_sSelfRelativeURL = m_sRelativeRoot;\r
+ // }\r
+#if 0\r
if (succeeded && !m_mergePath.IsEmpty() && m_mergedRevs.empty())\r
{\r
// in case we got a merge path set, retrieve the merge info\r
// of that path and check whether one of the merge URLs\r
// match the URL we show the log for.\r
- SVNPool localpool(pool);\r
- svn_error_clear(Err);\r
+ GitPool localpool(pool);\r
+ git_error_clear(Err);\r
apr_hash_t * mergeinfo = NULL;\r
- if (svn_client_mergeinfo_get_merged (&mergeinfo, m_mergePath.GetSVNApiPath(localpool), SVNRev(SVNRev::REV_WC), m_pctx, localpool) == NULL)\r
+ if (git_client_mergeinfo_get_merged (&mergeinfo, m_mergePath.GetGitApiPath(localpool), GitRev(GitRev::REV_WC), m_pctx, localpool) == NULL)\r
{\r
// now check the relative paths\r
apr_hash_index_t *hi;\r
{\r
for (long i=0; i<arr->nelts; ++i)\r
{\r
- svn_merge_range_t * pRange = APR_ARRAY_IDX(arr, i, svn_merge_range_t*);\r
+ git_merge_range_t * pRange = APR_ARRAY_IDX(arr, i, git_merge_range_t*);\r
if (pRange)\r
{\r
- for (svn_revnum_t r=pRange->start+1; r<=pRange->end; ++r)\r
+ for (git_revnum_t r=pRange->start+1; r<=pRange->end; ++r)\r
{\r
m_mergedRevs.insert(r);\r
}\r
}\r
\r
m_LogProgress.SetPos(1);\r
- if (m_startrev == SVNRev::REV_HEAD)\r
+ if (m_startrev == GitRev::REV_HEAD)\r
{\r
m_startrev = r;\r
}\r
- if (m_endrev == SVNRev::REV_HEAD)\r
+ if (m_endrev == GitRev::REV_HEAD)\r
{\r
m_endrev = r;\r
}\r
\r
if (succeeded)\r
{\r
- succeeded = ReceiveLog (CTSVNPathList(m_path), m_pegrev, m_startrev, m_endrev, m_limit, m_bStrict, m_bIncludeMerges, refresh);\r
+ succeeded = ReceiveLog (CTGitPathList(m_path), m_pegrev, m_startrev, m_endrev, m_limit, m_bStrict, m_bIncludeMerges, refresh);\r
if ((!succeeded)&&(!m_path.IsUrl()))\r
{\r
// try again with REV_WC as the start revision, just in case the path doesn't\r
// exist anymore in HEAD\r
- succeeded = ReceiveLog(CTSVNPathList(m_path), SVNRev(), SVNRev::REV_WC, m_endrev, m_limit, m_bStrict, m_bIncludeMerges, refresh);\r
+ succeeded = ReceiveLog(CTGitPathList(m_path), GitRev(), GitRev::REV_WC, m_endrev, m_limit, m_bStrict, m_bIncludeMerges, refresh);\r
}\r
}\r
m_LogList.ClearText();\r
if (!m_wcRev.IsValid())\r
{\r
// fetch the revision the wc path is on so we can mark it\r
- CTSVNPath revWCPath = m_ProjectProperties.GetPropsPath();\r
+ CTGitPath revWCPath = m_ProjectProperties.GetPropsPath();\r
if (!m_path.IsUrl())\r
revWCPath = m_path;\r
- if (DWORD(CRegDWORD(_T("Software\\TortoiseSVN\\RecursiveLogRev"), FALSE)))\r
+ if (DWORD(CRegDWORD(_T("Software\\TortoiseGit\\RecursiveLogRev"), FALSE)))\r
{\r
- svn_revnum_t minrev, maxrev;\r
+ git_revnum_t minrev, maxrev;\r
bool switched, modified, sparse;\r
GetWCRevisionStatus(revWCPath, true, minrev, maxrev, switched, modified, sparse);\r
if (maxrev)\r
}\r
else\r
{\r
- CTSVNPath dummypath;\r
- SVNStatus status;\r
- svn_wc_status2_t * stat = status.GetFirstFileStatus(revWCPath, dummypath, false, svn_depth_empty);\r
+ CTGitPath dummypath;\r
+ GitStatus status;\r
+ git_wc_status2_t * stat = status.GetFirstFileStatus(revWCPath, dummypath, false, git_depth_empty);\r
if (stat && stat->entry && stat->entry->cmt_rev)\r
m_wcRev = stat->entry->cmt_rev;\r
- if (stat && stat->entry && (stat->entry->kind == svn_node_dir))\r
+ if (stat && stat->entry && (stat->entry->kind == git_node_dir))\r
m_wcRev = stat->entry->revision;\r
}\r
}\r
m_DateTo.SetRange(&m_timFrom, &m_timTo);\r
m_DateFrom.SetTime(&m_timFrom);\r
m_DateTo.SetTime(&m_timTo);\r
-\r
+#endif\r
DialogEnableWindow(IDC_GETALL, TRUE);\r
+ m_LogList.ClearText();\r
+\r
+ this->m_logEntries.ClearAll();\r
+ this->m_logEntries.ParserFromLog();\r
+ m_LogList.SetItemCountEx(this->m_logEntries.size());\r
+\r
+ this->m_arShownList.RemoveAll();\r
+\r
+ for(int i=0;i<m_logEntries.size();i++)\r
+ this->m_arShownList.Add(&m_logEntries[i]);\r
\r
+#if 0 \r
if (!m_bShowedAll)\r
DialogEnableWindow(IDC_NEXTHUNDRED, TRUE);\r
+#endif\r
DialogEnableWindow(IDC_CHECK_STOPONCOPY, TRUE);\r
DialogEnableWindow(IDC_INCLUDEMERGE, TRUE);\r
DialogEnableWindow(IDC_STATBUTTON, TRUE);\r
DialogEnableWindow(IDC_REFRESH, TRUE);\r
\r
+#if 0\r
LogCache::CRepositoryInfo& cachedProperties = logCachePool.GetRepositoryInfo();\r
SetDlgTitle(cachedProperties.IsOffline (m_sUUID, m_sRepositoryRoot, false));\r
\r
GetDlgItem(IDC_PROGRESS)->ShowWindow(FALSE);\r
m_bCancelled = true;\r
+#endif\r
InterlockedExchange(&m_bThreadRunning, FALSE);\r
m_LogList.RedrawItems(0, m_arShownList.GetCount());\r
m_LogList.SetRedraw(false);\r
m_LogList.SetItemState(0, LVIS_SELECTED, LVIS_SELECTED);\r
}\r
}\r
+\r
if (!GetDlgItem(IDOK)->IsWindowVisible())\r
{\r
temp.LoadString(IDS_MSGBOX_OK);\r
SetDlgItemText(IDCANCEL, temp);\r
}\r
+\r
RefreshCursor();\r
// make sure the filter is applied (if any) now, after we refreshed/fetched\r
// the log messages\r
PostMessage(WM_TIMER, LOGFILTER_TIMER);\r
+\r
return 0;\r
}\r
\r
void CLogDlg::CopySelectionToClipBoard()\r
{\r
+#if 0\r
CString sClipdata;\r
POSITION pos = m_LogList.GetFirstSelectedItemPosition();\r
if (pos != NULL)\r
}\r
CStringUtils::WriteAsciiStringToClipboard(sClipdata, GetSafeHwnd());\r
}\r
+#endif\r
}\r
\r
void CLogDlg::CopyChangedSelectionToClipBoard()\r
{\r
+#if 0\r
POSITION pos = m_LogList.GetFirstSelectedItemPosition();\r
if (pos == NULL)\r
return; // nothing is selected, get out of here\r
while (pos)\r
{\r
int nItem = m_ChangedFileListCtrl.GetNextSelectedItem(pos);\r
- sPaths += m_currentChangedPathList[nItem].GetSVNPathString();\r
+ sPaths += m_currentChangedPathList[nItem].GetGitPathString();\r
sPaths += _T("\r\n");\r
}\r
}\r
}\r
sPaths.Trim();\r
CStringUtils::WriteAsciiStringToClipboard(sPaths, GetSafeHwnd());\r
+#endif\r
}\r
\r
-BOOL CLogDlg::IsDiffPossible(LogChangedPath * changedpath, svn_revnum_t rev)\r
+BOOL CLogDlg::IsDiffPossible(LogChangedPath * changedpath, git_revnum_t rev)\r
{\r
+#if 0\r
CString added, deleted;\r
if (changedpath == NULL)\r
return false;\r
}\r
return TRUE;\r
}\r
+#endif\r
return FALSE;\r
}\r
\r
\r
LRESULT CLogDlg::OnFindDialogMessage(WPARAM /*wParam*/, LPARAM /*lParam*/)\r
{\r
+#if 0\r
ASSERT(m_pFindDialog != NULL);\r
\r
if (m_pFindDialog->IsTerminating())\r
}\r
} // if(m_pFindDialog->FindNext()) \r
UpdateLogInfoLabel();\r
+#endif\r
return 0;\r
}\r
\r
void CLogDlg::OnOK()\r
{\r
+#if 0 \r
// since the log dialog is also used to select revisions for other\r
// dialogs, we have to do some work before closing this dialog\r
if (GetFocus() != GetDlgItem(IDOK))\r
POSITION pos = m_LogList.GetFirstSelectedItemPosition();\r
pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(m_LogList.GetNextSelectedItem(pos)));\r
m_selectedRevs.AddRevision(pLogEntry->Rev);\r
- svn_revnum_t lowerRev = pLogEntry->Rev;\r
- svn_revnum_t higherRev = lowerRev;\r
+ git_revnum_t lowerRev = pLogEntry->Rev;\r
+ git_revnum_t higherRev = lowerRev;\r
while (pos)\r
{\r
pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(m_LogList.GetNextSelectedItem(pos)));\r
- svn_revnum_t rev = pLogEntry->Rev;\r
+ git_revnum_t rev = pLogEntry->Rev;\r
m_selectedRevs.AddRevision(pLogEntry->Rev);\r
if (lowerRev > rev)\r
lowerRev = rev;\r
// if it was copied, use the copy from revision as lowerRev\r
if ((pLogEntry)&&(pLogEntry->pArChangedPaths)&&(lowerRev == higherRev))\r
{\r
- CString sUrl = m_path.GetSVNPathString();\r
+ CString sUrl = m_path.GetGitPathString();\r
if (!m_path.IsUrl())\r
{\r
sUrl = GetURLFromPath(m_path);\r
UpdateData();\r
if (m_bSaveStrict)\r
m_regLastStrict = m_bStrict;\r
- CRegDWORD reg = CRegDWORD(_T("Software\\TortoiseSVN\\ShowAllEntry"));\r
+ CRegDWORD reg = CRegDWORD(_T("Software\\TortoiseGit\\ShowAllEntry"));\r
reg = m_btnShow.GetCurrentEntry();\r
SaveSplitterPos();\r
+#endif \r
}\r
\r
void CLogDlg::OnNMDblclkChangedFileList(NMHDR * /*pNMHDR*/, LRESULT *pResult)\r
\r
void CLogDlg::DiffSelectedFile()\r
{\r
+#if 0\r
if (m_bThreadRunning)\r
return;\r
UpdateLogInfoLabel();\r
// find out if there's an entry selected in the log list\r
POSITION pos = m_LogList.GetFirstSelectedItemPosition();\r
PLOGENTRYDATA pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(m_LogList.GetNextSelectedItem(pos)));\r
- svn_revnum_t rev1 = pLogEntry->Rev;\r
- svn_revnum_t rev2 = rev1;\r
+ git_revnum_t rev1 = pLogEntry->Rev;\r
+ git_revnum_t rev2 = rev1;\r
if (pos)\r
{\r
while (pos)\r
{\r
// if the path was modified but the parent path was 'added with history'\r
// then we have to use the copy from revision of the parent path\r
- CTSVNPath cpath = CTSVNPath(changedpath->sPath);\r
+ CTGitPath cpath = CTGitPath(changedpath->sPath);\r
for (int flist = 0; flist < pLogEntry->pArChangedPaths->GetCount(); ++flist)\r
{\r
- CTSVNPath p = CTSVNPath(pLogEntry->pArChangedPaths->GetAt(flist)->sPath);\r
+ CTGitPath p = CTGitPath(pLogEntry->pArChangedPaths->GetAt(flist)->sPath);\r
if (p.IsAncestorOf(cpath))\r
{\r
if (!pLogEntry->pArChangedPaths->GetAt(flist)->sCopyFromPath.IsEmpty())\r
}\r
else \r
{\r
- CTSVNPath tempfile = CTempFiles::Instance().GetTempFilePath(false, CTSVNPath(changedpath->sPath));\r
- CTSVNPath tempfile2 = CTempFiles::Instance().GetTempFilePath(false, CTSVNPath(changedpath->sPath));\r
- SVNRev r = rev1;\r
+ CTGitPath tempfile = CTempFiles::Instance().GetTempFilePath(false, CTGitPath(changedpath->sPath));\r
+ CTGitPath tempfile2 = CTempFiles::Instance().GetTempFilePath(false, CTGitPath(changedpath->sPath));\r
+ GitRev r = rev1;\r
// deleted files must be opened from the revision before the deletion\r
if (changedpath->action == LOGACTIONS_DELETED)\r
r = rev1-1;\r
SetAndClearProgressInfo(&progDlg);\r
progDlg.ShowModeless(m_hWnd);\r
\r
- if (!Cat(CTSVNPath(m_sRepositoryRoot + changedpath->sPath), r, r, tempfile))\r
+ if (!Cat(CTGitPath(m_sRepositoryRoot + changedpath->sPath), r, r, tempfile))\r
{\r
m_bCancelled = false;\r
- if (!Cat(CTSVNPath(m_sRepositoryRoot + changedpath->sPath), SVNRev::REV_HEAD, r, tempfile))\r
+ if (!Cat(CTGitPath(m_sRepositoryRoot + changedpath->sPath), GitRev::REV_HEAD, r, tempfile))\r
{\r
progDlg.Stop();\r
SetAndClearProgressInfo((HWND)NULL);\r
- CMessageBox::Show(m_hWnd, GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(m_hWnd, GetLastErrorMessage(), _T("TortoiseGit"), MB_ICONERROR);\r
return;\r
}\r
}\r
SetAndClearProgressInfo((HWND)NULL);\r
\r
CString sName1, sName2;\r
- sName1.Format(_T("%s - Revision %ld"), (LPCTSTR)CPathUtils::GetFileNameFromPath(changedpath->sPath), (svn_revnum_t)rev1);\r
- sName2.Format(_T("%s - Revision %ld"), (LPCTSTR)CPathUtils::GetFileNameFromPath(changedpath->sPath), (svn_revnum_t)rev1-1);\r
+ sName1.Format(_T("%s - Revision %ld"), (LPCTSTR)CPathUtils::GetFileNameFromPath(changedpath->sPath), (git_revnum_t)rev1);\r
+ sName2.Format(_T("%s - Revision %ld"), (LPCTSTR)CPathUtils::GetFileNameFromPath(changedpath->sPath), (git_revnum_t)rev1-1);\r
CAppUtils::DiffFlags flags;\r
flags.AlternativeTool(!!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
if (changedpath->action == LOGACTIONS_DELETED)\r
CAppUtils::StartExtDiff(tempfile2, tempfile, sName2, sName1, flags);\r
}\r
}\r
+#endif \r
}\r
\r
\r
// a double click on an entry in the revision list has happened\r
*pResult = 0;\r
\r
- if (CRegDWORD(_T("Software\\TortoiseSVN\\DiffByDoubleClickInLog"), FALSE))\r
+ if (CRegDWORD(_T("Software\\TortoiseGit\\DiffByDoubleClickInLog"), FALSE))\r
DiffSelectedRevWithPrevious();\r
}\r
\r
void CLogDlg::DiffSelectedRevWithPrevious()\r
{\r
+#if 0\r
if (m_bThreadRunning)\r
return;\r
UpdateLogInfoLabel();\r
PLOGENTRYDATA pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(m_LogList.GetNextSelectedItem(pos)));\r
long rev1 = pLogEntry->Rev;\r
long rev2 = rev1-1;\r
- CTSVNPath path = m_path;\r
+ CTGitPath path = m_path;\r
\r
// See how many files under the relative root were changed in selected revision\r
int nChanged = 0;\r
\r
if (PromptShown())\r
{\r
- SVNDiff diff(this, m_hWnd, true);\r
+ GitDiff diff(this, m_hWnd, true);\r
diff.SetAlternativeTool(!!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
diff.SetHEADPeg(m_LogRevision);\r
diff.ShowCompare(path, rev2, path, rev1);\r
}\r
else\r
{\r
- CAppUtils::StartShowCompare(m_hWnd, path, rev2, path, rev1, SVNRev(), m_LogRevision, !!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
+ CAppUtils::StartShowCompare(m_hWnd, path, rev2, path, rev1, GitRev(), m_LogRevision, !!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
}\r
\r
theApp.DoWaitCursor(-1);\r
EnableOKButton();\r
+#endif\r
}\r
\r
-void CLogDlg::DoDiffFromLog(INT_PTR selIndex, svn_revnum_t rev1, svn_revnum_t rev2, bool blame, bool unified)\r
+void CLogDlg::DoDiffFromLog(INT_PTR selIndex, git_revnum_t rev1, git_revnum_t rev2, bool blame, bool unified)\r
{\r
+#if 0\r
DialogEnableWindow(IDOK, FALSE);\r
SetPromptApp(&theApp);\r
theApp.DoWaitCursor(1);\r
//get the filename\r
CString filepath;\r
- if (SVN::PathIsURL(m_path))\r
+ if (Git::PathIsURL(m_path))\r
{\r
- filepath = m_path.GetSVNPathString();\r
+ filepath = m_path.GetGitPathString();\r
}\r
else\r
{\r
theApp.DoWaitCursor(-1);\r
CString temp;\r
temp.Format(IDS_ERR_NOURLOFFILE, (LPCTSTR)filepath);\r
- CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseGit"), MB_ICONERROR);\r
TRACE(_T("could not retrieve the URL of the file!\n"));\r
EnableOKButton();\r
theApp.DoWaitCursor(-11);\r
}\r
}\r
m_bCancelled = FALSE;\r
- filepath = GetRepositoryRoot(CTSVNPath(filepath));\r
+ filepath = GetRepositoryRoot(CTGitPath(filepath));\r
\r
CString firstfile, secondfile;\r
if (m_LogList.GetSelectedCount()==1)\r
}\r
else\r
{\r
- firstfile = m_currentChangedPathList[selIndex].GetSVNPathString();\r
+ firstfile = m_currentChangedPathList[selIndex].GetGitPathString();\r
secondfile = firstfile;\r
}\r
\r
firstfile = filepath + firstfile.Trim();\r
secondfile = filepath + secondfile.Trim();\r
\r
- SVNDiff diff(this, this->m_hWnd, true);\r
+ GitDiff diff(this, this->m_hWnd, true);\r
diff.SetAlternativeTool(!!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
diff.SetHEADPeg(m_LogRevision);\r
if (unified)\r
{\r
if (PromptShown())\r
- diff.ShowUnifiedDiff(CTSVNPath(secondfile), rev2, CTSVNPath(firstfile), rev1);\r
+ diff.ShowUnifiedDiff(CTGitPath(secondfile), rev2, CTGitPath(firstfile), rev1);\r
else\r
- CAppUtils::StartShowUnifiedDiff(m_hWnd, CTSVNPath(secondfile), rev2, CTSVNPath(firstfile), rev1, SVNRev(), m_LogRevision);\r
+ CAppUtils::StartShowUnifiedDiff(m_hWnd, CTGitPath(secondfile), rev2, CTGitPath(firstfile), rev1, GitRev(), m_LogRevision);\r
}\r
else\r
{\r
- if (diff.ShowCompare(CTSVNPath(secondfile), rev2, CTSVNPath(firstfile), rev1, SVNRev(), false, blame))\r
+ if (diff.ShowCompare(CTGitPath(secondfile), rev2, CTGitPath(firstfile), rev1, GitRev(), false, blame))\r
{\r
if (firstfile.Compare(secondfile)==0)\r
{\r
- svn_revnum_t baseRev = 0;\r
- diff.DiffProps(CTSVNPath(firstfile), rev2, rev1, baseRev);\r
+ git_revnum_t baseRev = 0;\r
+ diff.DiffProps(CTGitPath(firstfile), rev2, rev1, baseRev);\r
}\r
}\r
}\r
theApp.DoWaitCursor(-1);\r
EnableOKButton();\r
+#endif\r
}\r
\r
-BOOL CLogDlg::Open(bool bOpenWith,CString changedpath, svn_revnum_t rev)\r
+BOOL CLogDlg::Open(bool bOpenWith,CString changedpath, git_revnum_t rev)\r
{\r
+#if 0\r
DialogEnableWindow(IDOK, FALSE);\r
SetPromptApp(&theApp);\r
theApp.DoWaitCursor(1);\r
CString filepath;\r
- if (SVN::PathIsURL(m_path))\r
+ if (Git::PathIsURL(m_path))\r
{\r
- filepath = m_path.GetSVNPathString();\r
+ filepath = m_path.GetGitPathString();\r
}\r
else\r
{\r
theApp.DoWaitCursor(-1);\r
CString temp;\r
temp.Format(IDS_ERR_NOURLOFFILE, (LPCTSTR)filepath);\r
- CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseGit"), MB_ICONERROR);\r
TRACE(_T("could not retrieve the URL of the file!\n"));\r
EnableOKButton();\r
return FALSE;\r
}\r
}\r
m_bCancelled = false;\r
- filepath = GetRepositoryRoot(CTSVNPath(filepath));\r
+ filepath = GetRepositoryRoot(CTGitPath(filepath));\r
filepath += changedpath;\r
\r
CProgressDlg progDlg;\r
progDlg.SetTitle(IDS_APPNAME);\r
progDlg.SetAnimation(IDR_DOWNLOAD);\r
CString sInfoLine;\r
- sInfoLine.Format(IDS_PROGRESSGETFILEREVISION, (LPCTSTR)filepath, (LPCTSTR)SVNRev(rev).ToString());\r
+ sInfoLine.Format(IDS_PROGRESSGETFILEREVISION, (LPCTSTR)filepath, (LPCTSTR)GitRev(rev).ToString());\r
progDlg.SetLine(1, sInfoLine, true);\r
SetAndClearProgressInfo(&progDlg);\r
progDlg.ShowModeless(m_hWnd);\r
\r
- CTSVNPath tempfile = CTempFiles::Instance().GetTempFilePath(false, CTSVNPath(filepath), rev);\r
+ CTGitPath tempfile = CTempFiles::Instance().GetTempFilePath(false, CTGitPath(filepath), rev);\r
m_bCancelled = false;\r
- if (!Cat(CTSVNPath(filepath), SVNRev(rev), rev, tempfile))\r
+ if (!Cat(CTGitPath(filepath), GitRev(rev), rev, tempfile))\r
{\r
progDlg.Stop();\r
SetAndClearProgressInfo((HWND)NULL);\r
- CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseGit"), MB_ICONERROR);\r
EnableOKButton();\r
theApp.DoWaitCursor(-1);\r
return FALSE;\r
}\r
EnableOKButton();\r
theApp.DoWaitCursor(-1);\r
+#endif\r
return TRUE;\r
}\r
\r
void CLogDlg::EditAuthor(const CLogDataVector& logs)\r
{\r
+#if 0\r
CString url;\r
CString name;\r
if (logs.size() == 0)\r
DialogEnableWindow(IDOK, FALSE);\r
SetPromptApp(&theApp);\r
theApp.DoWaitCursor(1);\r
- if (SVN::PathIsURL(m_path))\r
- url = m_path.GetSVNPathString();\r
+ if (Git::PathIsURL(m_path))\r
+ url = m_path.GetGitPathString();\r
else\r
{\r
url = GetURLFromPath(m_path);\r
}\r
- name = SVN_PROP_REVISION_AUTHOR;\r
+ name = Git_PROP_REVISION_AUTHOR;\r
\r
- CString value = RevPropertyGet(name, CTSVNPath(url), logs[0]->Rev);\r
+ CString value = RevPropertyGet(name, CTGitPath(url), logs[0]->Rev);\r
CString sOldValue = value;\r
value.Replace(_T("\n"), _T("\r\n"));\r
CInputDlg dlg(this);\r
dlg.m_sInputText.Replace(_T("\r"), _T(""));\r
\r
LogCache::CCachedLogInfo* toUpdate \r
- = GetLogCache (CTSVNPath (m_sRepositoryRoot));\r
+ = GetLogCache (CTGitPath (m_sRepositoryRoot));\r
\r
CProgressDlg progDlg;\r
progDlg.SetTitle(IDS_APPNAME);\r
progDlg.ShowModeless(m_hWnd);\r
for (DWORD i=0; i<logs.size(); ++i)\r
{\r
- if (!RevPropertySet(name, dlg.m_sInputText, sOldValue, CTSVNPath(url), logs[i]->Rev))\r
+ if (!RevPropertySet(name, dlg.m_sInputText, sOldValue, CTGitPath(url), logs[i]->Rev))\r
{\r
progDlg.Stop();\r
- CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseGit"), MB_ICONERROR);\r
break;\r
}\r
else\r
}\r
theApp.DoWaitCursor(-1);\r
EnableOKButton();\r
+#endif\r
}\r
\r
void CLogDlg::EditLogMessage(int index)\r
{\r
+#if 0\r
CString url;\r
CString name;\r
DialogEnableWindow(IDOK, FALSE);\r
SetPromptApp(&theApp);\r
theApp.DoWaitCursor(1);\r
- if (SVN::PathIsURL(m_path))\r
- url = m_path.GetSVNPathString();\r
+ if (Git::PathIsURL(m_path))\r
+ url = m_path.GetGitPathString();\r
else\r
{\r
url = GetURLFromPath(m_path);\r
}\r
- name = SVN_PROP_REVISION_LOG;\r
+ name = Git_PROP_REVISION_LOG;\r
\r
PLOGENTRYDATA pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(index));\r
m_bCancelled = FALSE;\r
- CString value = RevPropertyGet(name, CTSVNPath(url), pLogEntry->Rev);\r
+ CString value = RevPropertyGet(name, CTGitPath(url), pLogEntry->Rev);\r
CString sOldValue = value;\r
value.Replace(_T("\n"), _T("\r\n"));\r
CInputDlg dlg(this);\r
if (dlg.DoModal() == IDOK)\r
{\r
dlg.m_sInputText.Replace(_T("\r"), _T(""));\r
- if (!RevPropertySet(name, dlg.m_sInputText, sOldValue, CTSVNPath(url), pLogEntry->Rev))\r
+ if (!RevPropertySet(name, dlg.m_sInputText, sOldValue, CTGitPath(url), pLogEntry->Rev))\r
{\r
- CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseGit"), MB_ICONERROR);\r
}\r
else\r
{\r
// update the log cache \r
\r
LogCache::CCachedLogInfo* toUpdate \r
- = GetLogCache (CTSVNPath (m_sRepositoryRoot));\r
+ = GetLogCache (CTGitPath (m_sRepositoryRoot));\r
if (toUpdate != NULL)\r
{\r
// log caching is active\r
}\r
theApp.DoWaitCursor(-1);\r
EnableOKButton();\r
+#endif\r
}\r
\r
BOOL CLogDlg::PreTranslateMessage(MSG* pMsg)\r
{\r
if (GetFocus()==GetDlgItem(IDC_LOGLIST))\r
{\r
- if (CRegDWORD(_T("Software\\TortoiseSVN\\DiffByDoubleClickInLog"), FALSE))\r
+ if (CRegDWORD(_T("Software\\TortoiseGit\\DiffByDoubleClickInLog"), FALSE))\r
{\r
DiffSelectedRevWithPrevious();\r
return TRUE;\r
\r
void CLogDlg::OnBnClickedStatbutton()\r
{\r
+#if 0\r
if (m_bThreadRunning)\r
return;\r
if (m_arShownList.IsEmpty())\r
// restore the previous sorting\r
SortByColumn(m_nSortColumn, m_bAscending);\r
OnTimer(LOGFILTER_TIMER);\r
+#endif\r
}\r
\r
void CLogDlg::OnNMCustomdrawLoglist(NMHDR *pNMHDR, LRESULT *pResult)\r
{\r
+\r
NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );\r
// Take the default processing unless we set this to something else below.\r
*pResult = CDRF_DODEFAULT;\r
\r
if (m_arShownList.GetCount() > (INT_PTR)pLVCD->nmcd.dwItemSpec)\r
{\r
- PLOGENTRYDATA data = (PLOGENTRYDATA)m_arShownList.GetAt(pLVCD->nmcd.dwItemSpec);\r
+ GitRev* data = (GitRev*)m_arShownList.GetAt(pLVCD->nmcd.dwItemSpec);\r
if (data)\r
{\r
+#if 0\r
if (data->bCopiedSelf)\r
{\r
// only change the background color if the item is not 'hot' (on vista with themes enabled)\r
if (!theme.IsAppThemed() || !m_bVista || ((pLVCD->nmcd.uItemState & CDIS_HOT)==0))\r
pLVCD->clrTextBk = GetSysColor(COLOR_MENU);\r
}\r
+\r
if (data->bCopies)\r
crText = m_Colors.GetColor(CColors::Modified);\r
- if ((data->childStackDepth)||(m_mergedRevs.find(data->Rev) != m_mergedRevs.end()))\r
- crText = GetSysColor(COLOR_GRAYTEXT);\r
- if (data->Rev == m_wcRev)\r
- {\r
- SelectObject(pLVCD->nmcd.hdc, m_boldFont);\r
+#endif\r
+// if ((data->childStackDepth)||(m_mergedRevs.find(data->Rev) != m_mergedRevs.end()))\r
+// crText = GetSysColor(COLOR_GRAYTEXT);\r
+// if (data->Rev == m_wcRev)\r
+// {\r
+// SelectObject(pLVCD->nmcd.hdc, m_boldFont);\r
// We changed the font, so we're returning CDRF_NEWFONT. This\r
// tells the control to recalculate the extent of the text.\r
- *pResult = CDRF_NOTIFYSUBITEMDRAW | CDRF_NEWFONT;\r
- }\r
+// *pResult = CDRF_NOTIFYSUBITEMDRAW | CDRF_NEWFONT;\r
+// }\r
}\r
}\r
if (m_arShownList.GetCount() == (INT_PTR)pLVCD->nmcd.dwItemSpec)\r
int iconwidth = ::GetSystemMetrics(SM_CXSMICON);\r
int iconheight = ::GetSystemMetrics(SM_CYSMICON);\r
\r
- PLOGENTRYDATA pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(pLVCD->nmcd.dwItemSpec));\r
+ GitRev* pLogEntry = reinterpret_cast<GitRev *>(m_arShownList.GetAt(pLVCD->nmcd.dwItemSpec));\r
\r
// Get the selected state of the\r
// item being drawn.\r
}\r
else\r
{\r
+#if 0\r
if (pLogEntry->bCopiedSelf)\r
{\r
// unfortunately, the pLVCD->nmcd.uItemState does not contain valid\r
}\r
}\r
}\r
+#endif\r
}\r
\r
if (theme.IsBackgroundPartiallyTransparent(LVP_LISTDETAIL, state))\r
}\r
else\r
{\r
- if (pLogEntry->bCopiedSelf)\r
- brush = ::CreateSolidBrush(::GetSysColor(COLOR_MENU));\r
- else\r
+ //if (pLogEntry->bCopiedSelf)\r
+ // brush = ::CreateSolidBrush(::GetSysColor(COLOR_MENU));\r
+ //else\r
brush = ::CreateSolidBrush(::GetSysColor(COLOR_WINDOW));\r
}\r
if (brush == NULL)\r
}\r
\r
// Draw the icon(s) into the compatible DC\r
- if (pLogEntry->actions & LOGACTIONS_MODIFIED)\r
+ if (pLogEntry->m_Action & CTGitPath::LOGACTIONS_MODIFIED)\r
::DrawIconEx(pLVCD->nmcd.hdc, rect.left + ICONITEMBORDER, rect.top, m_hModifiedIcon, iconwidth, iconheight, 0, NULL, DI_NORMAL);\r
nIcons++;\r
\r
- if (pLogEntry->actions & LOGACTIONS_ADDED)\r
+ if (pLogEntry->m_Action & CTGitPath::LOGACTIONS_ADDED)\r
::DrawIconEx(pLVCD->nmcd.hdc, rect.left+nIcons*iconwidth + ICONITEMBORDER, rect.top, m_hAddedIcon, iconwidth, iconheight, 0, NULL, DI_NORMAL);\r
nIcons++;\r
\r
- if (pLogEntry->actions & LOGACTIONS_DELETED)\r
+ if (pLogEntry->m_Action & CTGitPath::LOGACTIONS_DELETED)\r
::DrawIconEx(pLVCD->nmcd.hdc, rect.left+nIcons*iconwidth + ICONITEMBORDER, rect.top, m_hDeletedIcon, iconwidth, iconheight, 0, NULL, DI_NORMAL);\r
nIcons++;\r
\r
- if (pLogEntry->actions & LOGACTIONS_REPLACED)\r
+ if (pLogEntry->m_Action & CTGitPath::LOGACTIONS_REPLACED)\r
::DrawIconEx(pLVCD->nmcd.hdc, rect.left+nIcons*iconwidth + ICONITEMBORDER, rect.top, m_hReplacedIcon, iconwidth, iconheight, 0, NULL, DI_NORMAL);\r
nIcons++;\r
-\r
*pResult = CDRF_SKIPDEFAULT;\r
return;\r
}\r
break;\r
}\r
*pResult = CDRF_DODEFAULT;\r
+\r
}\r
void CLogDlg::OnNMCustomdrawChangedFileList(NMHDR *pNMHDR, LRESULT *pResult)\r
{\r
+\r
NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );\r
// Take the default processing unless we set this to something else below.\r
*pResult = CDRF_DODEFAULT;\r
\r
COLORREF crText = GetSysColor(COLOR_WINDOWTEXT);\r
bool bGrayed = false;\r
+#if 0\r
if ((m_cHidePaths.GetState() & 0x0003)==BST_INDETERMINATE)\r
{\r
if ((m_currentChangedArray)&&((m_currentChangedArray->GetCount() > (INT_PTR)pLVCD->nmcd.dwItemSpec)))\r
{\r
- if (m_currentChangedArray->GetAt(pLVCD->nmcd.dwItemSpec)->sPath.Left(m_sRelativeRoot.GetLength()).Compare(m_sRelativeRoot)!=0)\r
+ //if ((*m_currentChangedArray)[(pLVCD->nmcd.dwItemSpec)]sPath.Left(m_sRelativeRoot.GetLength()).Compare(m_sRelativeRoot)!=0)\r
{\r
crText = GetSysColor(COLOR_GRAYTEXT);\r
bGrayed = true;\r
}\r
else if (m_currentChangedPathList.GetCount() > (INT_PTR)pLVCD->nmcd.dwItemSpec)\r
{\r
- if (m_currentChangedPathList[pLVCD->nmcd.dwItemSpec].GetSVNPathString().Left(m_sRelativeRoot.GetLength()).Compare(m_sRelativeRoot)!=0)\r
+ //if (m_currentChangedPathList[pLVCD->nmcd.dwItemSpec].GetGitPathString().Left(m_sRelativeRoot.GetLength()).Compare(m_sRelativeRoot)!=0)\r
{\r
crText = GetSysColor(COLOR_GRAYTEXT);\r
bGrayed = true;\r
}\r
}\r
\r
+#endif\r
if ((!bGrayed)&&(m_currentChangedArray)&&(m_currentChangedArray->GetCount() > (INT_PTR)pLVCD->nmcd.dwItemSpec))\r
{\r
- DWORD action = m_currentChangedArray->GetAt(pLVCD->nmcd.dwItemSpec)->action;\r
- if (action == LOGACTIONS_MODIFIED)\r
+ DWORD action = ((*m_currentChangedArray)[pLVCD->nmcd.dwItemSpec]).m_Action;\r
+ if (action == CTGitPath::LOGACTIONS_MODIFIED)\r
crText = m_Colors.GetColor(CColors::Modified);\r
- if (action == LOGACTIONS_REPLACED)\r
+ if (action == CTGitPath::LOGACTIONS_REPLACED)\r
crText = m_Colors.GetColor(CColors::Deleted);\r
- if (action == LOGACTIONS_ADDED)\r
+ if (action == CTGitPath::LOGACTIONS_ADDED)\r
crText = m_Colors.GetColor(CColors::Added);\r
- if (action == LOGACTIONS_DELETED)\r
+ if (action == CTGitPath::LOGACTIONS_DELETED)\r
crText = m_Colors.GetColor(CColors::Deleted);\r
}\r
\r
\r
void CLogDlg::DoSizeV1(int delta)\r
{\r
+\r
RemoveAnchor(IDC_LOGLIST);\r
RemoveAnchor(IDC_SPLITTERTOP);\r
RemoveAnchor(IDC_MSGVIEW);\r
SetSplitterRange();\r
m_LogList.Invalidate();\r
GetDlgItem(IDC_MSGVIEW)->Invalidate();\r
+\r
}\r
\r
void CLogDlg::DoSizeV2(int delta)\r
{\r
+\r
RemoveAnchor(IDC_LOGLIST);\r
RemoveAnchor(IDC_SPLITTERTOP);\r
RemoveAnchor(IDC_MSGVIEW);\r
SetSplitterRange();\r
GetDlgItem(IDC_MSGVIEW)->Invalidate();\r
m_ChangedFileListCtrl.Invalidate();\r
+\r
}\r
\r
void CLogDlg::AdjustMinSize()\r
if (selection == LOGFILTER_REGEX)\r
{\r
m_bFilterWithRegex = !m_bFilterWithRegex;\r
- CRegDWORD b = CRegDWORD(_T("Software\\TortoiseSVN\\UseRegexFilter"), TRUE);\r
+ CRegDWORD b = CRegDWORD(_T("Software\\TortoiseGit\\UseRegexFilter"), TRUE);\r
b = m_bFilterWithRegex;\r
CheckRegexpTooltip();\r
}\r
\r
LRESULT CLogDlg::OnClickedCancelFilter(WPARAM /*wParam*/, LPARAM /*lParam*/)\r
{\r
+#if 0\r
KillTimer(LOGFILTER_TIMER);\r
\r
m_sFilterText.Empty();\r
GetDlgItem(IDC_SEARCHEDIT)->ShowWindow(SW_SHOW);\r
GetDlgItem(IDC_SEARCHEDIT)->SetFocus();\r
UpdateLogInfoLabel();\r
+#endif\r
return 0L; \r
}\r
\r
\r
// Which item number?\r
int itemid = pItem->iItem;\r
- PLOGENTRYDATA pLogEntry = NULL;\r
+ GitRev * pLogEntry = NULL;\r
if (itemid < m_arShownList.GetCount())\r
- pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(pItem->iItem));\r
+ pLogEntry = reinterpret_cast<GitRev*>(m_arShownList.GetAt(pItem->iItem));\r
\r
// Which column?\r
switch (pItem->iSubItem)\r
{\r
- case 0: //revision\r
+ case this->LOGLIST_GRAPH: //Graphic\r
if (pLogEntry)\r
{\r
- _stprintf_s(pItem->pszText, pItem->cchTextMax, _T("%ld"), pLogEntry->Rev);\r
- // to make the child entries indented, add spaces\r
- size_t len = _tcslen(pItem->pszText);\r
- TCHAR * pBuf = pItem->pszText + len;\r
- DWORD nSpaces = m_maxChild-pLogEntry->childStackDepth;\r
- while ((pItem->cchTextMax >= (int)len)&&(nSpaces))\r
- {\r
- *pBuf = ' ';\r
- pBuf++;\r
- nSpaces--;\r
- }\r
- *pBuf = 0;\r
}\r
break;\r
- case 1: //action -- no text in the column\r
+ case this->LOGLIST_ACTION: //action -- no text in the column\r
break;\r
- case 2: //author\r
+ case this->LOGLIST_MESSAGE: //Message\r
if (pLogEntry)\r
- lstrcpyn(pItem->pszText, (LPCTSTR)pLogEntry->sAuthor, pItem->cchTextMax);\r
+ lstrcpyn(pItem->pszText, (LPCTSTR)pLogEntry->m_Subject, pItem->cchTextMax);\r
break;\r
- case 3: //date\r
+ case this->LOGLIST_AUTHOR: //Author\r
if (pLogEntry)\r
- lstrcpyn(pItem->pszText, (LPCTSTR)pLogEntry->sDate, pItem->cchTextMax);\r
+ lstrcpyn(pItem->pszText, (LPCTSTR)pLogEntry->m_AuthorName, pItem->cchTextMax);\r
break;\r
- case 4: //message or bug id\r
- if (m_bShowBugtraqColumn)\r
- {\r
- if (pLogEntry)\r
- lstrcpyn(pItem->pszText, (LPCTSTR)pLogEntry->sBugIDs, pItem->cchTextMax);\r
- break;\r
- }\r
- // fall through here!\r
- case 5:\r
+ case this->LOGLIST_DATE: //Date\r
if (pLogEntry)\r
- {\r
- // Add as many characters as possible from the short log message\r
- // to the list control. If the message is longer than\r
- // allowed width, add "..." as an indication.\r
- const int dots_len = 3;\r
- if (pLogEntry->sShortMessage.GetLength() >= pItem->cchTextMax && pItem->cchTextMax > dots_len)\r
- {\r
- lstrcpyn(pItem->pszText, (LPCTSTR)pLogEntry->sShortMessage, pItem->cchTextMax - dots_len);\r
- lstrcpyn(pItem->pszText + pItem->cchTextMax - dots_len - 1, _T("..."), dots_len + 1);\r
- }\r
- else\r
- lstrcpyn(pItem->pszText, (LPCTSTR)pLogEntry->sShortMessage, pItem->cchTextMax);\r
- }\r
- else if ((itemid == m_arShownList.GetCount()) && m_bStrict && m_bStrictStopped)\r
- {\r
- CString sTemp;\r
- sTemp.LoadString(IDS_LOG_STOPONCOPY_HINT);\r
- lstrcpyn(pItem->pszText, sTemp, pItem->cchTextMax);\r
- }\r
+ lstrcpyn(pItem->pszText, (LPCTSTR)pLogEntry->m_AuthorDate.Format(_T("%Y-%m-%d %H:%M")), pItem->cchTextMax);\r
+ break;\r
+ \r
+ case 5:\r
+\r
break;\r
default:\r
ASSERT(false);\r
\r
void CLogDlg::OnLvnGetdispinfoChangedFileList(NMHDR *pNMHDR, LRESULT *pResult)\r
{\r
+\r
NMLVDISPINFO *pDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);\r
\r
//Create a pointer to the item\r
lstrcpyn(pItem->pszText, _T(""), pItem->cchTextMax);\r
return;\r
}\r
- LogChangedPath * lcpath = NULL;\r
+ CTGitPath lcpath = NULL;\r
if (m_currentChangedArray)\r
- lcpath = m_currentChangedArray->GetAt(pItem->iItem);\r
+ lcpath = (*m_currentChangedArray)[pItem->iItem];\r
//Does the list need text information?\r
if (pItem->mask & LVIF_TEXT)\r
{\r
//Which column?\r
switch (pItem->iSubItem)\r
{\r
- case 0: //Action\r
+ case this->FILELIST_ACTION: //Action\r
+#if 0\r
if (lcpath)\r
lstrcpyn(pItem->pszText, (LPCTSTR)lcpath->GetAction(), pItem->cchTextMax);\r
else\r
lstrcpyn(pItem->pszText, _T(""), pItem->cchTextMax); \r
+#endif\r
+ lstrcpyn(pItem->pszText, (LPCTSTR)lcpath.GetActionName(), pItem->cchTextMax);\r
+\r
break;\r
- case 1: //path\r
+\r
+ case this->FILELIST_ADD: //add\r
+#if 0\r
if (lcpath)\r
lstrcpyn(pItem->pszText, (LPCTSTR)lcpath->sPath, pItem->cchTextMax);\r
else\r
- lstrcpyn(pItem->pszText, (LPCTSTR)m_currentChangedPathList[pItem->iItem].GetSVNPathString(), pItem->cchTextMax);\r
+ lstrcpyn(pItem->pszText, (LPCTSTR)m_currentChangedPathList[pItem->iItem].GetGitPathString(), pItem->cchTextMax);\r
+#endif\r
+ lstrcpyn(pItem->pszText, (LPCTSTR)lcpath.m_StatAdd, pItem->cchTextMax);\r
break;\r
- case 2: //copyfrom path\r
+\r
+ case this->FILELIST_DEL: //del\r
+#if 0\r
if (lcpath)\r
lstrcpyn(pItem->pszText, (LPCTSTR)lcpath->sCopyFromPath, pItem->cchTextMax);\r
else\r
lstrcpyn(pItem->pszText, _T(""), pItem->cchTextMax);\r
+#endif\r
+ lstrcpyn(pItem->pszText, (LPCTSTR)lcpath.m_StatDel, pItem->cchTextMax);\r
break;\r
- case 3: //revision\r
+ case this->FILELIST_PATH: //path\r
+#if 0\r
if ((lcpath==NULL)||(lcpath->sCopyFromPath.IsEmpty()))\r
lstrcpyn(pItem->pszText, _T(""), pItem->cchTextMax);\r
else\r
_stprintf_s(pItem->pszText, pItem->cchTextMax, _T("%ld"), lcpath->lCopyFromRev);\r
+#endif\r
+ lstrcpyn(pItem->pszText, (LPCTSTR)lcpath.GetGitPathString(), pItem->cchTextMax);\r
break;\r
}\r
}\r
\r
void CLogDlg::OnEnChangeSearchedit()\r
{\r
+#if 0\r
UpdateData();\r
if (m_sFilterText.IsEmpty())\r
{\r
SetTimer(LOGFILTER_TIMER, 1000, NULL);\r
else\r
KillTimer(LOGFILTER_TIMER);\r
+#endif\r
}\r
\r
bool CLogDlg::ValidateRegexp(LPCTSTR regexp_str, tr1::wregex& pat, bool bMatchCase /* = false */)\r
\r
void CLogDlg::RecalculateShownList(CPtrArray * pShownlist)\r
{\r
+#if 0\r
pShownlist->RemoveAll();\r
tr1::wregex pat;//(_T("Remove"), tr1::regex_constants::icase);\r
bool bRegex = false;\r
}\r
} // else (from if (bRegex)) \r
} // for (DWORD i=0; i<m_logEntries.size(); ++i) \r
-\r
+#endif\r
}\r
\r
void CLogDlg::OnTimer(UINT_PTR nIDEvent)\r
\r
BOOL CLogDlg::IsEntryInDateRange(int i)\r
{\r
+#if 0\r
__time64_t time = m_logEntries[i]->tmDate;\r
if ((time >= m_tFrom)&&(time <= m_tTo))\r
return TRUE;\r
+#endif\r
return FALSE;\r
+\r
}\r
\r
-CTSVNPathList CLogDlg::GetChangedPathsFromSelectedRevisions(bool bRelativePaths /* = false */, bool bUseFilter /* = true */)\r
+CTGitPathList CLogDlg::GetChangedPathsFromSelectedRevisions(bool bRelativePaths /* = false */, bool bUseFilter /* = true */)\r
{\r
- CTSVNPathList pathList;\r
+ CTGitPathList pathList;\r
+#if 0\r
+ \r
if (m_sRepositoryRoot.IsEmpty() && (bRelativePaths == false))\r
{\r
m_sRepositoryRoot = GetRepositoryRoot(m_path);\r
LogChangedPath * cpath = cpatharray->GetAt(cpPathIndex);\r
if (cpath == NULL)\r
continue;\r
- CTSVNPath path;\r
+ CTGitPath path;\r
if (!bRelativePaths)\r
- path.SetFromSVN(m_sRepositoryRoot);\r
+ path.SetFromGit(m_sRepositoryRoot);\r
path.AppendPathString(cpath->sPath);\r
if ((!bUseFilter)||\r
((m_cHidePaths.GetState() & 0x0003)!=BST_CHECKED)||\r
}\r
}\r
pathList.RemoveDuplicates();\r
+#endif\r
return pathList;\r
}\r
\r
void CLogDlg::SortByColumn(int nSortColumn, bool bAscending)\r
{\r
+#if 0\r
switch(nSortColumn)\r
{\r
case 0: // Revision\r
ATLASSERT(0);\r
break;\r
}\r
+#endif\r
}\r
\r
void CLogDlg::OnLvnColumnclick(NMHDR *pNMHDR, LRESULT *pResult)\r
const int nColumn = pNMLV->iSubItem;\r
m_bAscendingPathList = nColumn == m_nSortColumnPathList ? !m_bAscendingPathList : TRUE;\r
m_nSortColumnPathList = nColumn;\r
- qsort(m_currentChangedArray->GetData(), m_currentChangedArray->GetSize(), sizeof(LogChangedPath*), (GENERICCOMPAREFN)SortCompare);\r
+// qsort(m_currentChangedArray->GetData(), m_currentChangedArray->GetSize(), sizeof(LogChangedPath*), (GENERICCOMPAREFN)SortCompare);\r
\r
SetSortArrow(&m_ChangedFileListCtrl, m_nSortColumnPathList, m_bAscendingPathList);\r
m_ChangedFileListCtrl.Invalidate();\r
\r
int CLogDlg::SortCompare(const void * pElem1, const void * pElem2)\r
{\r
+#if 0\r
LogChangedPath * cpath1 = *((LogChangedPath**)pElem1);\r
LogChangedPath * cpath2 = *((LogChangedPath**)pElem2);\r
\r
case 3: // copy from revision\r
return cpath2->lCopyFromRev > cpath1->lCopyFromRev;\r
}\r
+#endif\r
return 0;\r
}\r
\r
void CLogDlg::ResizeAllListCtrlCols()\r
{\r
+\r
const int nMinimumWidth = ICONITEMBORDER+16*4;\r
int maxcol = ((CHeaderCtrl*)(m_LogList.GetDlgItem(0)))->GetItemCount()-1;\r
int nItemCount = m_LogList.GetItemCount();\r
int linewidth = m_LogList.GetStringWidth(m_LogList.GetItemText(index, col)) + 14;\r
if (index < m_arShownList.GetCount())\r
{\r
- PLOGENTRYDATA pCurLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(index));\r
- if ((pCurLogEntry)&&(pCurLogEntry->Rev == m_wcRev))\r
+ GitRev * pCurLogEntry = reinterpret_cast<GitRev*>(m_arShownList.GetAt(index));\r
+ if ((pCurLogEntry)&&(pCurLogEntry->m_CommitHash == m_wcRev.m_CommitHash))\r
{\r
// set the bold font and ask for the string width again\r
m_LogList.SendMessage(WM_SETFONT, (WPARAM)m_boldFont, NULL);\r
cx = linewidth;\r
}\r
// Adjust columns "Actions" containing icons\r
- if (col == 1)\r
+ if (col == this->LOGLIST_ACTION)\r
{\r
if (cx < nMinimumWidth)\r
{\r
}\r
}\r
\r
+ if (col == this->LOGLIST_MESSAGE)\r
+ {\r
+ if (cx > LOGLIST_MESSAGE_MAX)\r
+ {\r
+ cx = LOGLIST_MESSAGE_MAX;\r
+ }\r
+\r
+ }\r
// keep the bug id column small\r
if ((col == 4)&&(m_bShowBugtraqColumn))\r
{\r
m_LogList.SetColumnWidth(col, cx);\r
}\r
}\r
+\r
}\r
\r
void CLogDlg::OnBnClickedHidepaths()\r
return;\r
if (pFindInfo->lvfi.psz == 0)\r
return;\r
- \r
+#if 0\r
CString sCmp = pFindInfo->lvfi.psz;\r
CString sRev; \r
for (int i=pFindInfo->iStart; i<m_arShownList.GetCount(); ++i)\r
{\r
- PLOGENTRYDATA pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(i));\r
+ GitRev * pLogEntry = reinterpret_cast<GitRev*>(m_arShownList.GetAt(i));\r
sRev.Format(_T("%ld"), pLogEntry->Rev);\r
if (pFindInfo->lvfi.flags & LVFI_PARTIAL)\r
{\r
}\r
}\r
}\r
-\r
+#endif\r
*pResult = -1;\r
}\r
\r
void CLogDlg::OnBnClickedCheckStoponcopy()\r
{\r
+#if 0\r
if (!GetDlgItem(IDC_GETALL)->IsWindowEnabled())\r
return;\r
\r
m_endrev = 0;\r
\r
// now, restart the query\r
-\r
+#endif\r
Refresh();\r
}\r
\r
void CLogDlg::OnBnClickedIncludemerge()\r
{\r
+#if 0\r
m_endrev = 0;\r
\r
m_limit = 0;\r
+#endif\r
Refresh();\r
}\r
\r
void CLogDlg::UpdateLogInfoLabel()\r
{\r
- svn_revnum_t rev1 = 0;\r
- svn_revnum_t rev2 = 0;\r
+#if 0\r
+ git_revnum_t rev1 = 0;\r
+ git_revnum_t rev2 = 0;\r
long selectedrevs = 0;\r
if (m_arShownList.GetCount())\r
{\r
CString sTemp;\r
sTemp.Format(IDS_LOG_LOGINFOSTRING, m_arShownList.GetCount(), rev2, rev1, selectedrevs);\r
m_sLogInfo = sTemp;\r
+#endif\r
UpdateData(FALSE);\r
}\r
\r
void CLogDlg::ShowContextMenuForRevisions(CWnd* /*pWnd*/, CPoint point)\r
{\r
+\r
int selIndex = m_LogList.GetSelectionMark();\r
if (selIndex < 0)\r
return; // nothing selected, nothing to do with a context menu\r
m_bCancelled = FALSE;\r
\r
// calculate some information the context menu commands can use\r
- CString pathURL = GetURLFromPath(m_path);\r
+// CString pathURL = GetURLFromPath(m_path);\r
+\r
POSITION pos = m_LogList.GetFirstSelectedItemPosition();\r
int indexNext = m_LogList.GetNextSelectedItem(pos);\r
if (indexNext < 0)\r
return;\r
- PLOGENTRYDATA pSelLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(indexNext));\r
- SVNRev revSelected = pSelLogEntry->Rev;\r
- SVNRev revPrevious = svn_revnum_t(revSelected)-1;\r
+\r
+ GitRev* pSelLogEntry = reinterpret_cast<GitRev*>(m_arShownList.GetAt(indexNext));\r
+#if 0\r
+ GitRev revSelected = pSelLogEntry->Rev;\r
+ GitRev revPrevious = git_revnum_t(revSelected)-1;\r
if ((pSelLogEntry->pArChangedPaths)&&(pSelLogEntry->pArChangedPaths->GetCount() <= 2))\r
{\r
for (int i=0; i<pSelLogEntry->pArChangedPaths->GetCount(); ++i)\r
revPrevious = changedpath->lCopyFromRev;\r
}\r
}\r
- SVNRev revSelected2;\r
+ GitRev revSelected2;\r
if (pos)\r
{\r
PLOGENTRYDATA pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(m_LogList.GetNextSelectedItem(pos)));\r
bool bAllFromTheSameAuthor = true;\r
CString firstAuthor;\r
CLogDataVector selEntries;\r
- SVNRev revLowest, revHighest;\r
- SVNRevRangeArray revisionRanges;\r
+ GitRev revLowest, revHighest;\r
+ GitRevRangeArray revisionRanges;\r
{\r
POSITION pos = m_LogList.GetFirstSelectedItemPosition();\r
PLOGENTRYDATA pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(m_LogList.GetNextSelectedItem(pos)));\r
selEntries.push_back(pLogEntry);\r
if (firstAuthor.Compare(pLogEntry->sAuthor))\r
bAllFromTheSameAuthor = false;\r
- revLowest = (svn_revnum_t(pLogEntry->Rev) > svn_revnum_t(revLowest) ? revLowest : pLogEntry->Rev);\r
- revHighest = (svn_revnum_t(pLogEntry->Rev) < svn_revnum_t(revHighest) ? revHighest : pLogEntry->Rev);\r
+ revLowest = (git_revnum_t(pLogEntry->Rev) > git_revnum_t(revLowest) ? revLowest : pLogEntry->Rev);\r
+ revHighest = (git_revnum_t(pLogEntry->Rev) < git_revnum_t(revHighest) ? revHighest : pLogEntry->Rev);\r
}\r
}\r
\r
+#endif\r
\r
-\r
+ int FirstSelect=-1, LastSelect=-1;\r
+ pos = m_LogList.GetFirstSelectedItemPosition();\r
+ FirstSelect = m_LogList.GetNextSelectedItem(pos);\r
+ while(pos)\r
+ {\r
+ LastSelect = m_LogList.GetNextSelectedItem(pos);\r
+ }\r
//entry is selected, now show the popup menu\r
CIconMenu popup;\r
if (popup.CreatePopupMenu())\r
{\r
if (m_LogList.GetSelectedCount() == 1)\r
{\r
+#if 0\r
if (!m_path.IsDirectory())\r
{\r
if (m_hasWC)\r
popup.AppendMenu(MF_SEPARATOR, NULL);\r
}\r
else\r
+#endif \r
{\r
if (m_hasWC)\r
{\r
popup.AppendMenuIcon(ID_BLAMEWITHPREVIOUS, IDS_LOG_POPUP_BLAMEWITHPREVIOUS, IDI_BLAME);\r
popup.AppendMenu(MF_SEPARATOR, NULL);\r
}\r
- if (!m_ProjectProperties.sWebViewerRev.IsEmpty())\r
- {\r
- popup.AppendMenuIcon(ID_VIEWREV, IDS_LOG_POPUP_VIEWREV);\r
- }\r
- if (!m_ProjectProperties.sWebViewerPathRev.IsEmpty())\r
- {\r
- popup.AppendMenuIcon(ID_VIEWPATHREV, IDS_LOG_POPUP_VIEWPATHREV);\r
- }\r
- if ((!m_ProjectProperties.sWebViewerPathRev.IsEmpty())||\r
- (!m_ProjectProperties.sWebViewerRev.IsEmpty()))\r
- {\r
- popup.AppendMenu(MF_SEPARATOR, NULL);\r
- }\r
\r
- popup.AppendMenuIcon(ID_REPOBROWSE, IDS_LOG_BROWSEREPO, IDI_REPOBROWSE);\r
- popup.AppendMenuIcon(ID_COPY, IDS_LOG_POPUP_COPY);\r
- if (m_hasWC)\r
- popup.AppendMenuIcon(ID_UPDATE, IDS_LOG_POPUP_UPDATE, IDI_UPDATE);\r
+// if (!m_ProjectProperties.sWebViewerRev.IsEmpty())\r
+// {\r
+// popup.AppendMenuIcon(ID_VIEWREV, IDS_LOG_POPUP_VIEWREV);\r
+// }\r
+// if (!m_ProjectProperties.sWebViewerPathRev.IsEmpty())\r
+// {\r
+// popup.AppendMenuIcon(ID_VIEWPATHREV, IDS_LOG_POPUP_VIEWPATHREV);\r
+// }\r
+// if ((!m_ProjectProperties.sWebViewerPathRev.IsEmpty())||\r
+// (!m_ProjectProperties.sWebViewerRev.IsEmpty()))\r
+// {\r
+// popup.AppendMenu(MF_SEPARATOR, NULL);\r
+// }\r
+\r
+// popup.AppendMenuIcon(ID_REPOBROWSE, IDS_LOG_BROWSEREPO, IDI_REPOBROWSE);\r
+// popup.AppendMenuIcon(ID_COPY, IDS_LOG_POPUP_COPY);\r
+// if (m_hasWC)\r
+// popup.AppendMenuIcon(ID_UPDATE, IDS_LOG_POPUP_UPDATE, IDI_UPDATE);\r
if (m_hasWC)\r
popup.AppendMenuIcon(ID_REVERTTOREV, IDS_LOG_POPUP_REVERTTOREV, IDI_REVERT);\r
if (m_hasWC)\r
popup.AppendMenuIcon(ID_REVERTREV, IDS_LOG_POPUP_REVERTREV, IDI_REVERT);\r
- if (m_hasWC)\r
- popup.AppendMenuIcon(ID_MERGEREV, IDS_LOG_POPUP_MERGEREV, IDI_MERGE);\r
+// if (m_hasWC)\r
+// popup.AppendMenuIcon(ID_MERGEREV, IDS_LOG_POPUP_MERGEREV, IDI_MERGE);\r
popup.AppendMenuIcon(ID_CHECKOUT, IDS_MENUCHECKOUT, IDI_CHECKOUT);\r
popup.AppendMenuIcon(ID_EXPORT, IDS_MENUEXPORT, IDI_EXPORT);\r
popup.AppendMenu(MF_SEPARATOR, NULL);\r
if (m_hasWC)\r
{\r
popup.AppendMenuIcon(ID_REVERTREV, IDS_LOG_POPUP_REVERTREVS, IDI_REVERT);\r
- if (m_hasWC)\r
- popup.AppendMenuIcon(ID_MERGEREV, IDS_LOG_POPUP_MERGEREVS, IDI_MERGE);\r
+// if (m_hasWC)\r
+// popup.AppendMenuIcon(ID_MERGEREV, IDS_LOG_POPUP_MERGEREVS, IDI_MERGE);\r
bAddSeparator = true;\r
}\r
if (bAddSeparator)\r
popup.AppendMenu(MF_SEPARATOR, NULL);\r
}\r
-\r
- if ((selEntries.size() > 0)&&(bAllFromTheSameAuthor))\r
- {\r
- popup.AppendMenuIcon(ID_EDITAUTHOR, IDS_LOG_POPUP_EDITAUTHOR);\r
- }\r
- if (m_LogList.GetSelectedCount() == 1)\r
- {\r
- popup.AppendMenuIcon(ID_EDITLOG, IDS_LOG_POPUP_EDITLOG);\r
- popup.AppendMenuIcon(ID_REVPROPS, IDS_REPOBROWSE_SHOWREVPROP, IDI_PROPERTIES); // "Show Revision Properties"\r
- popup.AppendMenu(MF_SEPARATOR, NULL);\r
- }\r
+#if 0\r
+// if ((selEntries.size() > 0)&&(bAllFromTheSameAuthor))\r
+// {\r
+// popup.AppendMenuIcon(ID_EDITAUTHOR, IDS_LOG_POPUP_EDITAUTHOR);\r
+// }\r
+// if (m_LogList.GetSelectedCount() == 1)\r
+// {\r
+// popup.AppendMenuIcon(ID_EDITLOG, IDS_LOG_POPUP_EDITLOG);\r
+// popup.AppendMenuIcon(ID_REVPROPS, IDS_REPOBROWSE_SHOWREVPROP, IDI_PROPERTIES); // "Show Revision Properties"\r
+// popup.AppendMenu(MF_SEPARATOR, NULL);\r
+// }\r
+#endif\r
if (m_LogList.GetSelectedCount() != 0)\r
{\r
popup.AppendMenuIcon(ID_COPYCLIPBOARD, IDS_LOG_POPUP_COPYTOCLIPBOARD);\r
\r
int cmd = popup.TrackPopupMenu(TPM_RETURNCMD | TPM_LEFTALIGN | TPM_NONOTIFY, point.x, point.y, this, 0);\r
DialogEnableWindow(IDOK, FALSE);\r
- SetPromptApp(&theApp);\r
+// SetPromptApp(&theApp);\r
theApp.DoWaitCursor(1);\r
bool bOpenWith = false;\r
+\r
switch (cmd)\r
{\r
+ case ID_GNUDIFF1:\r
+ {\r
+// if (PromptShown())\r
+// {\r
+// GitDiff diff(this, this->m_hWnd, true);\r
+// diff.SetHEADPeg(m_LogRevision);\r
+// diff.ShowUnifiedDiff(m_path, revPrevious, m_path, revSelected);\r
+// }\r
+// else\r
+// CAppUtils::StartShowUnifiedDiff(m_hWnd, m_path, revPrevious, m_path, revSelected, GitRev(), m_LogRevision);\r
+ }\r
+ break;\r
+\r
+ case ID_GNUDIFF2:\r
+ {\r
+// if (PromptShown())\r
+// {\r
+// GitDiff diff(this, this->m_hWnd, true);\r
+// diff.SetHEADPeg(m_LogRevision);\r
+// diff.ShowUnifiedDiff(m_path, revSelected2, m_path, revSelected);\r
+// }\r
+// else\r
+// CAppUtils::StartShowUnifiedDiff(m_hWnd, m_path, revSelected2, m_path, revSelected, GitRev(), m_LogRevision);\r
+ }\r
+ break;\r
+\r
+ case ID_COMPARETWO:\r
+ {\r
+ //GitRev * r1 = reinterpret_cast<GitRev*>((*m_arShownList)[FirstSelect]);\r
+ //GitRev * r2 = reinterpret_cast<GitRev*>((*m_arShownList)[LastSelect]);\r
+ //if (m_LogList.GetSelectedCount() > 2)\r
+ //{\r
+ // r1 = revHighest;\r
+ // r2 = revLowest;\r
+ //}\r
+ //user clicked on the menu item "compare revisions"\r
+ //if (PromptShown())\r
+ //{\r
+ // GitDiff diff(this, m_hWnd, true);\r
+ // diff.SetAlternativeTool(!!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
+ // diff.SetHEADPeg(m_LogRevision);\r
+ // diff.ShowCompare(CTGitPath(pathURL), r2, CTGitPath(pathURL), r1);\r
+ //}\r
+ //else\r
+ // CAppUtils::StartShowCompare(m_hWnd, CTGitPath(pathURL), r2, CTGitPath(pathURL), r1, GitRev(), m_LogRevision, !!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
+ }\r
+ break;\r
+\r
+#if 0\r
case ID_GNUDIFF1:\r
{\r
if (PromptShown())\r
{\r
- SVNDiff diff(this, this->m_hWnd, true);\r
+ GitDiff diff(this, this->m_hWnd, true);\r
diff.SetHEADPeg(m_LogRevision);\r
diff.ShowUnifiedDiff(m_path, revPrevious, m_path, revSelected);\r
}\r
else\r
- CAppUtils::StartShowUnifiedDiff(m_hWnd, m_path, revPrevious, m_path, revSelected, SVNRev(), m_LogRevision);\r
+ CAppUtils::StartShowUnifiedDiff(m_hWnd, m_path, revPrevious, m_path, revSelected, GitRev(), m_LogRevision);\r
}\r
break;\r
+\r
case ID_GNUDIFF2:\r
{\r
if (PromptShown())\r
{\r
- SVNDiff diff(this, this->m_hWnd, true);\r
+ GitDiff diff(this, this->m_hWnd, true);\r
diff.SetHEADPeg(m_LogRevision);\r
diff.ShowUnifiedDiff(m_path, revSelected2, m_path, revSelected);\r
}\r
else\r
- CAppUtils::StartShowUnifiedDiff(m_hWnd, m_path, revSelected2, m_path, revSelected, SVNRev(), m_LogRevision);\r
+ CAppUtils::StartShowUnifiedDiff(m_hWnd, m_path, revSelected2, m_path, revSelected, GitRev(), m_LogRevision);\r
}\r
break;\r
case ID_REVERTREV:\r
{\r
CString strMessage;\r
strMessage.Format(IDS_ERR_NOURLOFFILE, (LPCTSTR)(m_path.GetUIPathString()));\r
- CMessageBox::Show(this->m_hWnd, strMessage, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, strMessage, _T("TortoiseGit"), MB_ICONERROR);\r
TRACE(_T("could not retrieve the URL of the folder!\n"));\r
break; //exit\r
}\r
CString msg;\r
msg.Format(IDS_LOG_REVERT_CONFIRM, m_path.GetWinPath());\r
- if (CMessageBox::Show(this->m_hWnd, msg, _T("TortoiseSVN"), MB_YESNO | MB_ICONQUESTION) == IDYES)\r
+ if (CMessageBox::Show(this->m_hWnd, msg, _T("TortoiseGit"), MB_YESNO | MB_ICONQUESTION) == IDYES)\r
{\r
- CSVNProgressDlg dlg;\r
- dlg.SetCommand(CSVNProgressDlg::SVNProgress_Merge);\r
- dlg.SetPathList(CTSVNPathList(m_path));\r
+ CGitProgressDlg dlg;\r
+ dlg.SetCommand(CGitProgressDlg::GitProgress_Merge);\r
+ dlg.SetPathList(CTGitPathList(m_path));\r
dlg.SetUrl(pathURL);\r
dlg.SetSecondUrl(pathURL);\r
revisionRanges.AdjustForMerge(true);\r
{\r
CString strMessage;\r
strMessage.Format(IDS_ERR_NOURLOFFILE, (LPCTSTR)(m_path.GetUIPathString()));\r
- CMessageBox::Show(this->m_hWnd, strMessage, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, strMessage, _T("TortoiseGit"), MB_ICONERROR);\r
TRACE(_T("could not retrieve the URL of the folder!\n"));\r
break; //exit\r
}\r
}\r
if (bGotSavePath)\r
{\r
- CSVNProgressDlg dlg;\r
- dlg.SetCommand(CSVNProgressDlg::SVNProgress_Merge);\r
- dlg.SetPathList(CTSVNPathList(CTSVNPath(path)));\r
+ CGitProgressDlg dlg;\r
+ dlg.SetCommand(CGitProgressDlg::GitProgress_Merge);\r
+ dlg.SetPathList(CTGitPathList(CTGitPath(path)));\r
dlg.SetUrl(pathURL);\r
dlg.SetSecondUrl(pathURL);\r
revisionRanges.AdjustForMerge(false);\r
{\r
CString strMessage;\r
strMessage.Format(IDS_ERR_NOURLOFFILE, (LPCTSTR)(m_path.GetUIPathString()));\r
- CMessageBox::Show(this->m_hWnd, strMessage, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, strMessage, _T("TortoiseGit"), MB_ICONERROR);\r
TRACE(_T("could not retrieve the URL of the folder!\n"));\r
break; //exit\r
}\r
\r
CString msg;\r
msg.Format(IDS_LOG_REVERTTOREV_CONFIRM, m_path.GetWinPath());\r
- if (CMessageBox::Show(this->m_hWnd, msg, _T("TortoiseSVN"), MB_YESNO | MB_ICONQUESTION) == IDYES)\r
+ if (CMessageBox::Show(this->m_hWnd, msg, _T("TortoiseGit"), MB_YESNO | MB_ICONQUESTION) == IDYES)\r
{\r
- CSVNProgressDlg dlg;\r
- dlg.SetCommand(CSVNProgressDlg::SVNProgress_Merge);\r
- dlg.SetPathList(CTSVNPathList(m_path));\r
+ CGitProgressDlg dlg;\r
+ dlg.SetCommand(CGitProgressDlg::GitProgress_Merge);\r
+ dlg.SetPathList(CTGitPathList(m_path));\r
dlg.SetUrl(pathURL);\r
dlg.SetSecondUrl(pathURL);\r
- SVNRevRangeArray revarray;\r
- revarray.AddRevRange(SVNRev::REV_HEAD, revSelected);\r
+ GitRevRangeArray revarray;\r
+ revarray.AddRevRange(GitRev::REV_HEAD, revSelected);\r
dlg.SetRevisionRanges(revarray);\r
dlg.SetPegRevision(m_LogRevision);\r
dlg.DoModal();\r
{\r
CString strMessage;\r
strMessage.Format(IDS_ERR_NOURLOFFILE, (LPCTSTR)(m_path.GetUIPathString()));\r
- CMessageBox::Show(this->m_hWnd, strMessage, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, strMessage, _T("TortoiseGit"), MB_ICONERROR);\r
TRACE(_T("could not retrieve the URL of the folder!\n"));\r
break; //exit\r
}\r
{\r
// should we show a progress dialog here? Copies are done really fast\r
// and without much network traffic.\r
- if (!Copy(CTSVNPathList(CTSVNPath(pathURL)), CTSVNPath(dlg.m_URL), dlg.m_CopyRev, dlg.m_CopyRev, dlg.m_sLogMessage))\r
- CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR);\r
+ if (!Copy(CTGitPathList(CTGitPath(pathURL)), CTGitPath(dlg.m_URL), dlg.m_CopyRev, dlg.m_CopyRev, dlg.m_sLogMessage))\r
+ CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseGit"), MB_ICONERROR);\r
else\r
CMessageBox::Show(this->m_hWnd, IDS_LOG_COPY_SUCCESS, IDS_APPNAME, MB_ICONINFORMATION);\r
}\r
//user clicked on the menu item "compare with working copy"\r
if (PromptShown())\r
{\r
- SVNDiff diff(this, m_hWnd, true);\r
+ GitDiff diff(this, m_hWnd, true);\r
diff.SetAlternativeTool(!!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
diff.SetHEADPeg(m_LogRevision);\r
- diff.ShowCompare(m_path, SVNRev::REV_WC, m_path, revSelected);\r
+ diff.ShowCompare(m_path, GitRev::REV_WC, m_path, revSelected);\r
}\r
else\r
- CAppUtils::StartShowCompare(m_hWnd, m_path, SVNRev::REV_WC, m_path, revSelected, SVNRev(), m_LogRevision, !!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
+ CAppUtils::StartShowCompare(m_hWnd, m_path, GitRev::REV_WC, m_path, revSelected, GitRev(), m_LogRevision, !!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
}\r
break;\r
case ID_COMPARETWO:\r
{\r
- SVNRev r1 = revSelected;\r
- SVNRev r2 = revSelected2;\r
+ GitRev r1 = revSelected;\r
+ GitRev r2 = revSelected2;\r
if (m_LogList.GetSelectedCount() > 2)\r
{\r
r1 = revHighest;\r
//user clicked on the menu item "compare revisions"\r
if (PromptShown())\r
{\r
- SVNDiff diff(this, m_hWnd, true);\r
+ GitDiff diff(this, m_hWnd, true);\r
diff.SetAlternativeTool(!!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
diff.SetHEADPeg(m_LogRevision);\r
- diff.ShowCompare(CTSVNPath(pathURL), r2, CTSVNPath(pathURL), r1);\r
+ diff.ShowCompare(CTGitPath(pathURL), r2, CTGitPath(pathURL), r1);\r
}\r
else\r
- CAppUtils::StartShowCompare(m_hWnd, CTSVNPath(pathURL), r2, CTSVNPath(pathURL), r1, SVNRev(), m_LogRevision, !!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
+ CAppUtils::StartShowCompare(m_hWnd, CTGitPath(pathURL), r2, CTGitPath(pathURL), r1, GitRev(), m_LogRevision, !!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
}\r
break;\r
case ID_COMPAREWITHPREVIOUS:\r
{\r
if (PromptShown())\r
{\r
- SVNDiff diff(this, m_hWnd, true);\r
+ GitDiff diff(this, m_hWnd, true);\r
diff.SetAlternativeTool(!!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
diff.SetHEADPeg(m_LogRevision);\r
- diff.ShowCompare(CTSVNPath(pathURL), revPrevious, CTSVNPath(pathURL), revSelected);\r
+ diff.ShowCompare(CTGitPath(pathURL), revPrevious, CTGitPath(pathURL), revSelected);\r
}\r
else\r
- CAppUtils::StartShowCompare(m_hWnd, CTSVNPath(pathURL), revPrevious, CTSVNPath(pathURL), revSelected, SVNRev(), m_LogRevision, !!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
+ CAppUtils::StartShowCompare(m_hWnd, CTGitPath(pathURL), revPrevious, CTGitPath(pathURL), revSelected, GitRev(), m_LogRevision, !!(GetAsyncKeyState(VK_SHIFT) & 0x8000));\r
}\r
break;\r
case ID_BLAMECOMPARE:\r
//now first get the revision which is selected\r
if (PromptShown())\r
{\r
- SVNDiff diff(this, this->m_hWnd, true);\r
+ GitDiff diff(this, this->m_hWnd, true);\r
diff.SetHEADPeg(m_LogRevision);\r
- diff.ShowCompare(m_path, SVNRev::REV_BASE, m_path, revSelected, SVNRev(), false, true);\r
+ diff.ShowCompare(m_path, GitRev::REV_BASE, m_path, revSelected, GitRev(), false, true);\r
}\r
else\r
- CAppUtils::StartShowCompare(m_hWnd, m_path, SVNRev::REV_BASE, m_path, revSelected, SVNRev(), m_LogRevision, false, false, true);\r
+ CAppUtils::StartShowCompare(m_hWnd, m_path, GitRev::REV_BASE, m_path, revSelected, GitRev(), m_LogRevision, false, false, true);\r
}\r
break;\r
case ID_BLAMETWO:\r
//user clicked on the menu item "compare and blame revisions"\r
if (PromptShown())\r
{\r
- SVNDiff diff(this, this->m_hWnd, true);\r
+ GitDiff diff(this, this->m_hWnd, true);\r
diff.SetHEADPeg(m_LogRevision);\r
- diff.ShowCompare(CTSVNPath(pathURL), revSelected2, CTSVNPath(pathURL), revSelected, SVNRev(), false, true);\r
+ diff.ShowCompare(CTGitPath(pathURL), revSelected2, CTGitPath(pathURL), revSelected, GitRev(), false, true);\r
}\r
else\r
- CAppUtils::StartShowCompare(m_hWnd, CTSVNPath(pathURL), revSelected2, CTSVNPath(pathURL), revSelected, SVNRev(), m_LogRevision, false, false, true);\r
+ CAppUtils::StartShowCompare(m_hWnd, CTGitPath(pathURL), revSelected2, CTGitPath(pathURL), revSelected, GitRev(), m_LogRevision, false, false, true);\r
}\r
break;\r
case ID_BLAMEWITHPREVIOUS:\r
//user clicked on the menu item "Compare and Blame with previous revision"\r
if (PromptShown())\r
{\r
- SVNDiff diff(this, this->m_hWnd, true);\r
+ GitDiff diff(this, this->m_hWnd, true);\r
diff.SetHEADPeg(m_LogRevision);\r
- diff.ShowCompare(CTSVNPath(pathURL), revPrevious, CTSVNPath(pathURL), revSelected, SVNRev(), false, true);\r
+ diff.ShowCompare(CTGitPath(pathURL), revPrevious, CTGitPath(pathURL), revSelected, GitRev(), false, true);\r
}\r
else\r
- CAppUtils::StartShowCompare(m_hWnd, CTSVNPath(pathURL), revPrevious, CTSVNPath(pathURL), revSelected, SVNRev(), m_LogRevision, false, false, true);\r
+ CAppUtils::StartShowCompare(m_hWnd, CTGitPath(pathURL), revPrevious, CTGitPath(pathURL), revSelected, GitRev(), m_LogRevision, false, false, true);\r
}\r
break;\r
case ID_SAVEAS:\r
}\r
if (CAppUtils::FileOpenSave(revFilename, NULL, IDS_LOG_POPUP_SAVE, IDS_COMMONFILEFILTER, false, m_hWnd))\r
{\r
- CTSVNPath tempfile;\r
+ CTGitPath tempfile;\r
tempfile.SetFromWin(revFilename);\r
CProgressDlg progDlg;\r
progDlg.SetTitle(IDS_APPNAME);\r
progDlg.SetLine(1, sInfoLine, true);\r
SetAndClearProgressInfo(&progDlg);\r
progDlg.ShowModeless(m_hWnd);\r
- if (!Cat(m_path, SVNRev(SVNRev::REV_HEAD), revSelected, tempfile))\r
+ if (!Cat(m_path, GitRev(GitRev::REV_HEAD), revSelected, tempfile))\r
{\r
// try again with another peg revision\r
if (!Cat(m_path, revSelected, revSelected, tempfile))\r
{\r
progDlg.Stop();\r
SetAndClearProgressInfo((HWND)NULL);\r
- CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseGit"), MB_ICONERROR);\r
EnableOKButton();\r
break;\r
}\r
progDlg.SetLine(1, sInfoLine, true);\r
SetAndClearProgressInfo(&progDlg);\r
progDlg.ShowModeless(m_hWnd);\r
- CTSVNPath tempfile = CTempFiles::Instance().GetTempFilePath(false, m_path, revSelected);\r
+ CTGitPath tempfile = CTempFiles::Instance().GetTempFilePath(false, m_path, revSelected);\r
bool bSuccess = true;\r
- if (!Cat(m_path, SVNRev(SVNRev::REV_HEAD), revSelected, tempfile))\r
+ if (!Cat(m_path, GitRev(GitRev::REV_HEAD), revSelected, tempfile))\r
{\r
bSuccess = false;\r
// try again, but with the selected revision as the peg revision\r
{\r
progDlg.Stop();\r
SetAndClearProgressInfo((HWND)NULL);\r
- CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseGit"), MB_ICONERROR);\r
EnableOKButton();\r
break;\r
}\r
}\r
else\r
{\r
- CString sParams = _T("/path:\"") + m_path.GetSVNPathString() + _T("\" ");\r
+ CString sParams = _T("/path:\"") + m_path.GetGitPathString() + _T("\" ");\r
if(!CAppUtils::LaunchTortoiseBlame(tempfile, logfile, CPathUtils::GetFileNameFromPath(m_path.GetFileOrDirectoryName()),sParams))\r
{\r
break;\r
}\r
else\r
{\r
- CMessageBox::Show(this->m_hWnd, blame.GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, blame.GetLastErrorMessage(), _T("TortoiseGit"), MB_ICONERROR);\r
}\r
}\r
}\r
case ID_UPDATE:\r
{\r
CString sCmd;\r
- CString url = _T("tsvn:")+pathURL;\r
+ CString url = _T("tgit:")+pathURL;\r
sCmd.Format(_T("%s /command:update /path:\"%s\" /rev:%ld"),\r
(LPCTSTR)(CPathUtils::GetAppDirectory()+_T("TortoiseProc.exe")),\r
(LPCTSTR)m_path.GetWinPath(), (LONG)revSelected);\r
{\r
CEditPropertiesDlg dlg;\r
dlg.SetProjectProperties(&m_ProjectProperties);\r
- CTSVNPathList escapedlist;\r
- dlg.SetPathList(CTSVNPathList(CTSVNPath(pathURL)));\r
+ CTGitPathList escapedlist;\r
+ dlg.SetPathList(CTGitPathList(CTGitPath(pathURL)));\r
dlg.SetRevision(revSelected);\r
dlg.RevProps(true);\r
dlg.DoModal();\r
case ID_CHECKOUT:\r
{\r
CString sCmd;\r
- CString url = _T("tsvn:")+pathURL;\r
+ CString url = _T("tgit:")+pathURL;\r
sCmd.Format(_T("%s /command:checkout /url:\"%s\" /revision:%ld"),\r
(LPCTSTR)(CPathUtils::GetAppDirectory()+_T("TortoiseProc.exe")),\r
(LPCTSTR)url, (LONG)revSelected);\r
case ID_VIEWPATHREV:\r
{\r
CString relurl = pathURL;\r
- CString sRoot = GetRepositoryRoot(CTSVNPath(relurl));\r
+ CString sRoot = GetRepositoryRoot(CTGitPath(relurl));\r
relurl = relurl.Mid(sRoot.GetLength());\r
CString url = m_ProjectProperties.sWebViewerPathRev;\r
url = GetAbsoluteUrlFromRelativeUrl(url);\r
ShellExecute(this->m_hWnd, _T("open"), url, NULL, NULL, SW_SHOWDEFAULT); \r
}\r
break;\r
+#endif\r
default:\r
break;\r
} // switch (cmd)\r
\r
void CLogDlg::ShowContextMenuForChangedpaths(CWnd* /*pWnd*/, CPoint point)\r
{\r
+\r
int selIndex = m_ChangedFileListCtrl.GetSelectionMark();\r
if ((point.x == -1) && (point.y == -1))\r
{\r
if (pos == NULL)\r
return; // nothing is selected, get out of here\r
\r
- PLOGENTRYDATA pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(m_LogList.GetNextSelectedItem(pos)));\r
- svn_revnum_t rev1 = pLogEntry->Rev;\r
- svn_revnum_t rev2 = rev1;\r
+ bool bOneRev = true;\r
+#if 0\r
+ GitRev * pLogEntry = reinterpret_cast<GitRev *>(m_arShownList.GetAt(m_LogList.GetNextSelectedItem(pos)));\r
+ git_revnum_t rev1 = pLogEntry;\r
+ git_revnum_t rev2 = rev1;\r
bool bOneRev = true;\r
if (pos)\r
{\r
pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(m_LogList.GetNextSelectedItem(pos)));\r
if (pLogEntry)\r
{\r
- rev1 = max(rev1,(svn_revnum_t)pLogEntry->Rev);\r
- rev2 = min(rev2,(svn_revnum_t)pLogEntry->Rev);\r
+ rev1 = max(rev1,(git_revnum_t)pLogEntry->Rev);\r
+ rev2 = min(rev2,(git_revnum_t)pLogEntry->Rev);\r
bOneRev = false;\r
} \r
}\r
while (pos)\r
{\r
int nItem = m_ChangedFileListCtrl.GetNextSelectedItem(pos);\r
- changedpaths.push_back(m_currentChangedPathList[nItem].GetSVNPathString());\r
+ changedpaths.push_back(m_currentChangedPathList[nItem].GetGitPathString());\r
}\r
}\r
else\r
{\r
// if the path was modified but the parent path was 'added with history'\r
// then we have to use the copy from revision of the parent path\r
- CTSVNPath cpath = CTSVNPath(changedlogpath->sPath);\r
+ CTGitPath cpath = CTGitPath(changedlogpath->sPath);\r
for (int flist = 0; flist < pLogEntry->pArChangedPaths->GetCount(); ++flist)\r
{\r
- CTSVNPath p = CTSVNPath(pLogEntry->pArChangedPaths->GetAt(flist)->sPath);\r
+ CTGitPath p = CTGitPath(pLogEntry->pArChangedPaths->GetAt(flist)->sPath);\r
if (p.IsAncestorOf(cpath))\r
{\r
if (!pLogEntry->pArChangedPaths->GetAt(flist)->sCopyFromPath.IsEmpty())\r
}\r
}\r
}\r
-\r
+#endif\r
//entry is selected, now show the popup menu\r
CIconMenu popup;\r
if (popup.CreatePopupMenu())\r
bool bEntryAdded = false;\r
if (m_ChangedFileListCtrl.GetSelectedCount() == 1)\r
{\r
- if ((!bOneRev)||(IsDiffPossible(changedlogpaths[0], rev1)))\r
+// if ((!bOneRev)||(IsDiffPossible(changedlogpaths[0], rev1)))\r
{\r
popup.AppendMenuIcon(ID_DIFF, IDS_LOG_POPUP_DIFF, IDI_DIFF);\r
popup.AppendMenuIcon(ID_BLAMEDIFF, IDS_LOG_POPUP_BLAMEDIFF, IDI_BLAME);\r
popup.AppendMenuIcon(ID_GNUDIFF1, IDS_LOG_POPUP_GNUDIFF_CH, IDI_DIFF);\r
bEntryAdded = true;\r
}\r
- if (rev2 == rev1-1)\r
+// if (rev2 == rev1-1)\r
{\r
if (bEntryAdded)\r
popup.AppendMenu(MF_SEPARATOR, NULL);\r
bool bOpenWith = false;\r
bool bMergeLog = false;\r
m_bCancelled = false;\r
+#if 0\r
switch (cmd)\r
{\r
case ID_DIFF:\r
SetPromptApp(&theApp);\r
theApp.DoWaitCursor(1);\r
CString sUrl;\r
- if (SVN::PathIsURL(m_path))\r
+ if (Git::PathIsURL(m_path))\r
{\r
- sUrl = m_path.GetSVNPathString();\r
+ sUrl = m_path.GetGitPathString();\r
}\r
else\r
{\r
theApp.DoWaitCursor(-1);\r
CString temp;\r
temp.Format(IDS_ERR_NOURLOFFILE, m_path.GetWinPath());\r
- CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseGit"), MB_ICONERROR);\r
EnableOKButton();\r
theApp.DoWaitCursor(-1);\r
break; //exit\r
}\r
// find the working copy path of the selected item from the URL\r
m_bCancelled = false;\r
- CString sUrlRoot = GetRepositoryRoot(CTSVNPath(sUrl));\r
+ CString sUrlRoot = GetRepositoryRoot(CTGitPath(sUrl));\r
\r
CString fileURL = changedpaths[0];\r
fileURL = sUrlRoot + fileURL.Trim();\r
CString wcPath = m_path.GetWinPathString().Left(leftcount);\r
wcPath += fileURL.Mid(i);\r
wcPath.Replace('/', '\\');\r
- CSVNProgressDlg dlg;\r
+ CGitProgressDlg dlg;\r
if (changedlogpaths[0]->action == LOGACTIONS_DELETED)\r
{\r
// a deleted path! Since the path isn't there anymore, merge\r
// won't work. So just do a copy url->wc\r
- dlg.SetCommand(CSVNProgressDlg::SVNProgress_Copy);\r
- dlg.SetPathList(CTSVNPathList(CTSVNPath(fileURL)));\r
+ dlg.SetCommand(CGitProgressDlg::GitProgress_Copy);\r
+ dlg.SetPathList(CTGitPathList(CTGitPath(fileURL)));\r
dlg.SetUrl(wcPath);\r
dlg.SetRevision(rev2);\r
}\r
theApp.DoWaitCursor(-1);\r
break; //exit\r
}\r
- dlg.SetCommand(CSVNProgressDlg::SVNProgress_Merge);\r
- dlg.SetPathList(CTSVNPathList(CTSVNPath(wcPath)));\r
+ dlg.SetCommand(CGitProgressDlg::GitProgress_Merge);\r
+ dlg.SetPathList(CTGitPathList(CTGitPath(wcPath)));\r
dlg.SetUrl(fileURL);\r
dlg.SetSecondUrl(fileURL);\r
- SVNRevRangeArray revarray;\r
+ GitRevRangeArray revarray;\r
revarray.AddRevRange(rev1, rev2);\r
dlg.SetRevisionRanges(revarray);\r
}\r
CString msg;\r
msg.Format(IDS_LOG_REVERT_CONFIRM, (LPCTSTR)wcPath);\r
- if (CMessageBox::Show(this->m_hWnd, msg, _T("TortoiseSVN"), MB_YESNO | MB_ICONQUESTION) == IDYES)\r
+ if (CMessageBox::Show(this->m_hWnd, msg, _T("TortoiseGit"), MB_YESNO | MB_ICONQUESTION) == IDYES)\r
{\r
dlg.DoModal();\r
}\r
SetPromptApp(&theApp);\r
theApp.DoWaitCursor(1);\r
CString filepath;\r
- if (SVN::PathIsURL(m_path))\r
+ if (Git::PathIsURL(m_path))\r
{\r
- filepath = m_path.GetSVNPathString();\r
+ filepath = m_path.GetGitPathString();\r
}\r
else\r
{\r
theApp.DoWaitCursor(-1);\r
CString temp;\r
temp.Format(IDS_ERR_NOURLOFFILE, (LPCTSTR)filepath);\r
- CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseGit"), MB_ICONERROR);\r
TRACE(_T("could not retrieve the URL of the file!\n"));\r
EnableOKButton();\r
break;\r
}\r
}\r
- filepath = GetRepositoryRoot(CTSVNPath(filepath));\r
+ filepath = GetRepositoryRoot(CTGitPath(filepath));\r
filepath += changedpaths[0];\r
CPropDlg dlg;\r
dlg.m_rev = rev1;\r
- dlg.m_Path = CTSVNPath(filepath);\r
+ dlg.m_Path = CTGitPath(filepath);\r
dlg.DoModal();\r
EnableOKButton();\r
theApp.DoWaitCursor(-1);\r
SetPromptApp(&theApp);\r
theApp.DoWaitCursor(1);\r
CString filepath;\r
- if (SVN::PathIsURL(m_path))\r
+ if (Git::PathIsURL(m_path))\r
{\r
- filepath = m_path.GetSVNPathString();\r
+ filepath = m_path.GetGitPathString();\r
}\r
else\r
{\r
theApp.DoWaitCursor(-1);\r
CString temp;\r
temp.Format(IDS_ERR_NOURLOFFILE, (LPCTSTR)filepath);\r
- CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseGit"), MB_ICONERROR);\r
TRACE(_T("could not retrieve the URL of the file!\n"));\r
EnableOKButton();\r
break;\r
}\r
}\r
m_bCancelled = false;\r
- CString sRoot = GetRepositoryRoot(CTSVNPath(filepath));\r
+ CString sRoot = GetRepositoryRoot(CTGitPath(filepath));\r
// if more than one entry is selected, we save them\r
// one by one into a folder the user has selected\r
bool bTargetSelected = false;\r
- CTSVNPath TargetPath;\r
+ CTGitPath TargetPath;\r
if (m_ChangedFileListCtrl.GetSelectedCount() > 1)\r
{\r
CBrowseFolder browseFolder;\r
CString strSaveAsDirectory;\r
if (browseFolder.Show(GetSafeHwnd(), strSaveAsDirectory) == CBrowseFolder::OK) \r
{\r
- TargetPath = CTSVNPath(strSaveAsDirectory);\r
+ TargetPath = CTGitPath(strSaveAsDirectory);\r
bTargetSelected = true;\r
}\r
}\r
progDlg.SetAnimation(IDR_DOWNLOAD);\r
for (std::vector<LogChangedPath*>::iterator it = changedlogpaths.begin(); it!= changedlogpaths.end(); ++it)\r
{\r
- SVNRev getrev = ((*it)->action == LOGACTIONS_DELETED) ? rev2 : rev1;\r
+ GitRev getrev = ((*it)->action == LOGACTIONS_DELETED) ? rev2 : rev1;\r
\r
CString sInfoLine;\r
sInfoLine.Format(IDS_PROGRESSGETFILEREVISION, (LPCTSTR)filepath, (LPCTSTR)getrev.ToString());\r
SetAndClearProgressInfo(&progDlg);\r
progDlg.ShowModeless(m_hWnd);\r
\r
- CTSVNPath tempfile = TargetPath;\r
+ CTGitPath tempfile = TargetPath;\r
if (changedpaths.size() > 1)\r
{\r
// if multiple items are selected, then the TargetPath\r
// use the export command from the top pane of the log dialog.\r
}\r
filepath = sRoot + (*it)->sPath;\r
- if (!Cat(CTSVNPath(filepath), getrev, getrev, tempfile))\r
+ if (!Cat(CTGitPath(filepath), getrev, getrev, tempfile))\r
{\r
progDlg.Stop();\r
SetAndClearProgressInfo((HWND)NULL);\r
- CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, GetLastErrorMessage(), _T("TortoiseGit"), MB_ICONERROR);\r
EnableOKButton();\r
theApp.DoWaitCursor(-1);\r
break;\r
bOpenWith = true;\r
case ID_OPEN:\r
{\r
- SVNRev getrev = pLogEntry->pArChangedPaths->GetAt(selIndex)->action == LOGACTIONS_DELETED ? rev2 : rev1;\r
+ GitRev getrev = pLogEntry->pArChangedPaths->GetAt(selIndex)->action == LOGACTIONS_DELETED ? rev2 : rev1;\r
Open(bOpenWith,changedpaths[0],getrev);\r
}\r
break;\r
case ID_BLAME:\r
{\r
CString filepath;\r
- if (SVN::PathIsURL(m_path))\r
+ if (Git::PathIsURL(m_path))\r
{\r
- filepath = m_path.GetSVNPathString();\r
+ filepath = m_path.GetGitPathString();\r
}\r
else\r
{\r
theApp.DoWaitCursor(-1);\r
CString temp;\r
temp.Format(IDS_ERR_NOURLOFFILE, (LPCTSTR)filepath);\r
- CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseGit"), MB_ICONERROR);\r
TRACE(_T("could not retrieve the URL of the file!\n"));\r
EnableOKButton();\r
break;\r
}\r
}\r
- filepath = GetRepositoryRoot(CTSVNPath(filepath));\r
+ filepath = GetRepositoryRoot(CTGitPath(filepath));\r
filepath += changedpaths[0];\r
CBlameDlg dlg;\r
dlg.EndRev = rev1;\r
CBlame blame;\r
CString tempfile;\r
CString logfile;\r
- tempfile = blame.BlameToTempFile(CTSVNPath(filepath), dlg.StartRev, dlg.EndRev, dlg.EndRev, logfile, _T(""), dlg.m_bIncludeMerge, TRUE, TRUE);\r
+ tempfile = blame.BlameToTempFile(CTGitPath(filepath), dlg.StartRev, dlg.EndRev, dlg.EndRev, logfile, _T(""), dlg.m_bIncludeMerge, TRUE, TRUE);\r
if (!tempfile.IsEmpty())\r
{\r
if (dlg.m_bTextView)\r
}\r
else\r
{\r
- CMessageBox::Show(this->m_hWnd, blame.GetLastErrorMessage(), _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, blame.GetLastErrorMessage(), _T("TortoiseGit"), MB_ICONERROR);\r
}\r
}\r
}\r
SetPromptApp(&theApp);\r
theApp.DoWaitCursor(1);\r
CString filepath;\r
- if (SVN::PathIsURL(m_path))\r
+ if (Git::PathIsURL(m_path))\r
{\r
- filepath = m_path.GetSVNPathString();\r
+ filepath = m_path.GetGitPathString();\r
}\r
else\r
{\r
theApp.DoWaitCursor(-1);\r
CString temp;\r
temp.Format(IDS_ERR_NOURLOFFILE, (LPCTSTR)filepath);\r
- CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseSVN"), MB_ICONERROR);\r
+ CMessageBox::Show(this->m_hWnd, temp, _T("TortoiseGit"), MB_ICONERROR);\r
TRACE(_T("could not retrieve the URL of the file!\n"));\r
EnableOKButton();\r
break;\r
}\r
}\r
m_bCancelled = false;\r
- filepath = GetRepositoryRoot(CTSVNPath(filepath));\r
+ filepath = GetRepositoryRoot(CTGitPath(filepath));\r
filepath += changedpaths[0];\r
- svn_revnum_t logrev = rev1;\r
+ git_revnum_t logrev = rev1;\r
if (changedlogpaths[0]->action == LOGACTIONS_DELETED)\r
{\r
// if the item got deleted in this revision,\r
case ID_VIEWPATHREV:\r
{\r
PLOGENTRYDATA pLogEntry = reinterpret_cast<PLOGENTRYDATA>(m_arShownList.GetAt(m_LogList.GetSelectionMark()));\r
- SVNRev rev = pLogEntry->Rev;\r
+ GitRev rev = pLogEntry->Rev;\r
CString relurl = changedpaths[0];\r
CString url = m_ProjectProperties.sWebViewerPathRev;\r
url.Replace(_T("%REVISION%"), rev.ToString());\r
default:\r
break;\r
} // switch (cmd)\r
+#endif\r
} // if (popup.CreatePopupMenu())\r
}\r
\r
}\r
return url;\r
}\r
+\r
+\r
+int CLogDataVector::ParserFromLog()\r
+{\r
+ CString log;\r
+ GitRev rev;\r
+ g_Git.GetLog(log);\r
+\r
+ CString begin;\r
+ begin.Format(_T("#<%c>"),LOG_REV_ITEM_BEGIN);\r
+ \r
+ if(log.GetLength()==0)\r
+ return 0;\r
+ \r
+ int start=4;\r
+ int length;\r
+ int next =1;\r
+ while( next>0 )\r
+ {\r
+ next=log.Find(begin,start);\r
+ if(next >0 )\r
+ length = next - start+4;\r
+ else\r
+ length = log.GetLength()-start+4;\r
+\r
+ CString onelog =log;\r
+ onelog=log.Mid(start -4,length);\r
+ rev.ParserFromLog(onelog);\r
+ this->push_back(rev);\r
+ start = next +4;\r
+ }\r
+\r
+ return 0;\r
+}\r