<p dir="ltr">So it doesn't seem terrible for something that is just a copyright fix. *but* Having go get give you something very different than what we build with is just going to bite us in the future.</p>
<p dir="ltr">John<br>
=:-></p>
<div class="gmail_quote">On Mar 27, 2015 7:08 PM, "Eric Snow" <<a href="mailto:eric.snow@canonical.com">eric.snow@canonical.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Mar 26, 2015 at 7:53 PM, Nate Finch <<a href="mailto:nate.finch@canonical.com">nate.finch@canonical.com</a>> wrote:<br>
> tl;dr: godeps overrides <a href="http://gopkg.in" target="_blank">gopkg.in</a>, so you can have godeps pin a commit from a<br>
> different branch than <a href="http://gopkg.in" target="_blank">gopkg.in</a> is retrieving (i.e. make a release-number<br>
> branch, like "1.22" and use godeps to pin commits from there, even if go get<br>
> & <a href="http://gopkg.in" target="_blank">gopkg.in</a> is getting a different branch).<br>
<br>
So basically, <a href="http://gopkg.in" target="_blank">gopkg.in</a> is just a means for a project to explicitly<br>
control, in a sane way, the git revision that `go get` uses.  If your<br>
project does *not* use something like <a href="http://gopkg.in" target="_blank">gopkg.in</a> then either tip of the<br>
master branch must always be correct (messy) or folks that import your<br>
code must manually manage the revision (as we do with godeps).<br>
<br>
There is a lot less magic going on with <a href="http://gopkg.in" target="_blank">gopkg.in</a> than you might think.<br>
In the context of `go get`, <a href="http://gopkg.in" target="_blank">gopkg.in</a> just proxies the github URL to<br>
the corresponding named revision (branch or tag).  It does not cache a<br>
copy of the branch or repo or otherwise restrict the revisions<br>
available to the git fetch that `go get` does.  So non-ancestor<br>
revisions still get downloaded.  That's why could still take the<br>
godeps/"1.22"-branch approach without a lot of complexity.<br>
<br>
In the context of juju core, using <a href="http://gopkg.in" target="_blank">gopkg.in</a> for dependencies doesn't<br>
buy us as much since we use godeps.  It's still fine though since the<br>
import "URL" indicates the intended target and it doesn't impede our<br>
ability to adjust via godeps (as I originally thought it did).<br>
<br>
-eric<br>
<br>
--<br>
Juju-dev mailing list<br>
<a href="mailto:Juju-dev@lists.ubuntu.com">Juju-dev@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
</blockquote></div>