On Fri, Jun 28, 2019 at 5:14 PM AJ ONeal <coola...@gmail.com> wrote: > > I was looking at the Module page on the Wiki ( > https://github.com/golang/go/wiki/Modules ) for instruction on how to handle > breaking API changes (v2, v3, etc) and I noticed mention of the mythical > `goforward`: > >> A more sophisticated approach here could exploit type aliases (introduced in >> Go 1.9) and forwarding shims between major versions residing in different >> subdirectories. This can provide additional compatibility and allow one >> major version to be implemented in terms of another major version, but would >> entail more work for a module author. An in-progress tool to automate this >> is goforward. Please see here for more details and rationale, along with a >> functioning initial version of goforward. > > > I also found multiple mentions of it (by the author, I assume) on the Golang > issues on Github, claiming that it may solve various problems. And I think > "that's cool, but... how do I get it?" > > I went to the suggested link ( > https://go-review.googlesource.com/c/tools/+/137076/ ), but there's no > instruction on how to install, how to use it, and maybe even gives less > digestible information than on the modules wiki. > > The googlesource.com interface is perhaps the strangest I've ever seen for > git / code. I'm guessing it must be some sort of internal Google tool that > you kinda have to be a googler to understand. > > Nevertheless, I see > >> Repo: tools >> >> Branch: master > > > and so I figure there must be a repo somewhere containing this code. > > I click on the tools link which takes me to > https://go-review.googlesource.com/q/project:tools ... very confusing. > I found the repo settings link which lead me to > https://go-review.googlesource.com/admin/repos/tools where I finally see > something familiar: > >> git clone "https://go.googlesource.com/tools" > > > Now I have the repo cloned... but there's no mention of "goforward" and > hardly any mention of "forward" at all (which is not the forward I'm looking > for). > > It appears that the latest commit was yesterday (June 27th, 2019), but I > couldn't find the HEAD in the interface and I can't even checkout the parent > commit (which is shown in the interface): > >> git checkout a44989a >> >> >> >> error: pathspec 'a44989a' did not match any file(s) known to git > > > Where is this thing and how can I try it out?
It's in https://golang.org/cl/137076. Not sure what it needs before being submitted, other than a review. Ian -- 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/CAOyqgcWb-k0uvGpRWTyLp-qk68yXq24DpSNWJvwMNrm6x_hgpw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.