Closed
Description
I'm trying to add a submodule to an existing Git repository, using Git I'd do this
git submodule add <url>
After searching through the documentation and scarce examples this is what I came up with
repo, err := git.OpenRepository(".")
if err != nil {
panic(err)
}
sub, _ := repo.Submodules.Add("https://github.com/dealloc/ioc.git", "ioc", true)
sub.Init(true)
err = sub.Update(true, &git.SubmoduleUpdateOptions{
&git.CheckoutOpts{},
&git.FetchOptions{},
git.CheckoutForce | git.CheckoutUpdateSubmodules,
})
fmt.Println("Submodule:", sub.Name())
If I run this code however the program panics
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7f405eb0c728]
runtime stack:
runtime.throw(0x6606d0, 0x2a)
/usr/lib/go/src/runtime/panic.go:566 +0x95
runtime.sigpanic()
/usr/lib/go/src/runtime/sigpanic_unix.go:12 +0x2cc
goroutine 1 [syscall, locked to thread]:
runtime.cgocall(0x5dd520, 0xc42004b5f8, 0xc400000000)
/usr/lib/go/src/runtime/cgocall.go:131 +0x110 fp=0xc42004b5b0 sp=0xc42004b570
github.com/dealloc/governor/vendor/gopkg.in/libgit2/git2go%2ev24._Cfunc_git_submodule_update(0x26acac0, 0xc400000001, 0xc420098c80, 0x0)
??:0 +0x4d fp=0xc42004b5f8 sp=0xc42004b5b0
github.com/dealloc/governor/vendor/gopkg.in/libgit2/git2go%2ev24.(*Submodule).Update(0xc42002a0b8, 0xc42007c501, 0xc42004b6e8, 0x0, 0x0)
/home/dealloc/Documents/Projects/Personal/Go/src/github.com/dealloc/governor/vendor/gopkg.in/libgit2/git2go.v24/submodule.go:322 +0x26b fp=0xc42004b670 sp=0xc42004b5f8
main.addCommand(0xc4200b01b0)
/home/dealloc/Documents/Projects/Personal/Go/src/github.com/dealloc/governor/add.go:19 +0x182 fp=0xc42004b730 sp=0xc42004b670
runtime.call32(0xc4200152c0, 0x672718, 0xc42002a0a8, 0x800000008)
/usr/lib/go/src/runtime/asm_amd64.s:479 +0x4c fp=0xc42004b760 sp=0xc42004b730
reflect.Value.call(0x6078a0, 0x672718, 0x13, 0x6575a1, 0x4, 0xc42000cbc0, 0x1, 0x1, 0xd, 0xc42007a650, ...)
/usr/lib/go/src/reflect/value.go:434 +0x5c8 fp=0xc42004bab0 sp=0xc42004b760
reflect.Value.Call(0x6078a0, 0x672718, 0x13, 0xc42000cbc0, 0x1, 0x1, 0xc42004bc70, 0x670c70, 0x647c20)
/usr/lib/go/src/reflect/value.go:302 +0xa4 fp=0xc42004bb18 sp=0xc42004bab0
github.com/dealloc/governor/vendor/gopkg.in/ukautz/clif%2ev1.(*Cli).call(0xc420096dc0, 0x6078a0, 0x672718, 0x13, 0xc4200b01b0, 0x4, 0x6576bd, 0x4, 0xc420061601, 0x0)
/home/dealloc/Documents/Projects/Personal/Go/src/github.com/dealloc/governor/vendor/gopkg.in/ukautz/clif.v1/cli.go:175 +0x73b fp=0xc42004bcc0 sp=0xc42004bb18
github.com/dealloc/governor/vendor/gopkg.in/ukautz/clif%2ev1.(*Cli).Call(0xc420096dc0, 0xc4200b01b0, 0x4, 0x96b6c0, 0x0, 0x0, 0x99c9c8)
/home/dealloc/Documents/Projects/Personal/Go/src/github.com/dealloc/governor/vendor/gopkg.in/ukautz/clif.v1/cli.go:130 +0xd9 fp=0xc42004bd38 sp=0xc42004bcc0
github.com/dealloc/governor/vendor/gopkg.in/ukautz/clif%2ev1.(*Cli).RunWith(0xc420096dc0, 0xc42000c290, 0x1, 0x1)
/home/dealloc/Documents/Projects/Personal/Go/src/github.com/dealloc/governor/vendor/gopkg.in/ukautz/clif.v1/cli.go:285 +0x524 fp=0xc42004be90 sp=0xc42004bd38
github.com/dealloc/governor/vendor/gopkg.in/ukautz/clif%2ev1.(*Cli).Run(0xc420096dc0)
/home/dealloc/Documents/Projects/Personal/Go/src/github.com/dealloc/governor/vendor/gopkg.in/ukautz/clif.v1/cli.go:243 +0x70 fp=0xc42004bec0 sp=0xc42004be90
main.main()
/home/dealloc/Documents/Projects/Personal/Go/src/github.com/dealloc/governor/main.go:16 +0x22b fp=0xc42004bf48 sp=0xc42004bec0
runtime.main()
/usr/lib/go/src/runtime/proc.go:183 +0x1f4 fp=0xc42004bfa0 sp=0xc42004bf48
runtime.goexit()
/usr/lib/go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc42004bfa8 sp=0xc42004bfa0
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/lib/go/src/runtime/asm_amd64.s:2086 +0x1
goroutine 5 [syscall]:
os/signal.signal_recv(0x0)
/usr/lib/go/src/runtime/sigqueue.go:116 +0x157
os/signal.loop()
/usr/lib/go/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.1
/usr/lib/go/src/os/signal/signal_unix.go:28 +0x41
Am I just doing something wrong or is this an actual bug? because I can't figure it out, no matter what I pass to the Update function gives the same result.
Metadata
Metadata
Assignees
Labels
No labels