by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Jack Spirou
@jackspirou
hold does not allow pruning
or at least it shouldn’t
John Maguire
@JohnMaguire
Okay, got you.
Jack Spirou
@jackspirou
:stuck_out_tongue_winking_eye:
John Maguire
@JohnMaguire
So the "prune" flag is like "hold", except if you remove your import, it will go away?
The one you are talking about adding to vendor.yml
Jack Spirou
@jackspirou
prune we have not added yet to vendor.yml
John Maguire
@JohnMaguire
I understand :)
Jack Spirou
@jackspirou
hold is currently available
so if you —hold something the vendor.yml should show hold: true for that repo
John Maguire
@JohnMaguire
Yup, understood. The "no prune" flag would be a little more ideal for this, since I would probably want the package to go away when I stop using it.
Jack Spirou
@jackspirou
that is a very good distiction between the two
John Maguire
@JohnMaguire
I think they are both good solutions, and I take back my suggestion of adding more granularity on it. The "all or nothing" approach to package pruning I think is probably fine.
Jack Spirou
@jackspirou
cool. its great to get this feedback. it has def helped me determine why both hold and prune are valuable and different, even if they share some similarities. Its suprising how complicated the edge cases of vendoring can become, even if we try to keep it simple :stuck_out_tongue_winking_eye:
but we still need to allow c code for —prune… its on my todo list
John Maguire
@JohnMaguire
Definitely! I only just found Govend, and I certainly don't mean to step on anyone's toes either. I am really appreciating it because, as I said, it's the only way I was able to get the sqlite3 driver to work in my projects! And haha, I am reminded of this article: https://medium.com/@sdboyer/so-you-want-to-write-a-package-manager-4ae9c17d9527
Jack Spirou
@jackspirou
@JohnMaguire your def not stepping on any toes. Very happy to have you in the conversation. And yes... i have felt that articles pain, which is why we try to keep the govend tool as simple as possible
John Maguire
@JohnMaguire
:+1: for simplicity
Jack Spirou
@jackspirou
Also talking though all these factors and getting feedback is important, otherwise implications arise that we didn't expect... again I am surprise how complex vendoring can be :joy:
Thomas Boerger
@tboerger
And I'm happy to ignore tags :D
Thomas Boerger
@tboerger
Jack Spirou
@jackspirou
responded!
@tboerger ^
Thomas Boerger
@tboerger
Awesome :)
Matthias Loibl
@metalmatze
What’s the solution to this? ./project/vendor/foo/project/vendor/github.com/...
Is there a way not to use the vendored stuff from the other project?
Jack Spirou
@jackspirou
@MetalMatze I believe govend already skips a third party vendor directory
Let me know if thats not what your experiencing
Matthias Loibl
@metalmatze
No, it didn’t. There was a vendor folder inside another vendor folder… Could it be the case, that if there’s a project with a vendor folder on the local machine that you want to vendor, then its vendor gets copied over?
Thomas Boerger
@tboerger
# govend --prune
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x20 pc=0x4793d7]

goroutine 1 [running]:
panic(0x8fad00, 0xc82000e250)
    /usr/lib64/go/src/runtime/panic.go:464 +0x3e6
github.com/govend/govend/deps.Prune(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc4e488, 0x0, 0x0)
    /home/tboerger/Projects/golang/src/github.com/govend/govend/deps/prune.go:29 +0x227
github.com/govend/govend/deps.Vend(0x0, 0x0, 0x0, 0x997db0, 0x4, 0xc820107248, 0x1, 0x1, 0x0, 0x0)
    /home/tboerger/Projects/golang/src/github.com/govend/govend/deps/vend.go:227 +0x140a
main.glob.func1(0xc2db20, 0xc820107210, 0x0, 0x1)
    /home/tboerger/Projects/golang/src/github.com/govend/govend/main.go:130 +0xb2c
github.com/govend/govend/vendor/github.com/spf13/cobra.(*Command).execute(0xc2db20, 0xc82000a730, 0x1, 0x1, 0x0, 0x0)
    /home/tboerger/Projects/golang/src/github.com/govend/govend/vendor/github.com/spf13/cobra/command.go:569 +0x85a
github.com/govend/govend/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc2db20, 0xc2db20, 0x0, 0x0)
    /home/tboerger/Projects/golang/src/github.com/govend/govend/vendor/github.com/spf13/cobra/command.go:656 +0x55c
github.com/govend/govend/vendor/github.com/spf13/cobra.(*Command).Execute(0xc2db20, 0x0, 0x0)
    /home/tboerger/Projects/golang/src/github.com/govend/govend/vendor/github.com/spf13/cobra/command.go:615 +0x2d
main.main()
    /home/tboerger/Projects/golang/src/github.com/govend/govend/main.go:151 +0x564
@nlf i had to create the vendor dir manually oO
Thomas Boerger
@tboerger
ah... not nlf... it's for @jackspirou :D
@jackspirou there is no command/subcommand to add a specific revision of a new dependency, right?
Thomas Boerger
@tboerger
i'm not being able to vendor a godeps project correctly :(
Sam Kleinman
@tychoish
hey, I'm trying to use govend, and I have a question about the use of evaluating symlink in the vendorable.go file
not sure I understand why we need to force concrete paths
Jack Spirou
@jackspirou
@tychoish are you referring to this recent pull request? govend/govend#51
@tboerger can you share the godeps project your having trouble with? I was thinking about spending more time on govend again to polish it up.
Sam Kleinman
@tychoish
yeah,
my first response is "why would you want that"
frankly I'm not sure why we need to be in $GOPATH/src
but I'm probably missing something?
Sam Kleinman
@tychoish
like I symlink my project dirs into a gopath, which seems reasonable to me.
I've got a work around using bind mount points ;)
Thomas Boerger
@tboerger
@jackspirou looks like it works mostly without prune. I'm trying to vendor most projects on github.com/appc
Brian Antonelli
@brianantonelli
Hi, how do I instruct govend to get a specific tag? For instance, I'm trying to add Terraform as a dep but I need v0.8.7
Thomas Boerger
@tboerger
wth? why does govend strip the _cgo directory? https://github.com/xiam/exif/tree/master/_cgo
Jack Spirou
@jackspirou
probably because of the _ in _cgo
Dustin Decker
@dustin-decker
If I have a monorepo at "$GOPATH/src/github.com/orgname/reponame"
and from "$GOPATH/src/github.com/orgname/reponame/servicea" I import
"$GOPATH/src/github.com/orgname/reponame/common", how to I use the local
common package rather than pulling in the latest in source control? Or is
there a really good reason I shouldn't do this?