Skip to content

Commit 542986b

Browse files
jiridanekdaniellutz
authored andcommitted
Issue #1789: chore(repo): set up lfs for vscode extensions vendored into the repo (#2516)
For now, only move existing extensions already on main into lfs. Will not rewrite history to remove the previously added versions. This means that repository size is not decreased by this commit. But it should not grow so much any more every time code-server is updated. ``` ❯ brew install git-lfs ❯ git lfs track "*.vsix" Tracking "*.vsix" ❯ cat .gitattributes ci/secrets/** filter=git-crypt diff=git-crypt *.vsix filter=lfs diff=lfs merge=lfs -text ❯ git add .gitattributes ``` Issue #1789: chore(repo): update docs with git-lfs instructions for codeserver in Extensions.md
1 parent 2e45800 commit 542986b

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
ci/secrets/** filter=git-crypt diff=git-crypt
2+
*.vsix filter=lfs diff=lfs merge=lfs -text

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Make sure the following tools are installed in your environment:
1818
- pipenv
1919
- make (on macOS install/use: gmake)
2020
- curl
21+
- git, git-lfs (for `*.vsix` files)
2122

2223
### Installation
2324
Clone this repository to your local machine:

codeserver/Extensions.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ List of extensions used:
1818
- Jupyter Cell Tags [ms-toolsai.vscode-jupyter-cell-tags]
1919
- Jupyter Slide Show [ms-toolsai.vscode-jupyter-slideshow]
2020

21+
## Prerequisites
22+
23+
- git-lfs (required to handle `.vsix` extension files stored in this repository)
24+
2125
## Update process
2226

2327
To update the extensions, we suggest running a code-server image locally using Podman and manually checking the extensions tab, in a way that you can identify the version available to the version of code-server that you are running on, since some extensions are not available to some code-server versions.
@@ -27,3 +31,15 @@ To update the extensions, we suggest running a code-server image locally using P
2731
3. Search for the desired version of the extension that you want to install
2832
4. Under `Resources`, you can click on `Marketplace` to see more details on `Open VSX Registry`
2933
1. On `Open VSX Registry` you can select a specific version or click on `Download` to download the `vsix` file
34+
35+
## Git LFS integration
36+
37+
Extension packages (`.vsix` files) vendored into this repository are automatically managed by Git LFS via `.gitattributes` rules (`*.vsix filter=lfs diff=lfs merge=lfs -text`). You don't need to manually run `git lfs track` for new `.vsix` files.
38+
39+
When adding or updating extensions, place the downloaded `.vsix` artifacts under the appropriate `codeserver/ubiX-python-Y/utils/` directory. Commit them normally; they will be stored as LFS objects.
40+
41+
## Troubleshooting
42+
43+
- If you see errors like "End of central directory record signature not found" when installing `.vsix` files, it usually means LFS pointers were checked out instead of the actual binaries.
44+
- For local development: run `git lfs install` once, then `git lfs pull` to fetch LFS content.
45+
- For CI or other environments: ensure the Git checkout step enables LFS, or run `git lfs pull` after checkout.

0 commit comments

Comments
 (0)