-
Notifications
You must be signed in to change notification settings - Fork 672
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
Bad file/dir names stop cloning of repo on Windows #641
Comments
It is unclear the from README whether this repo should be able to used on Windows. Given that Hugo is cross platform I assumed Windows would be a "supported", or at least, allowed platform to use. |
I audited the repo for bad file names. Result is below; Just over 100 files are bad.
|
…s names This commit renames directories, replacing characters which are invalid on Windows filesystem with underscore. This commit also modifies references to the renamed directories. This commit only modified static files for the year 2013.
…names This commit adds a helper script (build/check-invalid-filenames.sh) which processes the file and directory names in the repoistory and reports an error if it finds names which would be invalid on a Windows filesystem. This commit configures Wercker to run the validation script prior to building via Hugo. The script will fail on the first file it finds. To list all invalid files, set environment variable NO_EXIT_ON_FAILURE and the script will list all errors on STDERR but emit a zero exit code.
…names This commit adds a helper script (build/check-invalid-filenames.sh) which processes the file and directory names in the repoistory and reports an error if it finds names which would be invalid on a Windows filesystem. This commit configures Wercker to run the validation script prior to building via Hugo. The script will fail on the first file it finds. To list all invalid files, set environment variable NO_EXIT_ON_FAILURE and the script will list all errors on STDERR but emit a zero exit code.
…s names This commit renames directories, replacing characters which are invalid on Windows filesystem with underscore. This commit also modifies references to the renamed directories. This commit only modified static files for the year 2014.
…s names … This commit renames directories, replacing characters which are invalid on Windows filesystem with underscore. This commit also modifies references to the renamed directories. This commit only modified static files for the year 2015
…s names … This commit renames directories, replacing characters which are invalid on Windows filesystem with underscore. This commit also modifies references to the renamed directories. This commit only modified static files for the year 2016.
…s names This commit renames directories, replacing characters which are invalid on Windows filesystem with underscore. This commit also modifies references to the renamed directories. This commit only modified static files for the year 2014.
…s names … This commit renames directories, replacing characters which are invalid on Windows filesystem with underscore. This commit also modifies references to the renamed directories. This commit only modified static files for the year 2015
…s names … This commit renames directories, replacing characters which are invalid on Windows filesystem with underscore. This commit also modifies references to the renamed directories. This commit only modified static files for the year 2016.
…s names This commit renames directories, replacing characters which are invalid on Windows filesystem with underscore. This commit also modifies references to the renamed directories. This commit only modified static files for the year 2014.
…s names … This commit renames directories, replacing characters which are invalid on Windows filesystem with underscore. This commit also modifies references to the renamed directories. This commit only modified static files for the year 2015
…s names … This commit renames directories, replacing characters which are invalid on Windows filesystem with underscore. This commit also modifies references to the renamed directories. This commit only modified static files for the year 2016.
This will be resolved by #854 |
@glennsarti - can you try a fresh clone of the repo now, to see if it works better on Windows? |
@mattstratton Still broken C:\temp> git clone https://github.com/devopsdays/devopsdays-web.git
Cloning into 'devopsdays-web'...
remote: Counting objects: 36531, done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 36531 (delta 24), reused 22 (delta 22), pack-reused 36466
Receiving objects: 100% (36531/36531), 41.55 MiB | 3.44 MiB/s, done.
Resolving deltas: 100% (18721/18721), done.
Checking connectivity... done.
fatal: cannot create directory at 'static/events/2016-london/proposals/A DevOps State of Mind: Docker and Kubernetes': Invalid argument
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'
C:\temp> Confirmed there is an incompatible file in the following directory; Confirmed HEAD of master is at;
|
@mattstratton Can I please get this issue re-opened? |
@mattstratton I ran my check script over the repo and that london file is the only one outstanding....so close... Script contents are at; glenn@GLENN:/tmp/devopsdays-web$ /mnt/c/Temp/check.sh
Error: File name is incompatible to windows file systems.
File: /static/events/2016-london/proposals/A DevOps State of Mind: Docker and Kubernetes/index.html
Error: illegalchars=94
glenn@GLENN:/tmp/devopsdays-web$ |
Looks like it's just the 2016-London proposals, right? I can do a workaround for them. |
I think our best move is just to redirect 2016-london to legacy. I'll test this later tonight. |
Even better - those files aren't used. I think I can just delete them. I'll test |
Forgot to check ALL files not just the first failure...
So all but one are in the 2016 London event. The Vancouver one is interesting. It's complaining about the en-dash but it is a valid character for a Windows filename. Confirmed that if remove the |
Can you do a fresh clone and see if this fixes everything? I'm not sure if we have to purge them from history as wel as just remove them, which is what I did in #986 |
Oh happy day....!!!!!!
I'm not too concerned about history removal. That would just make it possible to go back to previous commits, which is not a typical use case. |
Yeah, with regard to history, I just didn't know if the .git directory would have some files that were bad on Windows. |
They come in as objects so no, not original filenames. @mattstratton Thanks for all your work on this! 🎉 |
Unfortunately the directory at
static/events/2013-atlanta/proposals/The DevOps Pay Raise: Quantifying Your Value to Move Up the Ladder
contains an invalid filename character (:
) which means the devopsdays-web repo can never be cloned on a Windows system. (or at the very least checkout the current HEAD of 29d6da2)Possible solution: Rename the file to something that does not include invalid Windows characters. While this means Windows users will not be able to checkout previous commits, at least they will be able to checkout master HEAD.
Ref: Windows Naming Conventions
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
The text was updated successfully, but these errors were encountered: