gruntwork-io / fetch

Download files, folders, and release assets from a specific git commit, branch, or tag of public and private GitHub repos.
https://www.gruntwork.io/
MIT License
589 stars 90 forks source link

Can't download anything from private repo #68

Closed Sythsaz closed 2 years ago

Sythsaz commented 4 years ago

So I've tried this so many times in so many different ways but the program says that it succeeded but doesn't actually download into the /tmp dir next to the exe. I don't think I am doing anything wrong but here's what I got setup atm.

@echo off SET GITHUB_OAUTH_TOKEN=123 fetch.exe --repo="https://github.com/User/repo" --branch="master" --source-path="/Folder/File.txt" /tmp PAUSE

I tried it in cmd and in a bat file, the same happens thing both times.

Downloading latest commit from branch "master" of https://github.com/User/repo ... Extracting files from <repo>/Folder/Text.txt to /tmp ... Download and file extraction complete. Press any key to continue . . .

Any help would be appreciated.

brikis98 commented 4 years ago

Is that the full log output, or are you omitting something? Does anything get written to /tmp?

Sythsaz commented 4 years ago

That's all it outputs to cmd, I don't know if this program has a -v option for getting more output or anything like that. Nothing gets written to the /tmp dir.

brikis98 commented 4 years ago

Hm, it's hard to guess what could be going wrong from this info. Any chance you can create a minimally reproducible case in some repo we can access?

Sythsaz commented 4 years ago

I got the same thing with this repo as well. Is there a way to see more of what's going on with the program?

Downloading latest commit from branch "master" of https://github.com/gruntwork-io/fetch ... Extracting files from <repo>/test-fixtures/fetch-test-public-0.0.1.zip to /tmp ... Download and file extraction complete. Press any key to continue . . .

@echo off fetch.exe --repo="https://github.com/gruntwork-io/fetch" --branch="master" --source-path="/test-fixtures/fetch-test-public-0.0.1.zip" /tmp PAUSE

brikis98 commented 4 years ago

Apologies for the long delay. Lost track of this issue and only stumbled upon it again now. Here's what happens when I run the same command:

fetch --repo="https://github.com/gruntwork-io/fetch" --branch="master" --source-path="/test-fixtures/fetch-test-public-0.0.1.zip" /tmp

Downloading latest commit from branch "master" of https://github.com/gruntwork-io/fetch ...
Extracting files from <repo>/test-fixtures/fetch-test-public-0.0.1.zip to /tmp ...
ERROR: Error occurred while extracting files from GitHub zip file: Failed to write file: open /tmp: is a directory

The issue is that you're telling fetch to dowload a file (fetch-test-public-0.0.1.zip) but you're pointing the output at a folder. The following works:

fetch --repo="https://github.com/gruntwork-io/fetch" --branch="master" --source-path="/test-fixtures/fetch-test-public-0.0.1.zip" /tmp/fetch-test-public-0.0.1.zip

Downloading latest commit from branch "master" of https://github.com/gruntwork-io/fetch ...
Extracting files from <repo>/test-fixtures/fetch-test-public-0.0.1.zip to /tmp/foo.zip ...
Download and file extraction complete.

I'm not sure why the error messages on Windows aren't showing up.

tonerdo commented 2 years ago

Looks like fetch now supports specifying an output folder even for single file downloads.