.gitignore exclusions not being honoring correctly

Offen
#1,416 0 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
csharp, git
Bereich
tooling

Rechercherichtung

Reproduzieren Sie den Bericht mit Repository.RetrieveStatus und den gezeigten verschachtelten .gitignore-Regeln und vergleichen Sie anschließend dessen Untracked-Ergebnisse mit git status -u. Prüfen Sie außerdem den AddTemporaryRules-Pfad und betrachten Sie das issue als erledigt, wenn negierte Verzeichnisregeln dieselben eingeschlossenen Dateien wie Git erzeugen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Hello,

I am having an issue with inconsistent behavior when trying to exclude folders using a .gitignore. This issue is related to: https://github.com/git-tfs/git-tfs/issues/1047

Given the following repository directory:

/Main/.gitignore
/Main/Foo/test.txt
/Main/Foo/packages/test.txt
/Main/FooBar/test.txt
/Main/FooBar/packages/test.txt

And the following .gitignore file:

**/packages/*
!Foo/
!Foo/**

When I running the following code:

using (var repo = new Repository(@"C:\Git\Project\Main"))
{
	repo.RetrieveStatus().Untracked.Dump();
}

Then I get to following results:

.gitignore
Foo\test.txt
FooBar\test.txt

When I run git status -u
Then I get to following results:

.gitignore
Foo/packages/test.txt
Foo/test.txt
FooBar/test.txt

I have also tried populating the ignore rules manually using AddTemporaryRules with the same results.

Thanks!

Christopher Haws

git version 2.10.2.windows.1
LibGit2Sharp version 0.23.1

Vorherrschende Sprache
C#
Sterne
3.5k
Forks
925
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus libgit2/libgit2sharp

Alle Issues in libgit2/libgit2sharp

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.