Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

Commit 29cb3a5

Browse files
committed
conv: rebuild to fix permission problem
1 parent 92dbb61 commit 29cb3a5

File tree

1 file changed

+18
-28
lines changed

1 file changed

+18
-28
lines changed

src/fgit.go

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package main
22

33
import (
4-
"bytes"
54
"fmt"
65
"io"
76
"io/ioutil"
@@ -96,35 +95,26 @@ func convertToGitHub() bool {
9695
}
9796

9897
func convertHelper(oldPrefixValue, newPrefixValue string) bool {
99-
fi, err := os.Open(path.Join(".git", "config"))
100-
checkErr(err, "This is not a git path! Cannot push!", 1)
101-
defer fi.Close()
102-
103-
gitConfigByte, err := ioutil.ReadFile(path.Join(".git", "config"))
104-
checkErr(err, "Cannot read .git config file!", 3)
105-
gitConfig := string(gitConfigByte)
106-
107-
isReplaceDo := false
108-
sb := new(bytes.Buffer)
109-
iniArray := strings.Split(gitConfig, "\n")
110-
111-
iniNewStr := ""
112-
113-
for i := range iniArray {
114-
if strings.Trim(iniArray[i], "") == "" {
115-
// drop useless lines
116-
// sb.WriteString(iniArray[i] + "\n")
117-
continue
118-
}
119-
iniNewStr = strings.Replace(iniArray[i], oldPrefixValue, newPrefixValue, 1)
120-
if iniArray[i] != iniNewStr {
121-
iniArray[i] = iniNewStr
122-
isReplaceDo = true
98+
cmd := exec.Command("git", "remote", "-v")
99+
buf, err := cmd.Output()
100+
sBuf := string(buf)
101+
originUrl := ""
102+
checkErr(err, "Convert failed.", 8)
103+
tmp := strings.Split(strings.Replace(strings.Replace(sBuf, "\t", " ", -1), " ", " ", -1), " ")
104+
for i := range tmp {
105+
if strings.HasPrefix(tmp[i], oldPrefixValue) {
106+
originUrl = tmp[i]
107+
break
123108
}
124-
sb.WriteString(iniArray[i] + "\n")
125109
}
126-
fi.Write(sb.Bytes())
127-
return isReplaceDo
110+
if originUrl == "" {
111+
return false
112+
}
113+
fmt.Println(originUrl)
114+
cmd = exec.Command("git", "remote", "set-url", "origin", strings.Replace(originUrl, oldPrefixValue, newPrefixValue, 1))
115+
_, err = cmd.Output()
116+
checkErr(err, "Convert failed.", 8)
117+
return true
128118
}
129119

130120
func checkErr(err error, msg string, exitCode int) {

0 commit comments

Comments
 (0)