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

Solve outstanding issues #1

Open
3 of 7 tasks
JJ opened this issue Sep 1, 2019 · 11 comments
Open
3 of 7 tasks

Solve outstanding issues #1

JJ opened this issue Sep 1, 2019 · 11 comments

Comments

@JJ
Copy link
Collaborator

JJ commented Sep 1, 2019

@JJ JJ mentioned this issue Sep 2, 2019
@finanalyst
Copy link
Collaborator

re. #24, lower cased names.
I lower cased them in order to catch mis-spelt file names.
eg., if case-sensitive, then pod::To::Cached is different to Pod::To::Cached and a mis-spelt name would be allowed into the cache as well as the correct one.

Case sensitivity did not seem as important for documentation files as it might be for variables.

However, emitting a warning when a mis-spelling is detected is perhaps better.

@JJ
Copy link
Collaborator Author

JJ commented Sep 29, 2019

But both paths might coexist in Linux; that means that it will cause a clash for valid path names.

@finanalyst
Copy link
Collaborator

The point is that we are dealing with Pod files. Is there any real possibility that documentation files are going to differ by the case of a letter in the name of the file for a valid reason?

Isn't it more likely that the difference of a different case of a letter in a file name is due to a misspelling? This occurred to me several times.

@finanalyst
Copy link
Collaborator

I seem to remember there was another reason I added the normalisation to lower case.

Some other package did not work properly when uppercase letters were used.

But I cannot remember exactly what it was.

@finanalyst
Copy link
Collaborator

JJ / Antonio, I want to work on the Specific exceptions class issue.
Have you any preference for what it should be called?

@tbrowder
Copy link
Member

How does the non-case nature of the Windows file system affect the issue? I've found over the years that Windows users (not devs so much) tend to be careless about such things compared to *nix users.

@JJ
Copy link
Collaborator Author

JJ commented Sep 29, 2019 via email

@finanalyst
Copy link
Collaborator

The windows exception might be why I normalised to lower case for the cache key names. I also stored the original name of the file in the index.json file so that the case-restored file name could be restored if need be from the key name.
Insisting on case-sensitive file names because *nix can seems to me to be overkill. ???

@JJ
Copy link
Collaborator Author

JJ commented Sep 30, 2019 via email

@finanalyst
Copy link
Collaborator

I'm trying to duplicate the 'moving file' problem.
After running tests 0-040* (not 050*), the test directory has a cache in 't/tmp/ref' and documents in 't/tmp/doc'.
Running perl6 -Ilib -MPod::To::Cached from the root directory of the repo and I enter REPL
I run my Pod::To::Cached $c .= new(:path<t/tmp/rep>)
Then in another terminal I move a Pod file from one sub directory of 't/tmp/doc' to another.
in REPL, I run $c.update-cache and I get no error, nothing hangs or freezes.

I rerun my Pod::To::Cached $c .= new(:path<t/tmp/rep>) Again no ill effects.

I want to create a test file that generates the problem reported.

@JJ
Copy link
Collaborator Author

JJ commented Sep 30, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants