You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The documentation on .eggignore claims that it follows the same rules as the .gitignore pattern format. However, I've found a few examples where this isn't true.
Assume this folder structure.
├── .eggignore
├── .gitignore
├── bar
│ └── foo
├── baz
│ └── foo
│ └── bar
└── foo
└── bar
# .gitignore
foo
# .eggignore
extends .gitignore
Apart from .gitignore and .eggignore, Git will ignore every file, including files named foo and files inside directories named foo. However, Eggs will only ignore bar/foo, i.e. files named foo but not files inside directories named foo.
# git status
Untracked files:
(use "git add <file>..." to include in what will be committed)
.eggignore
.gitignore
Yet, this is still broken if the top-level foo is a directory.
├── .eggignore
├── .gitignore
├── bar
│ └── foo
└── foo
└── bar
Using the .gitignore with both paths, Git will correctly ignore foo/bar, however Eggs will not since foo is a directory. To ignore top-level foo files and directories with both Git and Eggs, we need a .gitignore like this.
🐛 Bug Report
The documentation on
.eggignore
claims that it follows the same rules as the .gitignore pattern format. However, I've found a few examples where this isn't true.Assume this folder structure.
Apart from
.gitignore
and.eggignore
, Git will ignore every file, including files namedfoo
and files inside directories namedfoo
. However, Eggs will only ignorebar/foo
, i.e. files namedfoo
but not files inside directories namedfoo
.We get the same behavior from both Git and Eggs, respectively, with this
.gitignore
.However, with this
.gitignore
...Git will only ignore
foo/bar
, and Eggs correctly follows this behavior.Switching gears a bit, consider a folder structure like this.
To have Git only ignore the file named
foo
in the top-level of our project, we would use a.gitignore
like this.However, Eggs will not ignore it. To get Eggs to ignore the top-level
foo
file, we need a.gitignore
like this.However, Git does not support dot-slash syntax to indicate project relative paths. To get this behavior to work in Git and Eggs, you need two paths.
Yet, this is still broken if the top-level
foo
is a directory.Using the
.gitignore
with both paths, Git will correctly ignorefoo/bar
, however Eggs will not sincefoo
is a directory. To ignore top-levelfoo
files and directories with both Git and Eggs, we need a.gitignore
like this.To Reproduce
See Bug Report.
Expected behavior
.eggignore
should follow the same behavior as.gitignore
especially when usingextends .gitignore
.Actual Behavior
See Bug Report.
Environment
Additional context
The text was updated successfully, but these errors were encountered: