Open issues

Authentication issues through JSch
TDEPS-91
Provide function returning the config deps.edn
TDEPS-138
TDEPS on windows : Clojure alias not directly available
TDEPS-137
Exploring alternatives to powershell for Clojure on Windows
TDEPS-136
Error when invoking clojure in the powershell on AppVeyor
TDEPS-135
Quote escaping can be awkward for Windows
TDEPS-133
Support monorepo internal relative dependencies
TDEPS-132
Dependencies with exclusions apply incorrectly
TDEPS-130
Support a front-end asset repo
TDEPS-129
Classpath not correctly built for dependencies in local directories with pom.xml manifests.
TDEPS-127
Cannot resolve Git deps through proxy
TDEPS-124
Windows clj does not handle quoted strings in -Sdeps argument correctly
TDEPS-121
Windows version of tools.deps fails to launch Java if classpath is too long
TDEPS-120
Allow specifying aliases in coordinates that point to deps.edn projects
TDEPS-116
Access to full dependency graph including conflicts
TDEPS-111
UnknownHostKey: XXXX. RSA key fingerprint is YYYYY
TDEPS-104
:mvn/repos map in deps.edn should have a way to configure <repositories> tag in generated pom.xml
TDEPS-101
-A / -M alias ordering is not respected for :main-opts
TDEPS-100
Add Chocolatey Package
TDEPS-84
Classpath caching does not invalidate when local root manifests are changed.
TDEPS-83
Add support for a download progress callback to the tools.deps.alpha API
TDEPS-81
scripts don't detect or warn if file referred to in cached classpath has been deleted
TDEPS-70
Authenticate deployed artifacts
TDEPS-69
GitHub repo name is confusing
TDEPS-66
Support default jvm-opts
TDEPS-63
Make Maven update policy configurable
TDEPS-62
Dependency resolution depends on order in map
TDEPS-58
Main opts with space broken apart
TDEPS-56
First class options for Socket REPL
TDEPS-48
Consider https git authentication
TDEPS-33
ssh git repository doesn't work with some SSH host key algorithms
TDEPS-31
Checking out a git dependency that has a submodule fails due to JGitInternalException+MissingObjectException
TDEPS-126
Allow overriding java executable used by clojure script
TDEPS-125
Create a Scoop manifest for Clojure's CLI tools on Windows
TDEPS-122
Unable to specify context-specific deps in files other than ~/.clojure/deps.edn or ./deps.edn
TDEPS-115
Install clojure CLI via SDKMAN!
TDEPS-113
Causes logback.xml conflicts
TDEPS-108
Native library support for tools.deps
TDEPS-103
Allow user to specify the path to Maven settings (or provide repo credentials directly)
TDEPS-99
git dependencies don't work with relative paths
TDEPS-94
Add support for local git repository deps on the file system
TDEPS-93
Preload rlwrap completion list with clojure.core symbols
TDEPS-78
Add main opts to -Sdescribe output
TDEPS-72
Jsch public key problems
TDEPS-49
Repositories from dependencies' pom.xml are not used
TDEPS-46
Document lib-map
TDEPS-42
Document classpath ordering strategy
TDEPS-41
Updates to pom continually adds superfluous newlines under Java 9
TDEPS-29
No diagnostic information when building classpath fails
TDEPS-21
Consider lib overrides
TDEPS-17
issue 1 of 52

Authentication issues through JSch

Description

There are many issues with using JGit+JSch currently:

https with authentication is not supported yet which is a very common transport used by private repos. Git (the mainline binary) uses a "credential helper" as an authentication oracle.
ssh authentication via JSch has low usability, some modern KEX methods unsupported
Esoteric .ssh/config options can break cloning because the underlying java ssh library (JSch) misreads the .ssh/config file
ed25519 identity keys supported via ssh-agent, but not via ~/.ssh/config entries. JSch gets confused when there is an agent & ssh/config
The terminal is not interactive in clojure, so you cannot accept unseen public host keys - this is probably ok, but the user might not know what to do when it fails.

Porting gitlibs to shell out to git would help all of these issues, if remains compatible with Windows support. (This is what python and Go do, shell out.) It would also alleviate many transient issues that users report that do not have associated tickets.



Proposed Patch (API Compatible with tools.gitlibs)
https://github.com/ghadishayban/tools.gitlibs/pull/1

Environment

None

Status

Assignee

Alex Miller

Reporter

Ghadi Shayban

Labels

None

Approval

None

Patch

None

Priority

Critical