Skip to content
This repository has been archived by the owner on Aug 23, 2023. It is now read-only.
/ rpget Public archive

Download a directory from a repository URL you are viewing.

License

Notifications You must be signed in to change notification settings

bisquit/rpget

Repository files navigation

DEPRECATED

Use https://github.com/bisquit/ghget-cli instead.


rpget

CI codecov

Download a directory or file from a repository URL you are viewing:

  • Single command, any URL
  • Support both GitHub and GitLab
  • Cross platform (macOS, Windows)

Requirements

The corresponding CLI must be installed and authenticated.

You only need to install what you use.

Why install CLI?

This tool uses GitHub or GitLab rest api to fetch repository archive. It is possible to authenticate with an access token, but an additional token must be issued, which must then be passed to the tool.

To keep it simple and robust, we are taking advantage of the CLI's authentication feature.

Install

You can quickly try with npx

npx rpget@latest https://github.com/bisquit/rpget/tree/main/sample

or install globally

npm i -g rpget
yarn global add rpget
pnpm add -g rpget

Usage

Hit rpget <url>.

rpget https://github.com/bisquit/rpget/tree/main/sample

See examples.

How it works

This tool fetches archive(.zip) with API, and after user confirmed, decompresses it and copies into current directory.

Because branches can include /, we cannot distinguish the URL main/src is which:

  • a) main/src branch
  • b) main branch and src directory

So it attempts to fetch archive with "possible refs" (in this case, main and main/src) concurrently.

It takes a bit networking cost, but works faster than git clone.

Related and Comparison

This tool is initialy inspired by

While these are primarily intended for scaffolding, this tool is designed for getting a portion of the repository.

Also I aimed for intuitive commands you don't need to remember how to specify.