8000 Merge pull request #764 from libgit2/ntk/ignore · odedw/libgit2sharp@b59c8a4 · GitHub
[go: up one dir, main page]

Skip to content

Commit b59c8a4

Browse files
committed
Merge pull request libgit2#764 from libgit2/ntk/ignore
.gitignore not in root folder is ignored
2 parents 5803608 + f66820a commit b59c8a4

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

LibGit2Sharp.Tests/IgnoreFixture.cs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,5 +83,39 @@ public void CanCheckIfAPathIsIgnoredUsingThePreferedPlatformDirectorySeparatorCh
8383
Assert.True(repo.Ignore.IsPathIgnored(string.Format(@"NewFolder{0}NewFolder{0}File.txt", Path.DirectorySeparatorChar)));
8484
}
8585
}
86+
87+
[Fact]
88+
public void HonorDeeplyNestedGitIgnoreFile()
89+
{
90+
string path = InitNewRepository();
91+
using (var repo = new Repository(path))
92+
{
93+
char pd = Path.DirectorySeparatorChar;
94+
95+
var gitIgnoreFile = string.Format("deeply{0}nested{0}.gitignore", pd);
96+
Touch(repo.Info.WorkingDirectory, gitIgnoreFile, "SmtCounters.h");
97+
98+
repo.Stage(gitIgnoreFile);
99+
repo.Commit("Add .gitignore", Constants.Signature, Constants.Signature);
100+
101+
Assert.False(repo.RetrieveStatus().IsDirty);
102+
103+
var ignoredFile = string.Format("deeply{0}nested{0}SmtCounters.h", pd);
104+
Touch(repo.Info.WorkingDirectory, ignoredFile, "Content");
105+
Assert.False(repo.RetrieveStatus().IsDirty);
106+
107+
var file = string.Format("deeply{0}nested{0}file.txt", pd);
108+
Touch(repo.Info.WorkingDirectory, file, "Yeah!");
109+
110+
var repositoryStatus = repo.RetrieveStatus();
111+
Assert.True(repositoryStatus.IsDirty);
112+
113+
Assert.Equal(FileStatus.Ignored, repositoryStatus[ignoredFile].State);
114+
Assert.Equal(FileStatus.NewInWorkdir, repositoryStatus[file].State);
115+
116+
Assert.True(repo.Ignore.IsPathIgnored(ignoredFile));
117+
Assert.False(repo.Ignore.IsPathIgnored(file));
118+
}
119+
}
86120
}
87121
}

0 commit comments

Comments
 (0)
0