Have pre-commit hook ignore comments in .gitignore#6
Open
TV4Fun wants to merge 6 commits intoNYUGameCenter:masterfrom
Open
Have pre-commit hook ignore comments in .gitignore#6TV4Fun wants to merge 6 commits intoNYUGameCenter:masterfrom
TV4Fun wants to merge 6 commits intoNYUGameCenter:masterfrom
Conversation
While trying to add my own customization to the .gitignore, I had an issue where the pre-commit hook was seeing a reference to an issue in another project inside a comment as a directory and producing an error. This fixes my issue by ignore lines that begin with # when parsing the .gitignore. Note that this will still pick up inline comments, so there should probably be a better fix than this.
This changes the regex that `pre-commit` uses to validate .gitignore in a couple ways: * Only match whole line instead of single-word changes * This may cause us to miss some changes, but the trimming below expects it, so we kinda have to. * Ignore files with leading .s * Unity will not create meta files for these, so we don't need to check. * Ignore files that end in *s. * This will also include the .meta files, so don't need a separate line for them. Also add a comment saying WTF this code is actually doing and fix a spelling error.
* Replace hacky string manipulation with `basename` * The existing approavh is very brittle and leads to a lot of false negatives, so just use the shell builtin `basename` instead. * Prevent file glob expansion when echoing dir name * Some shells (including POSIX-standard sh) expand file globs in `echo`. This was causing some very confusing output. Fix that. * Display full file name in listing * A lot of gitignore entries were showing only blank lines. This makes it clearer what is actually being processed. * Disable regex expansion when searching output metas * `grep` by default treats search patterns as regexes, which was causing a lot of false negatives in entries with asterisks. Disable regex expansion to catch more things. * Also search for full path in metas. * Searching only for the base path caused some false positives where the full .meta path was included. This fixes that. * Also adds other possibility to error message.
Includes a lot of extra .meta files that probably should also be excluded if we're excluding their associated assets.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
While trying to add my own customization to the .gitignore, I had an
issue where the pre-commit hook was seeing a reference to an issue in
another project inside a comment as a directory and producing an error.
This fixes my issue by ignore lines that begin with # when parsing the
.gitignore. Note that this will still pick up inline comments, so there
should probably be a better fix than this.
Also ignore the
UserSettingsdirectory that was added in Unity 2020 and contains user-specific configs that shouldn't be added to version control.