yi-editor / yi

The Haskell-Scriptable Editor
GNU General Public License v2.0
1.5k stars 199 forks source link

Conflict file names on case-insensitive file systems #1129

Open SnowOnion opened 1 year ago

SnowOnion commented 1 year ago

Version: Latest master https://github.com/yi-editor/yi/tree/58c239e3a77cef8f4f77e94677bd6a295f585f5f

Conflict files:

  'yi-keymap-vim/tests/vimtests/blockvisual/block_P_1.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_p_1.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_P_2.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_p_2.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_P_3.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_p_3.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_P_4.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_p_4.test'
  'yi-keymap-vim/tests/vimtests/repeat/O1.test'
  'yi-keymap-vim/tests/vimtests/repeat/o1.test'

It discourages developers on Mac / Windows.

musvaage commented 1 year ago

https://github.com/yi-editor/yi/commit/b39ab56200bdaca1d7c26988ea8d88b3d6d6d790

Make vim tests pass committed on Aug 14, 2016

yi-core/tests/vimtests/repeat/O1.test → yi-keymap-vim/tests/vimtests/repeat/O1.test File renamed without changes.

yi-core/tests/vimtests/repeat/o1.test → yi-keymap-vim/tests/vimtests/repeat/o1.test File renamed without changes.

O1.test and o1.test seem to have identical content.


Have you any comment on authoring tests which (inferred from the OP) are not able to run on Windows-Native?

https://github.com/yi-editor/yi/commit/11d0d5884cbd1c25ae15a9fc03b4464ccec9a0fc

add tests for visual-block paste committed on Oct 10, 2017

SnowOnion commented 1 year ago

Thanks for checking, @musvaage ^_^ I’d like to add that, these files conflict once being git cloneed, not when being run as test cases.

> git clone git@github.com:yi-editor/yi.git
Cloning into 'yi'...
remote: Enumerating objects: 43182, done.
remote: Counting objects: 100% (91/91), done.
remote: Compressing objects: 100% (85/85), done.
remote: Total 43182 (delta 15), reused 23 (delta 0), pack-reused 43091
Receiving objects: 100% (43182/43182), 33.86 MiB | 2.74 MiB/s, done.
Resolving deltas: 100% (29796/29796), done.
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'yi-keymap-vim/tests/vimtests/blockvisual/block_P_1.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_p_1.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_P_2.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_p_2.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_P_3.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_p_3.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_P_4.test'
  'yi-keymap-vim/tests/vimtests/blockvisual/block_p_4.test'
  'yi-keymap-vim/tests/vimtests/repeat/O1.test'
  'yi-keymap-vim/tests/vimtests/repeat/o1.test'

> cd yi

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

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   yi-keymap-vim/tests/vimtests/blockvisual/block_P_1.test
    modified:   yi-keymap-vim/tests/vimtests/blockvisual/block_P_2.test
    modified:   yi-keymap-vim/tests/vimtests/blockvisual/block_P_3.test
    modified:   yi-keymap-vim/tests/vimtests/blockvisual/block_P_4.test

no changes added to commit (use "git add" and/or "git commit -a")
musvaage commented 1 year ago

https://github.com/yi-editor/yi/commit/11d0d5884cbd1c25ae15a9fc03b4464ccec9a0fc

add tests for visual-block paste committed on Oct 10, 2017

cf: Issue 458 (Closed)

yi-keymap-vim/tests/vimtests/blockvisual/block_P_1.test → yi-keymap-vim/tests/vimtests/blockvisual/block_capP_1.test yi-keymap-vim/tests/vimtests/repeat/O1.test → yi-keymap-vim/tests/vimtests/repeat/capO1.test


think of some descriptive filenames for these tests rename d_0.test d_1.test D_0.test D_1.test to just d_0.test d_1.test d_2.test d_3.test

From the above cited Issue this would appear to be a cleaner approach.


Maybe the tests should be moved to their own repo with a README.md noting they're written for case-sensitive OSes.

musvaage commented 1 year ago

Quick edit on behalf of users.

yi-keymap-vim/README.rst

  Testing
  =======

  Single file test format
  -----------------------

+ The tests were written for case-sensitive OSes.

  Files with names like "foo.test" are treated as single file tests.

  ::

their own repo

I don't think Maintainer priorities would presently favour relocation.

That being said it would oblige editing yi-keymap-vim/README.rst and yi-keymap-vim/yi-keymap-vim.cabal.

A suggested location.

github.com/yi-editor/keymap-tests