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

Honour gitignore files #60

Closed
tysonclugg opened this issue Nov 25, 2015 · 2 comments
Closed

Honour gitignore files #60

tysonclugg opened this issue Nov 25, 2015 · 2 comments

Comments

@tysonclugg
Copy link

The check-manifest command doesn't follow the correct gitignore behaviour. It only reads patterns from the first gitignore file it finds, the patterns in my global gitignore file are not honoured.

The gitignore docs state:

Each line in a gitignore file specifies a pattern. Git normally checks gitignore patterns from multiple sources, with the following order of precedence, from highest to lowest (within one level of precedence, the last matching pattern decides the outcome):

  • Patterns read from the command line for those commands that support them.
  • Patterns read from a .gitignore file in the same directory as the path, or in any parent directory, with patterns in the higher level files (up to the toplevel of the work tree) being overridden by those in lower level files down to the directory containing the file. These patterns match relative to the location of the .gitignore file. A project normally includes such .gitignore files in its repository, containing patterns for files generated as part of the project build.
  • Patterns read from $GIT_DIR/info/exclude.
  • Patterns read from the file specified by the configuration variable core.excludesFile.

Which file to place a pattern in depends on how the pattern is meant to be used.

  • Patterns which should be version-controlled and distributed to other repositories via clone (i.e., files that all developers will want to ignore) should go into a .gitignore file.
  • Patterns which are specific to a particular repository but which do not need to be shared with other related repositories (e.g., auxiliary files that live inside the repository but are specific to one user’s workflow) should go into the $GIT_DIR/info/exclude file.
  • Patterns which a user wants Git to ignore in all situations (e.g., backup or temporary files generated by the user’s editor of choice) generally go into a file specified by core.excludesFile in the user’s ~/.gitconfig. Its default value is $XDG_CONFIG_HOME/git/ignore. If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/ignore is used instead.
@mgedmin
Copy link
Owner

mgedmin commented Nov 25, 2015

check-manifest doesn't parse .gitignore files.

Can you please provide steps to reproduce the bug you're seeing, expected results, and actual results?

@tysonclugg tysonclugg changed the title Honour global gitignore Honour gitignore files Nov 27, 2015
@tysonclugg
Copy link
Author

Well, that explains it. Furthermore, I was misinterpreting the results - this whole issue can be closed. My bad... 😵

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

2 participants