Skip to content

bug: Detected cycle in desired paths throws on filename prefixes #754

Description

@jokesper

Did you check the docs and existing issues?

  • I have read the docs
  • I have searched the existing issues

Neovim version (nvim -v)

0.12.2

Operating system/version

NixOS

Describe the bug

Having two files foo and foo2 in the same directory it is not possible to swap the names.

I.e.:

/001 foo
/002 foo2

to

/001 foo2
/002 foo

fails with Detected cycle in desired paths.
The buffer is no longer modifable afterwords, so it is very difficult to get out of the broken state.

Just noticed, that it apperantly not that reproducable, since depending on how the files got into oil (i.e. if they were created by it without closing inbetween) then no error occors.

What is the severity of this bug?

minor (annoyance)

Steps To Reproduce

  1. touch foo
  2. touch foo2
  3. nvim .
  4. Changing foo to foo2 and foo2 to foo
  5. Saving

Expected Behavior

no error. works as any other cyclic renaming does

Directory structure

foo
foo2

Repro

-- save as repro.lua
-- run with nvim -u repro.lua
-- DO NOT change the paths
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "runtime", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--single-branch",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  {
        "stevearc/oil.nvim",
        config = function()
            require("oil").setup({
              -- add any needed settings here
            })
        end,
  },
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Did you check the bug with a clean config?

  • I have confirmed that the bug reproduces with nvim -u repro.lua using the repro.lua file above.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions