Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

git clone strace/strace on macOS fails: repo contains case-sensitive paths #134

Closed
mhansen opened this issue Apr 12, 2020 · 3 comments
Closed

Comments

@mhansen
Copy link

mhansen commented Apr 12, 2020

mark@Marks-MBP-2~/projects> git clone https://github.com/strace/strace.git
Cloning into 'strace'...
remote: Enumerating objects: 153, done.
remote: Counting objects: 100% (153/153), done.
remote: Compressing objects: 100% (101/101), done.
remote: Total 55999 (delta 80), reused 94 (delta 47), pack-reused 55846
Receiving objects: 100% (55999/55999), 17.96 MiB | 6.24 MiB/s, done.
Resolving deltas: 100% (42649/42649), done.
Checking out files: 100% (2573/2573), 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:

  'tests/strace-T.test'
  'tests/strace-t.test'

Expected: no errors cloning on macOS (I get that it's a Linux tool, but I'm doing my development on mac)

@vapier
Copy link
Contributor

vapier commented Apr 12, 2020

you can fix macOS so the filesystem is case sensitive and then it's not a problem

@mhansen
Copy link
Author

mhansen commented Apr 12, 2020

Yeah, macOS's filesystem is pretty wild. All the same, would you review a patch if I sent one through to rename these tests? Of course, I think I'll have to prepare it on Linux :-)

@Pegasust
Copy link
Contributor

Hi, sorry for necromancing. My setup involves Windows + WSL 2 with Windows mount extensively so I also run into this issue.

You could maybe develop this project inside a container with a volume not binded to your filesystem. I'm using Docker, which is also available on MacOS: https://docs.docker.com/desktop/mac/install/

I use VSCode primarily; .devcontainer is not really an option because it binds to the filesystem so I'm using the web interface instead.

My current setup

docker-compose -f strace-dev.docker-compose up --abort-on-container-exit

image

Relevant files

# dev.Dockerfile
FROM gitpod/openvscode-server:latest
ARG git_remote=https://github.com/strace/strace.git
EXPOSE 3000
LABEL name="git-codeweb" \
      version="0.0.1"

# Add more packages if needed here; the packages in the RUN
# command shows packages installed from gitpod/openvscode-server
# USER root
# RUN apt-get update && apt-get install -y --no-install-recommends \
#       git sudo libatomic1

# WORKDIR /home/workspace
USER openvscode-server

RUN git clone ${git_remote}
# strace-dev.docker-compose
services:
  dev-web:
    image: git-codeweb
    build:
      context: .
      dockerfile: dev.Dockerfile
      args:
        git_remote: https://github.com/strace/strace.git
    ports:
    - 3000:3000
    volumes:
    # the workspaces stored in this container
    - workspace:/home/workspace
    # the vscode extensions that user installed
    # - ~/.vscode-server/extensions:/home/.openvscode-server/extensions
    # the user previous user data from vscode
    # - ~/.vscode-server/data:/home/.openvscode-server/data
volumes:
  workspace: {}

ANOLASC pushed a commit to ANOLASC/strace that referenced this issue Sep 30, 2022
Unfortunately, there are still exist OSes and FSes that cannot
(or pretend that cannot) discern between file names with letters
in different cases;  there is little reason not to avoid breaking
workflow for those who are so unfortunate to happen to use them
(besides the general hesitance to cater for this decades-old barbarism).

* tests/strace-T.expected: Rename to...
* tests/strace-T_upper.expected: ...this.
* tests/strace-T.test: Rename to...
* tests/strace-T_upper.test: ...this.
* tests/gen_tests.in (strace--syscall-times, strace--syscall-times-ms,
strace--syscall-times-ns, strace--syscall-times-s,
strace--syscall-times-us): Change the included script name
from strace-T.test to strace-T_upper.test.
* tests/Makefile.am (MISC_TESTS): Change strace-T.test to
strace-T_upper.test.
(EXTRA_DIST): Change strace-T.expected to strace-T_upper.expected.

Co-authored-by: Pegasust <pegasucksgg@gmail.com>
Closes: strace#134
Closes: strace#213
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants