#git #shell #go
#git #оболочка #Вперед
Вопрос:
Почему это сбой (ошибка 128, недопустимый репозиторий):
func main() {
command_base := "/usr/local/bin/git-upload-pack"
command_args := []string{"/repos/bar/foo.git"}
cmd := exec.Command(command_base, command_args...)
out, err := cmd.CombinedOutput()
if err != nil {
log.Fatalf("cmd.Run() failed with %sn", err)
}
fmt.Printf("combined out:n%sn", string(out))
}
Когда это удается…
$ /usr/local/bin/git-upload-pack /repos/bar/foo.git
00f262621d854b3299d7f17d6f1523435396cfcf8357 HEADmulti_ack thin-pack side-band side-band-64k ofs-delta shallow deepen-since deepen-not deepen-relative no-progress include-tag multi_ack_detailed symref=HEAD:refs/heads/master agent=git/2.21.0
003f62621d854b3299d7f17d6f1523435396cfcf8357 refs/heads/master
0000
Комментарии:
1. Что за сообщение об ошибке?
2. @Mark, я обновил вопрос статусом выхода и сообщением об ошибке.
3.
strace -f
и то, и другое, и ищите разницу. Также обратите внимание на текущий рабочий каталог.