Skip to content

Commit

Permalink
Tag Fix
Browse files Browse the repository at this point in the history
  • Loading branch information
firmanmm committed Jan 24, 2021
1 parent bad92e6 commit eb0446f
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 26 deletions.
3 changes: 3 additions & 0 deletions cmd/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ func (g *GetCmd) Run(ctx *cli.Context) error {
log.Printf("Error when trying to get from %s, error : %s", arg, err.Error())
}
}
if err := g.setting.Sync(); err != nil {
return err
}
return g.setting.SaveToFile(gompConf)
}

Expand Down
17 changes: 8 additions & 9 deletions fetcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,7 @@ type SshFetcher struct {

func (s *SshFetcher) Fetch() error {
targetDir := fmt.Sprintf("./.vendor.gomp/%s", s.name)

if _, err := os.Lstat(targetDir + "/.git"); err == nil {
return s.update(targetDir)
}

cleanDir, err := filepath.Abs(targetDir + "/..")
targetDir, err := filepath.Abs(targetDir)
if err != nil {
return err
}
Expand All @@ -53,14 +48,18 @@ func (s *SshFetcher) Fetch() error {
return err
}

if err := s._Fetch(packageName, tag, cleanDir); err != nil {
if _, err := os.Lstat(targetDir + "/.git"); err == nil {
return s.update(targetDir)
}

if err := s._Fetch(packageName, tag, targetDir); err != nil {
return err
}

return nil
}

func (s *SshFetcher) _Fetch(name, tag, cleanDir string) error {
func (s *SshFetcher) _Fetch(name, tag, targetDir string) error {

cmdParam := make([]string, 0, 6)
cmdParam = append(cmdParam,
Expand All @@ -71,7 +70,7 @@ func (s *SshFetcher) _Fetch(name, tag, cleanDir string) error {
cmdParam = append(cmdParam,
"--branch", tag)
}
cmdParam = append(cmdParam, s.connString+name, cleanDir+"@"+tag)
cmdParam = append(cmdParam, s.connString+name, targetDir)
eCmd := exec.Command("git", cmdParam...)
eCmd.Stdout = os.Stdout
eCmd.Stderr = os.Stderr
Expand Down
29 changes: 14 additions & 15 deletions modfile_mod_updater.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,22 +33,21 @@ func (g *ModfileModUpdater) Update(repositories []string) error {
repoMap[mod.Path] = false
}
}
for path, val := range repoMap {
if val {
packageName, tag, err := _ExtractTag(path)
if err != nil {
return err
}
if len(tag) == 0 {
tag = "v0.0.0"
}
if err := parsedFile.AddRequire(packageName, tag); err != nil {
return err
}
if err := parsedFile.AddReplace(packageName, tag, "./.vendor.gomp/"+path, ""); err != nil {
return err
}
for _, path := range repositories {
packageName, tag, err := _ExtractTag(path)
if err != nil {
return err
}
if len(tag) == 0 {
tag = "v0.0.0"
}
if err := parsedFile.AddRequire(packageName, tag); err != nil {
return err
}
if err := parsedFile.AddReplace(packageName, tag, "./.vendor.gomp/"+path, ""); err != nil {
return err
}

}
parsedFile.SortBlocks()
result, err := parsedFile.Format()
Expand Down
1 change: 0 additions & 1 deletion modfile_mod_updater_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ func TestModfileModUpdater_Update(t *testing.T) {
rawFinalRead, err := ioutil.ReadFile(testFileName)
assert.NoError(t, err)
finalRead := string(rawFinalRead)
fmt.Println(finalRead)
for _, want := range tt.wants {
assert.Contains(t, finalRead, want.name)
assert.Contains(t, finalRead, fmt.Sprintf("%s %s => ./.vendor.gomp/%s", want.name, want.version, want.name))
Expand Down
4 changes: 4 additions & 0 deletions setting.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ func (s *Setting) AddRepository(name string) error {
}
}
s.data.PrivateRepositories = append(s.data.PrivateRepositories, name)
return nil
}

func (s *Setting) Sync() error {
return s.modUpdater.Update(s.data.PrivateRepositories)
}

Expand Down
2 changes: 1 addition & 1 deletion sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ func (s *SyncManager) Sync() error {
if len(errorList) > 0 {
return errors.New(strings.Join(errorList, "\n"))
}
return nil
return s.setting.Sync()
}

func NewSyncManager(setting *Setting, getter *GetterManager) *SyncManager {
Expand Down

0 comments on commit eb0446f

Please sign in to comment.