Skip to content

Commit

Permalink
rename to sc
Browse files Browse the repository at this point in the history
  • Loading branch information
attiasas committed Jan 30, 2025
1 parent cb88179 commit 7eaab80
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 27 deletions.
2 changes: 1 addition & 1 deletion commands/git/audit/gitaudit.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func DetectGitInfo(wd string) (gitInfo *services.XscGitInfoContext, err error) {
if err != nil {
return
}
return scmManager.GetGitContext()
return scmManager.GetSourceControlContext()
}

func toAuditParams(params GitAuditParams) *sourceAudit.AuditParams {
Expand Down
8 changes: 2 additions & 6 deletions utils/scm/gitmanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@ func NewGitManager(localRepositoryWorkingDir string) (gm *GitManager, err error)
return
}

func GitCliExists() bool {
return true
}

func (gm *GitManager) getRootRemote() (root *goGit.Remote, err error) {
remotes, err := gm.localGitRepository.Remotes()
if err != nil {
Expand Down Expand Up @@ -101,7 +97,7 @@ func (gm *GitManager) isClean() (bool, error) {
}

// Detect git information
func (gm *GitManager) GetGitContext() (gitInfo *services.XscGitInfoContext, err error) {
func (gm *GitManager) GetSourceControlContext() (gitInfo *services.XscGitInfoContext, err error) {
remoteUrl, err := getRemoteUrl(gm.remote)
if err != nil {
return nil, err
Expand Down Expand Up @@ -180,7 +176,7 @@ func getGitProject(url string) string {
return urlParts[1]
}

func getGitProvider(url string) ScmProvider {
func getGitProvider(url string) ScProvider {
if strings.Contains(url, Github.String()) {
return Github
}
Expand Down
4 changes: 2 additions & 2 deletions utils/scm/gitmanager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ Reviewed-by: Mike Frysinger <vapier@google.com>`,
}
assert.NoError(t, err)
assert.NotNil(t, gitManager)
gitInfo, err := gitManager.GetGitContext()
gitInfo, err := gitManager.GetSourceControlContext()

if testCase.gitInfo == nil {
// Dirty project, we can't assert the git info
Expand All @@ -159,7 +159,7 @@ func TestGetGitProvider(t *testing.T) {
testCases := []struct {
name string
url string
provider ScmProvider
provider ScProvider
}{
{
name: "Github",
Expand Down
38 changes: 20 additions & 18 deletions utils/scm/scmutils.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,54 +10,56 @@ import (
)

const (
Github ScmProvider = "github"
Gitlab ScmProvider = "gitlab"
Bitbucket ScmProvider = "bitbucket"
Azure ScmProvider = "azure"
Gerrit ScmProvider = "gerrit"
Github ScProvider = "github"
Gitlab ScProvider = "gitlab"
Bitbucket ScProvider = "bitbucket"
Azure ScProvider = "azure"
Gerrit ScProvider = "gerrit"

// TODO: Add support for other git providers

// git clone https://git-codecommit.{region}.amazonaws.com/v1/repos/{repository_name}
AWSCodeCommit ScmProvider = "codecommit"
AWSCodeCommit ScProvider = "codecommit"
// git clone https://gitea.com/gitea/helm-chart.git
Gitea ScmProvider = "gitea"
Gitea ScProvider = "gitea"

// svn checkout https://svn.code.sf.net/p/svn-sample-repo/code/ svn-sample-repo-code
SourceForge ScmProvider = "sourceforge"
SourceForge ScProvider = "sourceforge"

Unknown ScmProvider = ""
Unknown ScProvider = ""
)

// ScmProvider is the type of source control provider
type ScmProvider string
// ScProvider is the type of source control provider
type ScProvider string

func (sp ScmProvider) String() string {
func (sp ScProvider) String() string {
return string(sp)
}

const (
Git ScmType = "git"
Git ScType = "git"
)

type ScmType string
// ScType is the type of source control manager
type ScType string

func (st ScmType) String() string {
func (st ScType) String() string {
return string(st)
}

// ScmTypeData holds the data for each source control manager type
type ScmTypeData struct {
indicator string
}

var scmTypeData = map[ScmType]ScmTypeData{Git: {".git"}}
var supportedScmTypes = map[ScType]ScmTypeData{Git: {".git"}}

type ScmManager interface {
GetGitContext() (gitInfo *services.XscGitInfoContext, err error)
GetSourceControlContext() (gitInfo *services.XscGitInfoContext, err error)
}

func DetectScmInProject(projectPath string) (manager ScmManager, err error) {
for scmType, scmData := range scmTypeData {
for scmType, scmData := range supportedScmTypes {
if exists, e := isScmProject(projectPath, scmData); !exists || err != nil {
err = errors.Join(e, err)
continue
Expand Down

0 comments on commit 7eaab80

Please sign in to comment.