-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pathing #21
Comments
So if I fetch the package through ipfs, I will be stuck at updating it through ipfs namespace, and can't be through |
Would love to hear what others have to say. @rht i think you can always manually move it into place |
In git I just need to replace the remote url (when the port for a protocol got blocked by local isp), then replace back when done. |
The godoc does not particularly state the reason. For custom source, instead of transport protocol, it is the vcs name that is preferred to be specified, or otherwise guessed through the html meta tag. |
i.e. I vote for multiple transport protocols, one namespace. That said, for content-addressed paths, which are already used currently, +1 for protocol prefix (gx/ipfs/hash instead of gx/hash). |
a packages reference will always remain static, gx does not allow a 'mutable' package reference. You can however choose to update your current ref from a mutable source (See repos). |
ipfs is not the only immutable/merkle protocol. And we might work on others
|
@jbenet @rht @noffle @diasdavid does |
It sounds good to me :) |
I'm reluctantly on board with My hesitation was because I like npm's "single namespace" approach so gosh-darned much. The paths are very human friendly. I like that the simple We could totally implement this approach for gx, with one caveat: conflicts can happen if the package's plain name is used. (Though this can also happen with npm if you stray outside of npm's central repo.) @jbenet's approach of using the origin transport address gives uniqueness, which is a desirable property. Perhaps moreso than human friendliness in this case. |
@noffle, i was thinking of being able to specify package short-names (the links that we were using earlier) to refer to package names. You can also refer to a package by its short name if it exists in one of your configured repos, either by |
So: use @jbenet's pathing model, but offer some aliasing facilities on packages? I think that's reasonable. |
yep! I started working on this yesterday but ran into an old go-ipfs bug that i'm finally going to fix |
we've decided on |
Alright, We need to make a decision on what paths should look like so I can move forward without having to worry about going back and rewriting everything.
currently, installing packages locally goes into
vendor/gx/<hash>
. Previously it was justvendor/<hash>
Globally installed packages get installed under
$GLOBAL_ROOT/gx/<hash>
.@jbenet has suggested
gx/ipfs/<hash>
for protocol nesting.Since the global root will be language dependent anyways (
$GOPATH/src
for go). We should probably do something similar for the local path, and default to something likegx/ipfs/<hash>
. That way go packages can still specify to install undervendor/gx/ipfs/<hash>
. Alternatively (go specific thing ahead), we can skip the vendor experiment thing altogether, and just have the paths be like how godep does them. (the go vendor experiment really did us fewer favors that I would have liked)cc @noffle @diasdavid
The text was updated successfully, but these errors were encountered: