\r
void CGitPropertyPage::InitWorkfileView()\r
{\r
+ CString username;\r
+ //can't git.exe when create process\r
+ g_Git.Run(_T("tgit config user.name"),&username,CP_ACP);\r
+ CString useremail;\r
+ g_Git.Run(_T("tgit config user.email"),&useremail,CP_ACP);\r
+ CString autocrlf;\r
+ g_Git.Run(_T("tgit config core.autocrlf"),&autocrlf,CP_ACP);\r
+ CString safecrlf;\r
+ g_Git.Run(_T("tgit config core.safecrlf"),&safecrlf,CP_ACP);\r
+\r
+ CString branch;\r
+ CString headhash;\r
+\r
+ BYTE_VECTOR logout;\r
+\r
+ CString cmd,log;\r
+ cmd=_T("tgit log -z --topo-order -n1 --parents --pretty=format:\"");\r
+ \r
+ g_Git.BuildOutputFormat(log,true);\r
+\r
+ cmd += log;\r
+ cmd += CString(_T("\" "));\r
+\r
+ g_Git.Run(cmd,&logout);\r
+ GitRev rev;\r
+ rev.ParserFromLog(logout);\r
+\r
+ SetDlgItemText(m_hwnd,IDC_CONFIG_USERNAME,username);\r
+ SetDlgItemText(m_hwnd,IDC_CONFIG_USEREMAIL,useremail);\r
+ SetDlgItemText(m_hwnd,IDC_CONFIG_AUTOCRLF,autocrlf);\r
+ SetDlgItemText(m_hwnd,IDC_CONFIG_SAFECRLF,safecrlf);\r
+\r
+ SetDlgItemText(m_hwnd,IDC_HEAD_HASH,rev.m_CommitHash);\r
+ SetDlgItemText(m_hwnd,IDC_HEAD_SUBJECT,rev.m_Subject);\r
+ SetDlgItemText(m_hwnd,IDC_HEAD_AUTHOR,rev.m_AuthorName);\r
+ SetDlgItemText(m_hwnd,IDC_HEAD_DATE,rev.m_AuthorDate.Format(_T("%Y-%m-%d %H:%M:%S")));\r
+\r
+ if (filenames.size() == 1)\r
+ {\r
+ CTGitPath path(filenames.front().c_str());\r
+ CTGitPath relatepath;\r
+ CString strpath=path.GetWinPathString();\r
+ CString ProjectTopDir;\r
+\r
+ if(!path.HasAdminDir(&ProjectTopDir))\r
+ return;\r
+ \r
+ if(ProjectTopDir[ProjectTopDir.GetLength()-1] == _T('\\'))\r
+ {\r
+ relatepath.SetFromWin( strpath.Right(strpath.GetLength()-ProjectTopDir.GetLength()));\r
+ }else\r
+ {\r
+ relatepath.SetFromWin( strpath.Right(strpath.GetLength()-ProjectTopDir.GetLength()-1));\r
+ }\r
+\r
+ cmd+=_T("-- \"");\r
+ cmd+=relatepath.GetGitPathString(); \r
+ cmd+=_T("\"");\r
+\r
+ logout.clear();\r
+ g_Git.Run(cmd,&logout);\r
+ rev.Clear();\r
+ rev.ParserFromLog(logout);\r
+\r
+ SetDlgItemText(m_hwnd,IDC_LAST_HASH,rev.m_CommitHash);\r
+ SetDlgItemText(m_hwnd,IDC_LAST_SUBJECT,rev.m_Subject);\r
+ SetDlgItemText(m_hwnd,IDC_LAST_AUTHOR,rev.m_AuthorName);\r
+ SetDlgItemText(m_hwnd,IDC_LAST_DATE,rev.m_AuthorDate.Format(_T("%Y-%m-%d %H:%M:%S")));\r
+\r
+ }else\r
+ {\r
+\r
+ }\r
+\r
#if 0\r
GitStatus svn = GitStatus();\r
TCHAR tbuf[MAX_STRING_LENGTH];\r
#define IDS_MENUDESCSYNC 340\r
#define IDS_MENUSTASHPOP 341\r
#define IDS_MENUSVNIGNORE 342\r
-#define IDS_MENUSVNIGNORE_DEST 343\r
#define IDS_MENUSVNIGNORE_DESC 343\r
#define IDC_REVISION 1001\r
+#define IDC_HEAD_HASH 1001\r
#define IDC_LOCKED 1002\r
+#define IDC_LAST_HASH 1002\r
#define IDC_REPOURL 1003\r
+#define IDC_CURRENT_BRANCH 1003\r
#define IDC_CREVISION 1004\r
+#define IDC_HEAD_SUBJECT 1004\r
#define IDC_CDATE 1005\r
+#define IDC_LAST_SUBJECT 1005\r
#define IDC_AUTHOR 1006\r
#define IDC_TEXTSTATUS 1007\r
+#define IDC_HEAD_AUTHOR 1007\r
#define IDC_TEXTDATE 1008\r
+#define IDC_LAST_AUTHOR 1008\r
#define IDC_PROPSTATUS 1009\r
+#define IDC_HEAD_DATE 1009\r
#define IDC_PROPDATE 1010\r
+#define IDC_LAST_DATE 1010\r
#define IDC_PROPLIST 1011\r
#define IDC_SWITCHED 1011\r
#define IDC_ADDBUTTON 1012\r
#define IDI_MENUSENDMAIL 5175\r
#define IDC_LOCKOWNER 11019\r
#define IDC_LOCKDATE 11020\r
+#define IDC_CONFIG_AUTOCRLF 11020\r
#define IDC_EDITPROPERTIES 11021\r
#define IDC_REPOURLUNESCAPED 11022\r
+#define IDC_REMOTE_BRANCH 11022\r
#define IDC_ESCAPEDURLLABEL 11023\r
#define IDC_REPOUUID 11024\r
+#define IDC_CONFIG_SAFECRLF 11024\r
#define IDC_CHANGELIST 11025\r
+#define IDC_CONFIG_USERNAME 11025\r
#define IDC_DEPTHEDIT 11026\r
+#define IDC_CONFIG_USEREMAIL 11026\r
#define IDC_CHECKSUM 11027\r
\r
// Next default values for new objects\r
CAPTION "Property Page"\r
FONT 8, "MS Shell Dlg", 0, 0, 0x1\r
BEGIN\r
- LTEXT "URL:",IDC_STATIC,4,5,26,8\r
- EDITTEXT IDC_REPOURL,30,5,213,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
- LTEXT "URL:",IDC_ESCAPEDURLLABEL,4,17,26,8\r
- EDITTEXT IDC_REPOURLUNESCAPED,29,17,214,14,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
- LTEXT "Revision / Author:",IDC_STATIC,4,31,76,8\r
- EDITTEXT IDC_REVISION,80,31,40,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
- EDITTEXT IDC_AUTHOR,120,31,94,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
- LTEXT "Last commit revision:",IDC_STATIC,4,43,76,8\r
- EDITTEXT IDC_CREVISION,80,43,40,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
- EDITTEXT IDC_CDATE,120,43,123,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
- LTEXT "Text Status:",IDC_STATIC,4,55,76,8\r
- EDITTEXT IDC_TEXTSTATUS,80,55,40,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
- EDITTEXT IDC_TEXTDATE,120,55,123,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
- LTEXT "Property Status:",IDC_STATIC,4,67,76,8\r
- EDITTEXT IDC_PROPSTATUS,80,67,40,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
- EDITTEXT IDC_PROPDATE,120,67,123,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
- LTEXT "Lock owner:",IDC_STATIC,4,79,76,8\r
- EDITTEXT IDC_LOCKOWNER,80,79,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
- LTEXT "Lock creation date:",IDC_STATIC,4,91,76,8\r
- EDITTEXT IDC_LOCKDATE,80,90,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
- LTEXT "Repository UUID:",IDC_STATIC,4,103,76,8\r
- EDITTEXT IDC_REPOUUID,80,102,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
- LTEXT "Changelist:",IDC_STATIC,4,115,76,8\r
- EDITTEXT IDC_CHANGELIST,80,114,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
- LTEXT "Depth:",IDC_STATIC,4,127,76,8\r
- EDITTEXT IDC_DEPTHEDIT,80,126,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
- LTEXT "Checksum:",IDC_STATIC,4,139,76,8\r
- EDITTEXT IDC_CHECKSUM,80,138,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
- LTEXT "locked:",IDC_STATIC,4,151,76,8\r
- LTEXT "yes",IDC_LOCKED,80,150,163,8\r
- LTEXT "switched:",IDC_STATIC,4,163,76,8\r
- LTEXT "yes",IDC_SWITCHED,80,162,163,8\r
- LTEXT "copied:",IDC_STATIC,4,175,76,8\r
- LTEXT "yes",IDC_COPIED,80,174,163,8\r
- PUSHBUTTON "&Properties...",IDC_EDITPROPERTIES,4,191,107,14\r
- PUSHBUTTON "Show &log",IDC_SHOWLOG,120,191,123,14\r
+ LTEXT "Current Branch:",IDC_STATIC,4,9,59,8\r
+ EDITTEXT IDC_CURRENT_BRANCH,91,9,142,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
+ LTEXT "Tracked Remote Branch:",IDC_ESCAPEDURLLABEL,4,21,85,8\r
+ EDITTEXT IDC_REMOTE_BRANCH,91,21,139,14,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
+ LTEXT "HEAD:",IDC_STATIC,4,35,76,8\r
+ EDITTEXT IDC_HEAD_HASH,80,35,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
+ EDITTEXT IDC_HEAD_SUBJECT,80,47,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
+ EDITTEXT IDC_HEAD_AUTHOR,80,59,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
+ EDITTEXT IDC_HEAD_DATE,79,71,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
+ LTEXT "Auto Crlf:",IDC_STATIC,13,171,76,8\r
+ EDITTEXT IDC_CONFIG_AUTOCRLF,71,171,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
+ LTEXT "Safe Crlf:",IDC_STATIC,13,183,76,8\r
+ EDITTEXT IDC_CONFIG_SAFECRLF,71,183,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
+ LTEXT "User Name:",IDC_STATIC,13,195,76,8\r
+ EDITTEXT IDC_CONFIG_USERNAME,71,195,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
+ LTEXT "User Email:",IDC_STATIC,13,207,76,8\r
+ EDITTEXT IDC_CONFIG_USEREMAIL,71,207,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
+ PUSHBUTTON "Show &log",IDC_SHOWLOG,120,238,123,14\r
+ GROUPBOX "Config",IDC_STATIC,4,159,239,66\r
+ LTEXT "Last Modified:",IDC_STATIC,4,97,76,8\r
+ EDITTEXT IDC_LAST_HASH,80,97,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
+ EDITTEXT IDC_LAST_SUBJECT,80,108,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
+ EDITTEXT IDC_LAST_AUTHOR,80,121,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
+ EDITTEXT IDC_LAST_DATE,80,132,163,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_TRANSPARENT\r
END\r
\r
\r