cmd.Format(_T("git.exe rm --cache -- \"%s\""),entry->GetGitPathString());\r
g_Git.Run(cmd,&out,CP_ACP); \r
}\r
- else\r
+ else if(!( entry->m_Action & CTGitPath::LOGACTIONS_UNVER ) )\r
{\r
- cmd.Format(_T("git.exe reset -- %s"),entry->GetGitPathString());\r
+ cmd.Format(_T("git.exe reset -- \"%s\""),entry->GetGitPathString());\r
g_Git.Run(cmd,&out,CP_ACP);\r
}\r
\r
// g_Git.Run(cmd,&out);\r
//}\r
\r
+ BOOL bCloseCommitDlg=true;\r
//if(checkedfiles.GetLength()>0)\r
if(nchecked||m_bCommitAmend)\r
{\r
progress.m_bShowCommand = FALSE; // don't show the commit command\r
progress.m_PreText = out; // show any output already generated in log window\r
progress.DoModal();\r
- \r
+ \r
+ if(progress.m_GitStatus)\r
+ {\r
+ bCloseCommitDlg = false;\r
+ this->Refresh();\r
+ }\r
+\r
CFile::Remove(tempfile);\r
}else\r
CMessageBox::Show(this->m_hWnd, _T("Nothing Commit"), _T("Commit Finish"), MB_OK | MB_ICONINFORMATION);\r
\r
SaveSplitterPos();\r
\r
- CResizableStandAloneDialog::OnOK();\r
+ if( bCloseCommitDlg )\r
+ CResizableStandAloneDialog::OnOK();\r
\r
CShellUpdater::Instance().Flush();\r
}\r
DialogEnableWindow(IDC_EXTERNALWARNING, false);\r
// read the list of recent log entries before querying the WC for status\r
// -> the user may select one and modify / update it while we are crawling the WC\r
-#if 0\r
+\r
if (m_History.GetCount()==0)\r
{\r
CString reg;\r
- if (m_ListCtrl.m_sUUID.IsEmpty() && m_pathList.GetCount()>0)\r
- {\r
- Git Git;\r
- reg.Format(_T("Software\\TortoiseGit\\History\\commit%s"), (LPCTSTR)Git.GetUUIDFromPath(m_pathList[0]));\r
- }\r
- else\r
- reg.Format(_T("Software\\TortoiseGit\\History\\commit%s"), (LPCTSTR)m_ListCtrl.m_sUUID);\r
+ reg.Format(_T("Software\\TortoiseGit\\History\\commit%s"), (LPCTSTR)m_ListCtrl.m_sUUID);\r
+ reg.Replace(_T(':'),_T('_'));\r
m_History.Load(reg, _T("logmsgs"));\r
}\r
-#endif\r
+\r
// Initialise the list control with the status of the files/folders below us\r
m_ListCtrl.Clear();\r
BOOL success;\r
CString sMenuItemText(MAKEINTRESOURCE(IDS_COMMITDLG_POPUP_PASTEFILELIST));\r
m_nPopupPasteListCmd = nCmd++;\r
mPopup.AppendMenu(MF_STRING | MF_ENABLED, m_nPopupPasteListCmd, sMenuItemText);\r
+\r
+ //CString sMenuItemText(MAKEINTRESOURCE(IDS_COMMITDLG_POPUP_PASTEFILELIST));\r
+ if(m_History.GetCount() > 0)\r
+ {\r
+ sMenuItemText.LoadString(IDS_COMMITDLG_POPUP_PASTELASTMESSAGE);\r
+ m_nPopupPasteLastMessage = nCmd++;\r
+ mPopup.AppendMenu(MF_STRING | MF_ENABLED, m_nPopupPasteLastMessage, sMenuItemText);\r
+ }\r
+ \r
}\r
\r
bool CCommitDlg::HandleMenuItemClick(int cmd, CSciEdit * pSciEdit)\r
return true;\r
}\r
\r
+ if(cmd == m_nPopupPasteLastMessage)\r
+ {\r
+ if(m_History.GetCount() ==0 )\r
+ return false;\r
+\r
+ CString logmsg;\r
+ logmsg +=m_History.GetEntry(0);\r
+ pSciEdit->InsertText(logmsg);\r
+ return true;\r
+ }\r
return false;\r
}\r
\r