summaryrefslogtreecommitdiff
path: root/doStats.go
diff options
context:
space:
mode:
Diffstat (limited to 'doStats.go')
-rw-r--r--doStats.go44
1 files changed, 43 insertions, 1 deletions
diff --git a/doStats.go b/doStats.go
index 5fa7e46..5c16d9b 100644
--- a/doStats.go
+++ b/doStats.go
@@ -25,6 +25,26 @@ func doStats(cmd *StatsCmd) (string, error) {
if repo == nil {
return "no repo", errors.New("working dir isn't a repo I know about")
}
+ if cmd.Repo != "" {
+ r := me.forge.Repos.FindByNamespace(cmd.Repo)
+ if r == nil {
+ return "no repo " + cmd.Repo, errors.New("no repo " + cmd.Repo)
+ }
+ for _, rmote := range r.Config.Remotes {
+ stats, err := r.LoadRemoteRefs(rmote.Name)
+ if err != nil {
+ // return err
+ }
+ if env.True("resort") {
+ stats.SaveByHash()
+ log.Info("stats should have been resorted and saved")
+ } else {
+ footer := stats.PrintTable()
+ log.Info("full remote refs footer:", footer)
+ }
+ }
+ return "remote refs table", nil
+ }
if cmd.CheckRefs {
err := doCheckRefs(repo)
@@ -32,6 +52,11 @@ func doStats(cmd *StatsCmd) (string, error) {
}
if cmd.CheckRemote {
+ err := doCheckRemote(repo)
+ return "checked remote refs", err
+ }
+
+ if cmd.CheckRemoteRefs {
err := doCheckRemoteRefs(repo)
return "checked remote refs", err
}
@@ -41,7 +66,7 @@ func doStats(cmd *StatsCmd) (string, error) {
return "update refs", err
}
- if cmd.UpdateRemote {
+ if cmd.UpdateRemoteRefs {
err := doUpdateRemoteRefs(repo)
return "update remote refs", err
}
@@ -94,6 +119,23 @@ func doUpdateRefs(r *gitpb.Repo) error {
return err
}
+func doCheckRemote(r *gitpb.Repo) error {
+ for _, rmote := range r.Config.Remotes {
+ morestats, err := r.MakeRemote(rmote.Name)
+ if err != nil {
+ // return err
+ }
+ if env.True("resort") {
+ morestats.SaveByHash()
+ return errors.New("stats should have been resorted and saved")
+ }
+ footer := morestats.PrintTable()
+ log.Printf("full %s remote refs footer: %s\n", rmote.Name, footer)
+ }
+
+ return nil
+}
+
func doCheckRemoteRefs(r *gitpb.Repo) error {
for _, rmote := range r.Config.Remotes {
morestats, err := r.MakeRemoteRefs(rmote.Name)