Skip to content

Commit 72db048

Browse files
committed
added a new flow/flag to use git cli only in analytics
1 parent bf6ca2a commit 72db048

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

internals/Configuration.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,16 @@ package internals
1919
import "github.com/caarlos0/env"
2020

2121
type Configuration struct {
22-
CommitStatsTimeoutInSec int `env:"COMMIT_STATS_TIMEOUT_IN_SEC" envDefault:"2"`
23-
EnableFileStats bool `env:"ENABLE_FILE_STATS" envDefault:"false"`
24-
GitHistoryCount int `env:"GIT_HISTORY_COUNT" envDefault:"15"`
25-
MinLimit int `env:"MIN_LIMIT_FOR_PVC" envDefault:"1"` // in MB
26-
UseGitCli bool `env:"USE_GIT_CLI" envDefault:"false"`
27-
AnalyticsDebug bool `env:"ANALYTICS_DEBUG" envDefault:"false"`
28-
CliCmdTimeoutGlobal int `env:"CLI_CMD_TIMEOUT_GLOBAL_SECONDS" envDefault:"0"`
29-
CliCmdTimeoutJson string `env:"CLI_CMD_TIMEOUT_JSON" envDefault:""`
30-
GoGitTimeout int `env:"GOGIT_TIMEOUT_SECONDS" envDefault:"10"`
22+
CommitStatsTimeoutInSec int `env:"COMMIT_STATS_TIMEOUT_IN_SEC" envDefault:"2"`
23+
EnableFileStats bool `env:"ENABLE_FILE_STATS" envDefault:"false"`
24+
GitHistoryCount int `env:"GIT_HISTORY_COUNT" envDefault:"15"`
25+
MinLimit int `env:"MIN_LIMIT_FOR_PVC" envDefault:"1"` // in MB
26+
UseGitCli bool `env:"USE_GIT_CLI" envDefault:"false"`
27+
UseAnalyticsCommitDiffGitCli bool `env:"USE_ANALYTICS_COMMIT_DIFF_GIT_CLI" envDefault:"false"`
28+
AnalyticsDebug bool `env:"ANALYTICS_DEBUG" envDefault:"false"`
29+
CliCmdTimeoutGlobal int `env:"CLI_CMD_TIMEOUT_GLOBAL_SECONDS" envDefault:"0"`
30+
CliCmdTimeoutJson string `env:"CLI_CMD_TIMEOUT_JSON" envDefault:""`
31+
GoGitTimeout int `env:"GOGIT_TIMEOUT_SECONDS" envDefault:"10"`
3132
}
3233

3334
func ParseConfiguration() (*Configuration, error) {

pkg/git/RepositoryManagerAnalytics.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,14 +243,16 @@ func (impl RepositoryManagerAnalyticsImpl) ChangesSinceByRepositoryForAnalytics(
243243
func (impl RepositoryManagerAnalyticsImpl) computeCommitDiff(gitCtx GitContext, checkoutPath string, oldHash plumbing.Hash, newHash plumbing.Hash, repository *GitRepository) ([]*Commit, error) {
244244
var commitsCli, commitsGoGit []*Commit
245245
var err error
246-
if impl.configuration.UseGitCli || impl.configuration.AnalyticsDebug {
246+
if impl.configuration.UseGitCli || impl.configuration.UseAnalyticsCommitDiffGitCli || impl.configuration.AnalyticsDebug {
247+
impl.logger.Infow("Computing commit diff using cli ", "checkoutPath", checkoutPath)
247248
commitsCli, err = impl.gitManager.LogMergeBase(gitCtx, checkoutPath, oldHash.String(), newHash.String())
248249
if err != nil {
249250
impl.logger.Errorw("error in fetching commits for analytics through CLI: ", "err", err)
250251
return nil, err
251252
}
252253
}
253-
if !impl.configuration.UseGitCli || impl.configuration.AnalyticsDebug {
254+
if !(impl.configuration.UseGitCli || impl.configuration.UseAnalyticsCommitDiffGitCli) || impl.configuration.AnalyticsDebug {
255+
impl.logger.Infow("Computing commit diff using go-git ", "checkoutPath", checkoutPath)
254256
ctx, cancel := gitCtx.WithTimeout(impl.configuration.GoGitTimeout)
255257
defer cancel()
256258
commitsGoGit, err = RunWithTimeout(ctx, func() ([]*Commit, error) {

0 commit comments

Comments
 (0)