Browse Source

Merge pull request '更正云脑1调试任务代码的remote url' (#303) from fix-remote-origin into V202108

Reviewed-on: https://git.openi.org.cn/OpenI/aiforge/pulls/303
tags/v1.21.8^2
avadesian 4 years ago
parent
commit
c42b4e0e4e
1 changed files with 41 additions and 0 deletions
  1. +41
    -0
      routers/repo/cloudbrain.go

+ 41
- 0
routers/repo/cloudbrain.go View File

@@ -1,8 +1,10 @@
package repo

import (
"bufio"
"encoding/json"
"errors"
"io"
"net/http"
"os"
"os/exec"
@@ -499,6 +501,45 @@ func downloadCode(repo *models.Repository, codePath string) error {
return err
}

configFile, err := os.OpenFile(codePath + "/.git/config", os.O_RDWR, 0666)
if err != nil {
log.Error("open file(%s) failed:%v", codePath + "/,git/config", err)
return err
}

defer configFile.Close()

pos := int64(0)
reader := bufio.NewReader(configFile)
for {
line, err := reader.ReadString('\n')
if err != nil {
if err == io.EOF {
log.Error("not find the remote-url")
return nil
} else {
log.Error("read error: %v", err)
return err
}
}

if strings.Contains(line, "url") && strings.Contains(line, ".git"){
originUrl := "\turl = " + repo.CloneLink().HTTPS + "\n"
if len(line) > len(originUrl) {
originUrl += strings.Repeat( " ", len(line) - len(originUrl))
}
bytes := []byte(originUrl)
_, err := configFile.WriteAt(bytes, pos)
if err != nil {
log.Error("WriteAt failed:%v", err)
return err
}
break
}

pos += int64(len(line))
}

return nil
}



Loading…
Cancel
Save