libgit2 / libgit2/libgit2sharp

.gitignore exclusions not being honoring correctly

Ouverte
#1,416 0 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
C#
Étoiles
3.5k
Forks
925
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduisez le rapport avec Repository.RetrieveStatus et les règles .gitignore imbriquées présentées, puis comparez ses résultats Untracked avec git status -u. Vérifiez également le chemin AddTemporaryRules et considérez l’issue comme terminée lorsque les règles de répertoire négatives produisent les mêmes fichiers inclus que Git.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp, git
Domaine
tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.