OSDN Git Service

Add show one file log at dialog box.
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Commands / LogCommand.cpp
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2007-2008 - TortoiseSVN\r
4 \r
5 // This program is free software; you can redistribute it and/or\r
6 // modify it under the terms of the GNU General Public License\r
7 // as published by the Free Software Foundation; either version 2\r
8 // of the License, or (at your option) any later version.\r
9 \r
10 // This program is distributed in the hope that it will be useful,\r
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 // GNU General Public License for more details.\r
14 \r
15 // You should have received a copy of the GNU General Public License\r
16 // along with this program; if not, write to the Free Software Foundation,\r
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
18 //\r
19 #include "StdAfx.h"\r
20 #include "LogCommand.h"\r
21 \r
22 #include "LogDlg.h"\r
23 \r
24 bool LogCommand::Execute()\r
25 {\r
26         //the log command line looks like this:\r
27         //command:log path:<path_to_file_or_directory_to_show_the_log_messages> [startrev:<startrevision>] [endrev:<endrevision>]\r
28 \r
29         CString val = parser.GetVal(_T("startrev"));\r
30         if ( val.IsEmpty() )\r
31         {\r
32                 // support deprecated parameter prior 1.5.0\r
33                 val = parser.GetVal(_T("revstart"));\r
34         }\r
35         GitRev revstart ;\r
36         val = parser.GetVal(_T("endrev"));\r
37         if ( val.IsEmpty() )\r
38         {\r
39                 // support deprecated parameter prior 1.5.0\r
40                 val = parser.GetVal(_T("revend"));\r
41         }\r
42         GitRev revend ;\r
43         val = parser.GetVal(_T("limit"));\r
44         int limit = _tstoi(val);\r
45         val = parser.GetVal(_T("pegrev"));\r
46         if ( val.IsEmpty() )\r
47         {\r
48                 // support deprecated parameter prior 1.5.0\r
49                 val = parser.GetVal(_T("revpeg"));\r
50         }\r
51 \r
52         GitRev pegrev;\r
53 \r
54 #if 0\r
55         SVNRev pegrev = val.IsEmpty() ? SVNRev() : SVNRev(val);\r
56         if (!revstart.IsValid())\r
57                 revstart = SVNRev::REV_HEAD;\r
58         if (!revend.IsValid())\r
59                 revend = 0;\r
60 #endif\r
61 \r
62         if (limit == 0)\r
63         {\r
64                 CRegDWORD reg = CRegDWORD(_T("Software\\TortoiseGit\\NumberOfLogs"), 100);\r
65                 limit = (int)(LONG)reg;\r
66         }\r
67         BOOL bStrict = (DWORD)CRegDWORD(_T("Software\\TortoiseGit\\LastLogStrict"), FALSE);\r
68         if (parser.HasKey(_T("strict")))\r
69         {\r
70                 bStrict = TRUE;\r
71         }\r
72 \r
73         \r
74         CLogDlg dlg;\r
75         theApp.m_pMainWnd = &dlg;\r
76         //dlg.SetParams(cmdLinePath);\r
77         dlg.SetParams(cmdLinePath, pegrev, revstart, revend, limit, bStrict);\r
78 //      dlg.SetIncludeMerge(!!parser.HasKey(_T("merge")));\r
79 //      val = parser.GetVal(_T("propspath"));\r
80 //      if (!val.IsEmpty())\r
81 //              dlg.SetProjectPropertiesPath(CTSVNPath(val));\r
82         dlg.DoModal();                  \r
83         return true;\r
84 }\r