This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-03-13
Channels
- # aleph (16)
- # announcements (8)
- # aws (5)
- # babashka (54)
- # beginners (48)
- # calva (7)
- # cider (7)
- # clojure (209)
- # clojure-brasil (4)
- # clojure-europe (20)
- # clojure-italy (12)
- # clojure-nl (21)
- # clojure-uk (69)
- # clojurescript (24)
- # cursive (11)
- # datascript (7)
- # datomic (47)
- # emacs (14)
- # graphql (20)
- # hoplon (25)
- # jobs (1)
- # kaocha (1)
- # leiningen (14)
- # meander (7)
- # off-topic (44)
- # other-languages (1)
- # pathom (20)
- # re-frame (2)
- # reagent (51)
- # reitit (3)
- # remote-jobs (1)
- # shadow-cljs (46)
- # spacemacs (5)
- # sql (65)
- # tools-deps (86)
- # vim (11)
I'm back with more git issues
Cloning: :team/repo.git
Error building classpath. [email protected]: USERAUTH fail
org.eclipse.jgit.api.errors.TransportException: [email protected]: USERAUTH fail
at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:248)
at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:306)
at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:200)
at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:89)
trying to help a coworker get it running
this is on mac
so far we've done the following
if [ -z "$SSH_AUTH_SOCK" ] ; then
eval `ssh-agent -s`
ssh-add
ssh-add -k ~/.ssh/id_rsa # add keys -- did this for all private keys
# add github keys
ssh-keyscan -H -t rsa >> ~/.ssh/known_hosts
fi
git clone
works
I haven't checked -- is that important?
there is no ssh config
just kidding my mistake, there is
renamed stuff and it worked
how on earth did you know that
what error are you getting?
org.eclipse.jgit.api.errors.TransportException: [email protected]: USERAUTH fail
it was tied to the .ssh/config
somehow
(it's working now, thank you @ghadi)
JSch, the underlying library used, tries to read the .ssh/config for some things instead of consulting the running ssh-agent
I notice that https://github.com/clojure/tools.gitlibs says it supports: • Full sha (40 chars) • Prefix sha (sufficiently unique in the repo) • Tag name • Branch name
I don't suppose :git/url
supports tags/branches, and/or would a PR to that effect be welcome?
I'm using this extensively and I have 11 (and growing) repos (we're using enterprise git so I can't publish to clojars) and being able to tags/branches would be nice
so as above tools.gitlibs does support tags or branches
clj intentionally supports only full shas
because tags/branches are mutable ?
yes, it totally breaks classpath caching
tags too?
you see how somebody else could break your build with that though, right?
Oh yeah. I wasn't sure how defensive we were being really. I understand that one changes future builds, and one is cryptographically difficult to change future builds. If you want cryptographic protection then it's okay.
Maven central do that through policy, but there's no requirement that happens though (I think)
gotcha... bummer
I guess including a "force recalculate" directive would be out of the question?
that does exist (-Sforce) but you would need to basically do it on every clj call
I would not rule out some way to support this use case, but would want to start from the big picture
gotcha. I'm just trying to make the workflow for this work in a less error-prone way.
the other similar but different thing people have been poking at is monorepo with embedded local deps
I'm gonna DM you the details that I can't put here on what the situation is
another you might want to consider is using a private shared repo (either something like nexus or even a private s3 repo)
so for each of those repos you see ... every time I make a commit, I need to update the shas. And then I need to update the READMEs for each one. And god forbid they have dependencies on one another --- need to do all that by hand
I get it - I've used a private shared repo in this situation
is that like a "private clojars"?
ok -- that would be a much better solution, yes
maven repos can be just a file system
and private s3 repos are exactly that
I did not know that. How do you specify an alternate .m2?
nexus is actually an app and can do a lot more for you (like mirroring all your external deps in case maven central is unavailable or something)
you don't need an alternate .m2
if you're asking separately, you can use a :mvn/local-repo key in your deps.edn
innnteresting
https://clojure.org/reference/deps_and_cli has docs on private s3 access
okay, thank you, I'll look into that. 🙏
for deployment, you'll need something to make artifacts and deploy (really just an s3 copy) and there are some clj tools out there https://github.com/clojure/tools.deps.alpha/wiki/Tools
which category on tools would that be under?
versioning and releasing?
which part?
making an artifact -> packaging
but I guess also some of versioning and releasing
no I meant a tool for where to host
the files
i.e. nexus or similar
oh, I don't think you'll find that theree
just making sure I'm not crazy
but you could look at any maven repository docs. https://www.deps.co/ is built by Daniel Compton from the Clojure community
😛 well I am technically a little @goomba
those are common ones
I think there's a thing built into git too?
WHAAAT
yay that's a tool I'm actually allowed to use!
just googling, not sure that particular article is the platonic ideal
there's some tool for this too that I can't remember the name of
a user reported an error trying to use git deps for a lib I wrote: https://github.com/Lokeh/helix/issues/5#issuecomment-598850716 does anyone know offhand, based on the message, whether this is a user error or something with my lib?
it is a jgit error you get when trying to clone into a none empty directory https://github.com/eclipse/jgit/blob/cf60f26d26db2dc4f2d46264d5417e51c4e05c91/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties#L126