From: Frank Li Date: Sat, 14 Feb 2009 13:44:57 +0000 (+0800) Subject: RebaseDlg: Show Commit List at oldest is first X-Git-Url: http://git.sourceforge.jp/view?p=tortoisegit%2FTortoiseGitJp.git;a=commitdiff_plain;h=a783509b086b7ded65898da1ad06fb4a3b5cd611 RebaseDlg: Show Commit List at oldest is first Signed-off-by: Frank Li --- diff --git a/src/TortoiseProc/GitLogListBase.cpp b/src/TortoiseProc/GitLogListBase.cpp index 584874f..e37ce97 100644 --- a/src/TortoiseProc/GitLogListBase.cpp +++ b/src/TortoiseProc/GitLogListBase.cpp @@ -90,6 +90,7 @@ CGitLogListBase::CGitLogListBase():CHintListCtrl() m_LoadingThread = NULL; m_bExitThread=FALSE; + m_IsOldFirst = FALSE; for(int i=0;i(m_arShownList.GetAt(pItem->iItem)); CString temp; - temp.Format(_T("%d"),m_arShownList.GetCount()-pItem->iItem); + if(m_IsOldFirst) + { + temp.Format(_T("%d"),pItem->iItem+1); + + }else + { + temp.Format(_T("%d"),m_arShownList.GetCount()-pItem->iItem); + } // Which column? switch (pItem->iSubItem) @@ -1315,8 +1323,16 @@ int CGitLogListBase::FillGitLog(CTGitPath *path,int info,CString *from,CString * for(unsigned int i=0;im_arShownList.Add(&m_logEntries[i]); + if(m_IsOldFirst) + { + m_logEntries[m_logEntries.size()-i-1].m_IsFull=TRUE; + this->m_arShownList.Add(&m_logEntries[m_logEntries.size()-i-1]); + + }else + { + m_logEntries[i].m_IsFull=TRUE; + this->m_arShownList.Add(&m_logEntries[i]); + } } if(path) @@ -1357,8 +1373,16 @@ int CGitLogListBase::FillGitShortLog() this->m_arShownList.RemoveAll(); for(unsigned int i=0;im_arShownList.Add(&m_logEntries[i]); + { + if(this->m_IsOldFirst) + { + this->m_arShownList.Add(&m_logEntries[m_logEntries.size()-1-i]); + }else + { + this->m_arShownList.Add(&m_logEntries[i]); + } + } return 0; } @@ -1937,7 +1961,13 @@ void CGitLogListBase::RemoveFilter() for (DWORD i=0; im_IsOldFirst) + { + m_arShownList.Add(&m_logEntries[m_logEntries.size()-i-1]); + }else + { + m_arShownList.Add(&m_logEntries[i]); + } } // InterlockedExchange(&m_bNoDispUpdates, FALSE); DeleteAllItems(); diff --git a/src/TortoiseProc/GitLogListBase.h b/src/TortoiseProc/GitLogListBase.h index 42b2359..c3d3e22 100644 --- a/src/TortoiseProc/GitLogListBase.h +++ b/src/TortoiseProc/GitLogListBase.h @@ -66,6 +66,9 @@ public: virtual ~CGitLogListBase(); volatile LONG m_bNoDispUpdates; BOOL m_IsIDReplaceAction; + BOOL m_IsOldFirst; + BOOL m_IsRebaseReplaceGraph; + BOOL m_bStrictStopped; BOOL m_bShowBugtraqColumn; BOOL m_bSearchIndex; diff --git a/src/TortoiseProc/RebaseDlg.cpp b/src/TortoiseProc/RebaseDlg.cpp index 11d3b4a..636c30f 100644 --- a/src/TortoiseProc/RebaseDlg.cpp +++ b/src/TortoiseProc/RebaseDlg.cpp @@ -114,7 +114,7 @@ BOOL CRebaseDlg::OnInitDialog() m_FileListCtrl.Init(SVNSLC_COLEXT | SVNSLC_COLSTATUS , _T("RebaseDlg")); m_ctrlTabCtrl.AddTab(&m_FileListCtrl,_T("Conflict File")); - m_ctrlTabCtrl.AddTab(&m_LogMessageCtrl,_T("Log Message"),1); + m_ctrlTabCtrl.AddTab(&m_LogMessageCtrl,_T("Commit Message"),1); AddRebaseAnchor(); @@ -150,6 +150,9 @@ BOOL CRebaseDlg::OnInitDialog() this->m_UpstreamCtrl.EnableWindow(FALSE); } + m_CommitList.m_IsIDReplaceAction = TRUE; + m_CommitList.m_IsOldFirst = TRUE; + m_CommitList.DeleteAllItems(); m_CommitList.InsertGitColumn(); @@ -297,7 +300,23 @@ void CRebaseDlg::FetchLogList() if( m_CommitList.GetItemCount() == 0 ) m_CommitList.ShowText(_T("Nothing Rebase")); + CString hash=g_Git.GetHash(m_UpstreamCtrl.GetString()); + + if(m_CommitList.m_logEntries[m_CommitList.m_logEntries.size()-1].m_ParentHash.size() >=0 ) + { + if(hash == m_CommitList.m_logEntries[m_CommitList.m_logEntries.size()-1].m_ParentHash[0]) + { + m_CommitList.Clear(); + m_CommitList.ShowText(_T("Nothing Rebase")); + } + } + m_CommitList.Invalidate(); + + m_tooltips.Pop(); + AddBranchToolTips(&this->m_BranchCtrl); + AddBranchToolTips(&this->m_UpstreamCtrl); + } void CRebaseDlg::AddBranchToolTips(CHistoryCombo *pBranch)