Jeśli chcesz przetestować zależności pod "$ GOPATH/src/..." po prostu usuń tymczasowo każdy plik glide w katalogu głównym projektu (glide.yaml, glide.lock, etc ...). Następnie możesz przywrócić te pliki, jeśli chcesz ponownie użyć zależności "dostawcy".
Update 1
Szukałem tego samego rozwiązania dla moich projektów potem zorientowali się, że dokumentacja schodzenia określa dodatkowy przydatny parametr na glide.yaml dla importu. Według the official documentation:
repo
: Jeśli nazwa pakietu nie jest lokalizacja repo lub jest to prywatny repozytorium można go tutaj. Pakiet zostanie wyewidencjonowany z repozytorium i umieszczany tam, gdzie określa się nazwę pakietu. Umożliwia to używanie wideł.
W takim przypadku wystarczy wcisnąć swój kod gdzieś (GitHub lub Gitlab prywatnych repo Twojego $ GOPATH/src/github.com/hyperledger/nory chyba) następnie edytować glide.yaml:
- package: github.com/tendermint/tendermint <-- vendor name dependencies
repo: github.com/myrepo/tendermint <-- your remote fork
version: vx.x.x or your sha commit code
W ten sposób można przełączyć się z oficjalnej wersji na widelec i wykonać testy. zawrócić do oficjalnej wersji po prostu usunąć lub komentarz repo oraz wersję atrybuty:
- package: github.com/tendermint/tendermint <-- vendor name dependencies
# repo: github.com/myrepo/tendermint <-- your remote fork
# version: vx.x.x or your sha commit code
jestem testowania moje widły w ten sposób teraz i nie trzeba, aby zmienić swoje ścieżki importu do kodu, nadzieja to pomaga.
Aktualizacja 2
Innym dobrym sposobem jest użycie glide mirror:
lusterka zapewniają możliwość wymiany lokalizację repo z inną lokalizację, która jest lustrzanym odbiciem oryginału. Jest to przydatne, gdy chcesz mieć pamięć podręczną dla swojego ciągłego systemu integracji (CI) lub jeśli chcesz pracować nad zależnością w lokalizacji lokalnej w lokalizacji .
Chyba ten jest najlepszym rozwiązaniem, na przykład, od rodzaju linii poleceń:
$ glide mirror set github.com/tendermint/tendermint file:///User/yourname/Gospace/src/github.com/tendermint/tendermint
To stworzy mirror.yaml w swoim GLIDE_HOME (jeśli nie istnieje, zostanie umieszczony pod swój Folder $ USER/.glide). Teraz możesz przetestować lokalną wersję (pod GOPATH) bez rozwidlenia projektu (jak napisałem powyżej). Po zakończeniu testów po prostu usunąć go:
$ glide mirror remove github.com/tendermint/tendermint
Potrzebuję użyć kombinacji zależności dostawcy i wersje lokalne. Domyślam się, że hacky to zabicie wybranych katalogów pod 'sprzedawca/...' ale chciałem sprawdzić, czy istnieje lepszy/oficjalny sposób na to. –
to jest poprawne. usuń z 'dostawcy' pakiety, na których polegasz i którymi chcesz pracować. unikaj dowiązań symbolicznych, polegaj na wewnętrznej strategii go, aby rozwiązać zależność. –