You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat: add support for Codeberg repos
* fix: update missing banner
* refactor: explicit codeberg branch + exhaustive host guard
Replace the catch-all `else` with `else if (host === "codeberg.org")`
and add a `never`-typed exhaustive default so adding a new host to the
`Host` union without a parser branch becomes a compile error.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* feat: support codeberg /raw and /media URLs + ssh test coverage
- Extend codeberg parser to recognize /raw/<branch|tag|commit>/<ref>/path
and /media/<branch|tag|commit>/<ref>/path as direct-file (blob) links;
/src/... continues to map to tree. Behavior change: pasting a Codeberg
raw URL now fetches just the file instead of falling through to a full
repository clone.
- Add dryRun coverage for the new raw/media URLs and for the previously
untested git@codeberg.org: SSH prefix (repo + src path).
- Drop the "codeberg" package.json keyword.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Neeraj Dalal <admin@nrjdalal.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+14-4Lines changed: 14 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@
11
11
12
12
📦 `Zero dependencies` / `Un/packed (~67/25kb)` / `Faster and more features` yet drop-in replacement for `degit`
13
13
14
-
> #### Just `copy-and-paste` any GitHub, GitLabor Bitbucket URL - no editing required (shorthands work too) - to clone individual files, folders, branches, commits, raw content or even entire repositories without the `.git` directory.
14
+
> #### Just `copy-and-paste` any GitHub, GitLab, Bitbucket or Codeberg URL - no editing required (shorthands work too) - to clone individual files, folders, branches, commits, raw content or even entire repositories without the `.git` directory.
15
15
16
16
Unlike other tools that force you to tweak URLs or follow strict formats to clone files, folders, branches or commits GitPick works seamlessly with any URL.
Navigate with arrow keys, select with space, expand/collapse with enter, `.` to select all, `c` to confirm. Works with GitHub, GitLab, Bitbucket, public and private repos.
168
+
Navigate with arrow keys, select with space, expand/collapse with enter, `.` to select all, `c` to confirm. Works with GitHub, GitLab, Bitbucket, Codeberg, public and private repos.
164
169
165
170
---
166
171
167
172
## 🔐 Private Repos
168
173
169
-
Use a personal access token with read-only contents permission. Works with GitHub, GitLaband Bitbucket:
174
+
Use a personal access token with read-only contents permission. Works with GitHub, GitLab, Bitbucket and Codeberg:
With ${bold(`${terminalLink("GitPick","https://github.com/nrjdalal/gitpick")}`)} clone specific directories or files from GitHub, GitLaband Bitbucket!
22
+
With ${bold(`${terminalLink("GitPick","https://github.com/nrjdalal/gitpick")}`)} clone specific directories or files from GitHub, GitLab, Bitbucket and Codeberg!
GitPick fallbacks to the default behavior of \`git clone\`
29
29
30
30
${bold("Arguments:")}
31
-
${yellow("url")} GitHub/GitLab/Bitbucket URL with path to file/folder/repository
31
+
${yellow("url")} GitHub/GitLab/Bitbucket/Codeberg URL with path to file/folder/repository
32
32
${green("target")} Directory to clone into (optional)
33
33
34
34
${bold("Options:")}
@@ -54,7 +54,8 @@ ${bold("Examples:")}
54
54
$ gitpick <url> --dry-run
55
55
$ gitpick https://gitlab.com/owner/repo
56
56
$ gitpick https://bitbucket.org/owner/repo
57
-
57
+
$ gitpick https://codeberg.org/owner/repo
58
+
58
59
🚀 More awesome tools at ${cyan("https://github.com/nrjdalal")}`
59
60
60
61
constdisplayPath=(targetPath: string)=>{
@@ -391,7 +392,7 @@ const main = async () => {
391
392
392
393
if(!silent){
393
394
console.log(
394
-
`\nWith ${bold(`${terminalLink("GitPick","https://github.com/nrjdalal/gitpick")}`)} clone specific files, folders, branches,\ncommits and much more from GitHub, GitLaband Bitbucket!`,
395
+
`\nWith ${bold(`${terminalLink("GitPick","https://github.com/nrjdalal/gitpick")}`)} clone specific files, folders, branches,\ncommits and much more from GitHub, GitLab, Bitbucket and Codeberg!`,
0 commit comments