Hi folks.  I was unable to find a good answer online already.  The closest 
I found was 
https://stackoverflow.com/questions/14323872/using-forked-package-import-in-go 
which 
suggests using the replace directive in go.mod.

I am using Go 1.14, with all projects located outside of GOPATH.

My exact situation:  I've forked https://github.com/sclevine/agouti to 
https://github.com/Bradbev/agouti.  Originally I renamed all instances of 
"sclevine" to "Bradbev" - this works, but doesn't feel right.  Presumably 
future PR's will be a hassle due to the import changes.
I'm trying to fix it locally before pushing up.  So, what I have locally is
1) A new module agout_test, which contains "replace 
github.com/bradbev/agouti => ../agouti" in go.mod so that my test project 
references a local copy
2) A local copy of bradbev/agouti at ../agouti.

Without changes (ie, import paths ARE rewritten), this works.  When I 
change my local agouti imports back to "sclevine", and add "replace 
github.com/sclevine/agouti => github.com/bradbev/agouti" to 
../agouti/go.mod, my test complains with:

✘-1 ~/development/gomod/agouti_test 

22:51 $ go build main.go && ./main

../agouti/selectable.go:5:2: use of internal package 
github.com/sclevine/agouti/internal/element not allowed

../agouti/multiselection.go:3:8: use of internal package 
github.com/sclevine/agouti/internal/target not allowed


This suggests to me that the replace directive is working, but is being 
disallowed for "/internal" packages.  

What is the correct way to fork this module please?

Thanks,
Brad

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/e6050108-c142-4b0c-be7d-e29c7f9eb92co%40googlegroups.com.

Reply via email to