Vscode-docs: Improve Git LFS dev docs

Created on 29 Mar 2019  路  12Comments  路  Source: microsoft/vscode-docs

The instructions in README.md are directed to a power dev who really cares about the space in his disk. They use GIT_LFS_SKIP_SMUDGE and then git lfs pull -I to fetch selectively.

A simple git clone is sufficient for most of us at @Microsoft/vscode, who don't really care about disk space.

The current instructions are confusing, making LFS seem complicated:

@sandy081: Does anybody know how to add new images to release notes ? I don鈥檛 see any doc about it. Can we just add them like before?


I suggest to changes the docs in the following way:

  1. Have the recommended setup simply be git clone https://github.com/Microsoft/vscode-docs.git. This is the LFS way: it's just transparent, everything just works, git add, git commit, etc.
  2. Have a separate section for power devs who care about disk space. Move the GIT_LFS_SKIP_SMUDGE and git lfs pull -I parts there.

Most helpful comment

Worked for me with Joaos steps.

All 12 comments

Instructions for all of us would be:

  1. Delete local clone of vscode-docs
  2. Install Git LFS
  3. Clone again: git clone [email protected]:Microsoft/vscode-docs.git
  4. Checkout vnext branch: git checkout vnext

+1 for making it simple for who doesn't care about disk space and we can make it clear that we can safely use all git commands without breaking others.

I'm having a lot of trouble on windows using the method you mention @joaomoreno, at least when using https it gets a rate limit error:

PS D:\dev\Microsoft> git clone https://github.com/Microsoft/vscode-docs
Cloning into 'vscode-docs'...
remote: Enumerating objects: 63, done.
remote: Counting objects: 100% (63/63), done.
remote: Compressing objects: 100% (41/41), done.
remote: Total 3036 (delta 39), reused 43 (delta 22), pack-reused 2973
Receiving objects: 100% (3036/3036), 2.25 MiB | 1.69 MiB/s, done.
Resolving deltas: 100% (340/340), done.
Downloading api/extension-capabilities/images/extending-workbench/workbench-contribution.png (418 KB)
Downloading api/extension-capabilities/images/theming/color-theme.png (276 KB)
Downloading api/extension-capabilities/images/theming/icon-theme.png (664 KB)
Downloading api/extension-guides/images/color-theme/color-setting.png (273 KB)
Downloading api/extension-guides/images/color-theme/mytheme.png (31 KB)
Downloading api/extension-guides/images/color-theme/tm-inspector.png (203 KB)
Downloading api/extension-guides/images/color-theme/yocode-colortheme.png (28 KB)
Downloading api/extension-guides/images/commands/palette.png (22 KB)
Downloading api/extension-guides/images/debugger-extension/debug-arch1.png (33 KB)
Downloading api/extension-guides/images/debugger-extension/debug-arch2.png (42 KB)
Downloading api/extension-guides/images/debugger-extension/debug-features.png (296 KB)
Downloading api/extension-guides/images/debugger-extension/debug-init-config.png (15 KB)
Downloading api/extension-guides/images/debugger-extension/debug-mock-session.png (75 KB)
Downloading api/extension-guides/images/debugger-extension/debugger-extension-server.png (134 KB)
Downloading api/extension-guides/images/debugger-extension/mock-debug.gif (154 KB)
Downloading api/extension-guides/images/scm-provider/main.png (62 KB)
Downloading api/extension-guides/images/scm-provider/menus.png (30 KB)
Downloading api/extension-guides/images/scm-provider/quickdiff.png (66 KB)
Downloading api/extension-guides/images/scm-provider/sourcecontrol-menu.png (45 KB)
Downloading api/extension-guides/images/tree-view/view-actions.png (85 KB)
Downloading api/extension-guides/images/tree-view/view-container.png (291 KB)
Downloading api/extension-guides/images/tree-view/view.png (50 KB)
Downloading api/extension-guides/images/virtual-documents/cowsay-bwd.png (13 KB)
Downloading api/extension-guides/images/webview/basics-developer_tools.png (219 KB)
Downloading api/extension-guides/images/webview/basics-drag.gif (2.9 MB)
Downloading api/extension-guides/images/webview/basics-html.png (135 KB)
Downloading api/extension-guides/images/webview/basics-no_content.png (14 KB)
Downloading api/extension-guides/images/webview/basics-ondidchangeviewstate.gif (3.5 MB)
Downloading api/extension-guides/images/webview/basics-restore.gif (1.8 MB)
Downloading api/extension-guides/images/webview/basics-single_panel.gif (1.7 MB)
Downloading api/extension-guides/images/webview/basics-update.gif (2.5 MB)
Downloading api/extension-guides/images/webview/debug-active-frame.png (22 KB)
Downloading api/extension-guides/images/webview/persistence-retrain.gif (2.5 MB)
Downloading api/extension-guides/images/webview/scripts-basic.gif (1.5 MB)
Downloading api/extension-guides/images/webview/scripts-extension_to_webview.gif (1.9 MB)
Downloading api/extension-guides/images/webview/scripts-webview_to_extension.gif (2.7 MB)
Downloading api/get-started/images/your-first-extension/debug.mp4 (505 KB)
Downloading api/get-started/images/your-first-extension/launch.mp4 (226 KB)
Downloading api/get-started/images/your-first-extension/reload.mp4 (315 KB)
Downloading api/language-extensions/images/language-server-extension-guide/codeComplete.png (51 KB)
Downloading api/language-extensions/images/language-server-extension-guide/debugging-client.png (315 KB)
Downloading api/language-extensions/images/language-server-extension-guide/debugging-server.png (316 KB)
Downloading api/language-extensions/images/language-server-extension-guide/extensibility-architecture.png (29 KB)
Downloading api/language-extensions/images/language-server-extension-guide/lsp-illustration.png (27 KB)
Downloading api/language-extensions/images/language-server-extension-guide/lsp-inspector.png (225 KB)
Downloading api/language-extensions/images/language-server-extension-guide/lsp-languages-editors.png (71 KB)
Downloading api/language-extensions/images/language-server-extension-guide/lsp-log.png (110 KB)
Downloading api/language-extensions/images/language-server-extension-guide/validation.png (49 KB)
Downloading api/language-extensions/images/language-server-extension-guide/validationOneProblem.png (48 KB)
Downloading api/language-extensions/images/language-support/code-completion.gif (351 KB)
Downloading api/language-extensions/images/language-support/code-lens copy.gif (1.1 MB)
Downloading api/language-extensions/images/language-support/color-decorators.png (25 KB)
Downloading api/language-extensions/images/language-support/diagnostics.gif (62 KB)
Downloading api/language-extensions/images/language-support/document-highlights.gif (114 KB)
Downloading api/language-extensions/images/language-support/document-symbols.gif (688 KB)
Downloading api/language-extensions/images/language-support/find-references.gif (492 KB)
Downloading api/language-extensions/images/language-support/format-document-range.gif (422 KB)
Downloading api/language-extensions/images/language-support/format-document.gif (210 KB)
Downloading api/language-extensions/images/language-support/format-on-type.gif (35 KB)
Downloading api/language-extensions/images/language-support/goto-definition.gif (201 KB)
Downloading api/language-extensions/images/language-support/hovers.gif (157 KB)
Downloading api/language-extensions/images/language-support/quick-fixes.gif (153 KB)
Downloading api/language-extensions/images/language-support/rename.gif (460 KB)
Downloading api/language-extensions/images/language-support/signature-help.gif (79 KB)
Downloading api/language-extensions/images/language-support/smart-editing.gif (67 KB)
Downloading api/language-extensions/images/language-support/snippets.gif (54 KB)
Downloading api/language-extensions/images/language-support/syntax-highlighting.png (21 KB)
Downloading api/language-extensions/images/language-support/workspace-symbols.gif (375 KB)
Downloading api/language-extensions/images/overview/multi-editor.png (70 KB)
Downloading api/language-extensions/images/overview/multi-ls.png (70 KB)
Downloading api/language-extensions/images/syntax-highlighting/generated-new-language-extension.png (37 KB)
Downloading api/language-extensions/images/syntax-highlighting/scope-inspector.png (79 KB)
Downloading api/language-extensions/images/syntax-highlighting/scopes.png (62 KB)
Downloading api/language-extensions/images/syntax-highlighting/yaml-grammar.png (117 KB)
Downloading api/language-extensions/images/syntax-highlighting/yo-convert.png (62 KB)
Downloading api/language-extensions/images/syntax-highlighting/yo-new-language-questions.png (251 KB)
Downloading api/language-extensions/images/syntax-highlighting/yo-new-language.png (74 KB)
Downloading api/references/images/contribution-points/commands.png (28 KB)
Downloading api/references/images/contribution-points/configuration.png (18 KB)
Downloading api/references/images/contribution-points/custom-views-container.png (81 KB)
Downloading api/references/images/contribution-points/grammars.png (44 KB)
Downloading api/references/images/contribution-points/groupSorting.png (26 KB)
Downloading api/references/images/contribution-points/keybindings.png (78 KB)
Downloading api/references/images/contribution-points/menus.png (224 KB)
Downloading api/references/images/contribution-points/themes.png (44 KB)
Downloading api/references/images/contribution-points/views.png (31 KB)
Downloading api/references/images/theme-color/bracket-colors.png (6.6 KB)
Downloading api/references/images/theme-color/button.png (9.0 KB)
Downloading api/references/images/theme-color/codelens.png (5.7 KB)
Downloading api/references/images/theme-color/dropdown.png (24 KB)
Downloading api/references/images/theme-color/editorGroup-border.gif (5.0 KB)
Downloading api/references/images/theme-color/editorGroup-dropbackground.gif (90 KB)
Downloading api/references/images/theme-color/editorgroupheader-notabsbackground.gif (4.1 KB)
Downloading api/references/images/theme-color/editorgroupheader-tabsbackground.gif (3.3 KB)
Downloading api/references/images/theme-color/editorgroupheader-tabsborder.gif (3.3 KB)
Downloading api/references/images/theme-color/findmatches.png (33 KB)
Downloading api/references/images/theme-color/hoverhighlight.png (7.5 KB)
Downloading api/references/images/theme-color/input.png (27 KB)
Downloading api/references/images/theme-color/line.png (4.9 KB)
Downloading api/references/images/theme-color/link.png (3.7 KB)
Downloading api/references/images/theme-color/merge-ranges.png (10 KB)
Error downloading object: api/references/images/theme-color/merge-ranges.png (c83ae18): Smudge error: Error downloading api/references/images/theme-color/merge-ranges.png (c83ae18f5d2a07628da4be5369f46b5f230e3f26e91c636fa90e5cc7b8162f28): batch response: Rate limit exceeded: https://github.com/Microsoft/vscode-docs.git/info/lfs/objects/batch

Errors logged to D:\dev\Microsoft\vscode-docs\.git\lfs\logs\20190329T085921.0270972.log
Use `git lfs logs last` to view the log.
error: external filter 'git-lfs filter-process' failed
fatal: api/references/images/theme-color/merge-ranges.png: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

Worked for me with Joaos steps.

@joaomoreno With your instructions it errors out on my machine while cloning:

git clone https://github.com/Microsoft/vscode-docs.git             

Cloning into 'vscode-docs'...
remote: Enumerating objects: 181, done.
remote: Counting objects: 100% (181/181), done.
remote: Compressing objects: 100% (117/117), done.
remote: Total 3159 (delta 113), reused 119 (delta 64), pack-reused 2978
Receiving objects: 100% (3159/3159), 2.30 MiB | 2.93 MiB/s, done.
Resolving deltas: 100% (417/417), done.
Downloading api/extension-capabilities/images/extending-workbench/workbench-contribution.png (407.84 KB)
Error accessing media: api/extension-capabilities/images/extending-workbench/workbench-contribution.png (5776da85f8813b18ade37dc4ceece172001ee5a5308d20caa05b437450ccb787)
fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0xb01dfacedebac1e pc=0x80180]

goroutine 1 [running]:
runtime.throw(0x5149c0, 0x2a)
    /usr/local/Cellar/go/1.5.1/libexec/src/runtime/panic.go:527 +0x90 fp=0xc8200ef440 sp=0xc8200ef428
runtime.sigpanic()
    /usr/local/Cellar/go/1.5.1/libexec/src/runtime/sigpanic_unix.go:12 +0x5a fp=0xc8200ef490 sp=0xc8200ef440
sync.(*Pool).Get(0x6be890, 0x0, 0x0)
    /usr/local/Cellar/go/1.5.1/libexec/src/sync/pool.go:101 +0x40 fp=0xc8200ef4e0 sp=0xc8200ef490
fmt.newPrinter(0xc82023a010)
    /usr/local/Cellar/go/1.5.1/libexec/src/fmt/print.go:133 +0x27 fp=0xc8200ef520 sp=0xc8200ef4e0
...

I'm using git-lfs 2.7.1 from Homebrew on Mac.

Homebrew didn't symlink its install, brew link --overwrite git-lfs helped. (Thanks @joaomoreno !)

I also got rate errors when using https.

Let me reach out to GitHub on the rate limit, since @Tyriar also run into this. LFS is officially supported and our usage isn't that high, I think.

I also got rate errors when using https.

@alexandrudima Do you also get errors with git://?

@octref I have not set up an SSH public/private key pair, but if everyone else in the office uses the git:// way and they don't hit rate limits, I guess the problem is limited to cloning using https.

@octref Do you not get rate errors when using Joao's steps with git clone https://github.com/Microsoft/vscode-docs.git + git checkout vnext ?

 Code > git clone https://github.com/Microsoft/vscode-docs.git
Cloning into 'vscode-docs'...
remote: Enumerating objects: 255, done.
remote: Counting objects: 100% (255/255), done.
remote: Compressing objects: 100% (174/174), done.
remote: Total 3462 (delta 81), reused 253 (delta 81), pack-reused 3207
Receiving objects: 100% (3462/3462), 2.74 MiB | 13.43 MiB/s, done.
Resolving deltas: 100% (534/534), done.
Checking out files: 100% (2369/2369), done.
Filtering content: 100% (2057/2057), 754.72 MiB | 5.98 MiB/s, done.
 Code > ls
fiddle  foo  hello-code  mine  test  vscode-docs  vscode-extension-samples  vscode-remote  work
 Code > cd vscode-docs
 vscode-docs > ls
api    build  images         tutorials  CONTRIBUTING.md  README.md    package.json
blogs  docs   release-notes  wiki       LICENSE.md       gulpfile.js  yarn.lock
 vscode-docs > git checkout vnext
Filtering content: 100% (13/13), 13.36 MiB | 2.60 MiB/s, done.
Branch 'vnext' set up to track remote branch 'vnext' from 'origin'.
Switched to a new branch 'vnext'
 vscode-docs > du -h -d .
1.5G    .

:+1: Thanks for trying it out. Perhaps it is something specific to our work internet, we all go on the internet through the UK for whatever reason ... and perhaps that triggers some rate limits...

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gitdudek picture gitdudek  路  7Comments

tariqawni picture tariqawni  路  5Comments

JanKok picture JanKok  路  4Comments

tetchel picture tetchel  路  6Comments

jrieken picture jrieken  路  4Comments