@@ -41,7 +41,7 @@ Options:
4141
4242 Report Formats:
4343
44- -format=commits Specify report format [summary|commits|files|timeline-hours|timeline-commits] (default commits)
44+ -format=commits Specify report format [summary|project| commits|files|timeline-hours|timeline-commits] (default commits)
4545 -full-message=false Include full commit message
4646 -terminal-off=false Exclude time spent in terminal (Terminal plug-in is required)
4747 -force-color=false Always output color even if no terminal is detected, i.e 'gtm report -color | less -R'
@@ -103,7 +103,7 @@ func (c ReportCmd) Run(args []string) int {
103103 return 1
104104 }
105105
106- if ! util .StringInSlice ([]string {"summary" , "commits" , "timeline-hours" , "files" , "timeline-commits" }, format ) {
106+ if ! util .StringInSlice ([]string {"summary" , "commits" , "timeline-hours" , "files" , "timeline-commits" , "project" }, format ) {
107107 c .Ui .Error (fmt .Sprintf ("report --format=%s not valid\n " , format ))
108108 return 1
109109 }
@@ -175,6 +175,12 @@ func (c ReportCmd) Run(args []string) int {
175175 return 1
176176 }
177177
178+ // hack, if project format we want all commits for the project
179+ if format == "project" && limit == 0 {
180+ // set max to absurdly high value for number of possible commits
181+ limit = 2147483647
182+ }
183+
178184 limiter , err := scm .NewCommitLimiter (
179185 limit , fromDate , toDate , author , message ,
180186 today , yesterday , thisWeek , lastWeek ,
@@ -204,6 +210,8 @@ func (c ReportCmd) Run(args []string) int {
204210 Limit : limit }
205211
206212 switch format {
213+ case "project" :
214+ out , err = report .ProjectSummary (projCommits , options )
207215 case "summary" :
208216 out , err = report .CommitSummary (projCommits , options )
209217 case "commits" :
0 commit comments