Closed roey-e closed 4 years ago
Thanks for looking into this! I'll schedule a debugging session tmrw
Thanks @roey-e for investing time into investigating this issue. Your analysis was quite on point and was very helpful. I made a new release and you can find more context in the associated PR. Please let me know if the issue still persists in the new release
Description
I've been using buckaroo quite some time with my private repos and I'm constantly running into the same issue. I'm using buckaroo in "SSH" mode exclusively as it easier with private repos. When using
buckaroo resolve
on a buckaroo project with private-repo dependencies, buckaroo results in anunresolvable
error the first time, the second time it manages to resolve it and to create a lock file.Expected Behavior
I would expect buckaroo to work the same with private repos as with public repos.
Actual Behavior
The first resolve:
The second resolve:
Reading the log, I understand it has something to do with cloning the repo the first time. Deleting '~/.buckaroo' (which holds the cache if I am not mistaken) after the first resolve keeps the error.
Possible Fix
I tried to find what causes it. I debugged buckaroo and found out it might be calling
sourceExplorer.FetchManifest
fromSolver.fs:186
which ultimately callsfetchFile
ofGitHubApi.fs:6
. fetching a file from a private repo using 'https://raw.githubusercontent.com/' is not possible (unless using a token of course). I looked up for a way to fetch a single file using SSH, but I did not succeed (git archive --remote doesn't work with GitHub). So maybe the fix is not trivial, I'm not familiar with buckaroo's code enough to come up with a solution easily.Steps to Reproduce
buckaroo resolve
(orbuckaroo resolve --upgrade
if the lock file is not up to date) -> error :(buckaroo resolve
-> buckaroo.lock.toml generated :)I used my
roey-e/protobuf
(branch: python-protobuf-buck) which uses myroey-e/six
repo as a dependency which I privatized (roey-e/six-p
).Your Environment