<p dir="auto">... for the syntax suggested in "go help importpath" (no ".git" suffixing the url)</p>
<p dir="auto">I've managed to make private repos work by appending ".git" to the url. However this complicates things since the filesystem install path will now include the ".git". Also, the import statements must then have it.</p>
<p dir="auto">There are tons of questions about this issue (or private repos in general) all over stackoverflow etc. etc. and many answers or posts give confusing or old information that makes go hard to use for newcomers. The go packaging is hard enough to grasp for newcomers as it is; combine that with these private repo issues and the result is no doubt three times as difficult.</p>
<p dir="auto">by <strong>greatred</strong>:</p>
<pre class="notranslate">What steps will reproduce the problem?
If possible, include a link to a program on play.golang.org.
1. Use <a href="http://play.golang.org/p/w45c_7mFyN" rel="nofollow">http://play.golang.org/p/w45c_7mFyN</a> as alignment.go
2. Execute `go run alignment.go`

What is the expected output? (where the pointer addresses can vary, although the lowest
nibble should be similar - this working output from linux/amd64)
0xc20005f000 0xc20005f008 0xc20005f010
v.A = 1
atomic v.A = 1
v.C = 2
atomic v.C = 2

What do you see instead?
0x10442100 0x10442108 0x1044210c
v.A = 1
atomic v.A = 1
v.C = 2
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x4 pc=0x4b0d0]

goroutine 1 [running]:
runtime.panic(0xa2fc0, 0x104000f0)
        /usr/local/go/src/pkg/runtime/panic.c:266 +0x134
sync/atomic.loadUint64(0x1044210c, 0x2, 0x0)
        /usr/local/go/src/pkg/sync/atomic/64bit_arm.go:10 +0x6c
main.main()
        /home/huin/gopath/src/alignment/alignment.go:20 +0x430
exit status 2


Which compiler are you using (5g, 6g, 8g, gccgo)?
6g

Which operating system are you using?
linux/arm

Which version are you using?  (run 'go version')
go versions that exhibit the problem:
* go version devel +5b367120d592 Thu Sep 19 17:12:00 2013 +1000 linux/arm
* I have also had this problem on release 1.1.2 on the same platform.

Unaffected version:
* go version go1.1.2 linux/amd64

Please provide any additional information below.

Looking at the last nibble of the pointer addresses leads me to believe that the 3rd
member of the struct `C` isn't being aligned on a 64bit boundary, causing trouble with
the sync/atomic.LoadInt64 instruction, which (I imagine) expects this alignment.</pre>