mrcjkb / rustaceanvim

🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim
GNU General Public License v2.0
1.78k stars 69 forks source link

Git clone on Windows fails with error: unable to create file ?: Invalid argument #547

Closed freddiehaddad closed 1 month ago

freddiehaddad commented 1 month ago

Have you read the docs and searched existing issues?

Neovim version (nvim -v)

NA

Operating system/version

Windows 24H2 (OS Build 26100.2033)

Output of :checkhealth rustaceanvim

NA

How to reproduce the issue

Clone the repository on Windows:

git clone https://github.com/mrcjkb/rustaceanvim.git

Expected behaviour

clone successful

I did try git config --global core.longpaths true and cloning again with no luck.

Actual behaviour

Cloning into 'rustaceanvim'...
remote: Enumerating objects: 5553, done.
remote: Counting objects: 100% (1673/1673), done.
remote: Compressing objects: 100% (575/575), done.
remote: Total 5553 (delta 1248), reused 1206 (delta 1056), pack-reused 3880 (from 1)
Receiving objects: 100% (5553/5553), 1.16 MiB | 3.90 MiB/s, done.
Resolving deltas: 100% (3375/3375), done.
error: unable to create file ?: Invalid argument
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

This line from above is suspicious error: unable to create file ?: Invalid argument

Output from:

$ git restore --source=HEAD :/
error: unable to create file ?: Invalid argument

Output from git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        deleted:    "\r"
        deleted:    .busted
        deleted:    .envrc
        deleted:    .github/DISCUSSION_TEMPLATE/q-a.yml
        deleted:    .github/FUNDING.yml
        deleted:    .github/ISSUE_TEMPLATE/bug_report.yml
        deleted:    .github/ISSUE_TEMPLATE/feature_request.yml
        deleted:    .github/dependabot.yml
        deleted:    .github/workflows/auto-merge.yml
        deleted:    .github/workflows/flakehub-publish-tagged.yaml
        deleted:    .github/workflows/luarocks.yml
        deleted:    .github/workflows/nix-build.yml
        deleted:    .github/workflows/pr.yml
        deleted:    .github/workflows/release-please-config.json
        deleted:    .github/workflows/release-please.yml
        deleted:    .github/workflows/review-checklist.yml
        deleted:    .github/workflows/update.yml
        deleted:    .gitignore
        deleted:    .luacheckrc
        deleted:    .stylua.toml
        deleted:    CHANGELOG.md
        deleted:    CODE_OF_CONDUCT.md
        deleted:    CONTRIBUTING.md
        deleted:    LICENSE
        deleted:    README.md
        deleted:    doc/mason.txt
        deleted:    doc/rustaceanvim.txt
        deleted:    doc/tags
        deleted:    flake.lock
        deleted:    flake.nix
        deleted:    ftplugin/rust.lua
        deleted:    ftplugin/rust.vim
        deleted:    ftplugin/toml.lua
        deleted:    lua/rustaceanvim/cached_commands.lua
        deleted:    lua/rustaceanvim/cargo.lua
        deleted:    lua/rustaceanvim/commands/code_action_group.lua
        deleted:    lua/rustaceanvim/commands/crate_graph.lua
        deleted:    lua/rustaceanvim/commands/debuggables.lua
        deleted:    lua/rustaceanvim/commands/diagnostic.lua
        deleted:    lua/rustaceanvim/commands/expand_macro.lua
        deleted:    lua/rustaceanvim/commands/external_docs.lua
        deleted:    lua/rustaceanvim/commands/fly_check.lua
        deleted:    lua/rustaceanvim/commands/hover_range.lua
        deleted:    lua/rustaceanvim/commands/init.lua
        deleted:    lua/rustaceanvim/commands/join_lines.lua
        deleted:    lua/rustaceanvim/commands/move_item.lua
        deleted:    lua/rustaceanvim/commands/open_cargo_toml.lua
        deleted:    lua/rustaceanvim/commands/parent_module.lua
        deleted:    lua/rustaceanvim/commands/rebuild_proc_macros.lua
        deleted:    lua/rustaceanvim/commands/rustc_unpretty.lua
        deleted:    lua/rustaceanvim/commands/ssr.lua
        deleted:    lua/rustaceanvim/commands/syntax_tree.lua
        deleted:    lua/rustaceanvim/commands/view_ir.lua
        deleted:    lua/rustaceanvim/commands/workspace_refresh.lua
        deleted:    lua/rustaceanvim/commands/workspace_symbol.lua
        deleted:    lua/rustaceanvim/compat.lua
        deleted:    lua/rustaceanvim/config/check.lua
        deleted:    lua/rustaceanvim/config/init.lua
        deleted:    lua/rustaceanvim/config/internal.lua
        deleted:    lua/rustaceanvim/config/json.lua
        deleted:    lua/rustaceanvim/config/server.lua
        deleted:    lua/rustaceanvim/dap.lua
        deleted:    lua/rustaceanvim/executors/_meta.lua
        deleted:    lua/rustaceanvim/executors/background.lua
        deleted:    lua/rustaceanvim/executors/init.lua
        deleted:    lua/rustaceanvim/executors/neotest.lua
        deleted:    lua/rustaceanvim/executors/quickfix.lua
        deleted:    lua/rustaceanvim/executors/termopen.lua
        deleted:    lua/rustaceanvim/executors/toggleterm.lua
        deleted:    lua/rustaceanvim/executors/vimux.lua
        deleted:    lua/rustaceanvim/health.lua
        deleted:    lua/rustaceanvim/hover_actions.lua
        deleted:    lua/rustaceanvim/init.lua
        deleted:    lua/rustaceanvim/lsp/_meta.lua
        deleted:    lua/rustaceanvim/lsp/init.lua
        deleted:    lua/rustaceanvim/neotest/init.lua
        deleted:    lua/rustaceanvim/neotest/parser.lua
        deleted:    lua/rustaceanvim/neotest/trans.lua
        deleted:    lua/rustaceanvim/os.lua
        deleted:    lua/rustaceanvim/overrides.lua
        deleted:    lua/rustaceanvim/runnables.lua
        deleted:    lua/rustaceanvim/rust_analyzer.lua
        deleted:    lua/rustaceanvim/server_status.lua
        deleted:    lua/rustaceanvim/shell.lua
        deleted:    lua/rustaceanvim/test.lua
        deleted:    lua/rustaceanvim/types/internal.lua
        deleted:    lua/rustaceanvim/ui.lua
        deleted:    nix/ci-overlay.nix
        deleted:    nix/docgen.nix
        deleted:    nix/plugin-overlay.nix
        deleted:    result
        deleted:    rust-tools.nvim-LICENSE
        deleted:    rustaceanvim-scm-1.rockspec
        deleted:    rustaceanvim.svg
        deleted:    spec/56_spec.lua
        deleted:    spec/config_server_spec.lua
        deleted:    spec/fixtures/dap/dynamic-libs/.cargo/config.toml
        deleted:    spec/fixtures/dap/dynamic-libs/.envrc
        deleted:    spec/fixtures/dap/dynamic-libs/.gitignore
        deleted:    spec/fixtures/dap/dynamic-libs/Cargo.lock
        deleted:    spec/fixtures/dap/dynamic-libs/Cargo.toml
        deleted:    spec/fixtures/dap/dynamic-libs/README.md
        deleted:    spec/fixtures/dap/dynamic-libs/flake.lock
        deleted:    spec/fixtures/dap/dynamic-libs/flake.nix
        deleted:    spec/fixtures/dap/dynamic-libs/rust-toolchain.toml
        deleted:    spec/fixtures/dap/dynamic-libs/src/main.rs
        deleted:    spec/fixtures/rust-analyzer-json-top-level/rust-analyzer.json
        deleted:    spec/fixtures/rust-analyzer-json/rust-analyzer.json
        deleted:    spec/json_spec.lua
        deleted:    spec/lsp_spec.lua
        deleted:    spec/neotest_spec.lua
        deleted:    spec/test_spec.lua
        deleted:    troubleshooting/minimal.lua

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .busted
        .envrc
        .github/
        .gitignore
        .luacheckrc
        .stylua.toml
        CHANGELOG.md
        CODE_OF_CONDUCT.md
        CONTRIBUTING.md
        LICENSE
        README.md
        doc/
        flake.lock
        flake.nix
        ftplugin/
        lua/
        nix/
        result
        rust-tools.nvim-LICENSE
        rustaceanvim-scm-1.rockspec
        rustaceanvim.svg
        spec/
        troubleshooting/

The minimal config used to reproduce this issue.

NA
freddiehaddad commented 1 month ago

Couple thoughts:

  1. From the error, there appears to be a file with a ? in the name which Windows does not allow.
  2. https://github.com/mrcjkb/rustaceanvim/commit/d1f56672638508a7bc971cde31a29df4018579a9 introduced the Result file, I wonder if that's the cause?
mrcjkb commented 1 month ago

https://github.com/mrcjkb/rustaceanvim/commit/ccff14065096c8978c431944f0f0db16db952c7b