libgit2 / libgit2/libgit2sharp

NormalMerge should call callback on conflicts

Ouverte
#1,874 0 commentaires 1 réaction 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

Reproduction steps
        [Fact]
        public void NormalMergeShouldCallCallbackOnConflicts()
        {
            string committishToMerge = "fast_forward";

            using (var repo = new Repository(SandboxMergeTestRepo()))
            {
                Touch(repo.Info.WorkingDirectory, "b.txt", "this is an alternate change");
                var conflicts = 0;
                var options = new MergeOptions
                {
                    OnCheckoutNotify = (path, flags) =>
                {
                    conflicts++;
                    return true;
                },
                CheckoutNotifyFlags = CheckoutNotifyFlags.Conflict,
                FastForwardStrategy = FastForwardStrategy.NoFastForward,
            };

                Assert.Throws<CheckoutConflictException>(() => repo.Merge(committishToMerge, Constants.Signature, options));
                Assert.Equal(1, conflicts) ;
            }
        }

Expected behavior

Test shouldn't fail

Actual behavior

Test fails

Version of LibGit2Sharp (release number or SHA1)

df3b22a754ef56da8d7e3c330ce2d783c2b7982e

Operating system(s) tested; .NET runtime tested

Windows netcore 2.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

Commencez par le test NormalMergeShouldCallCallbackOnConflicts et l’appel à repo.Merge utilisant MergeOptions.OnCheckoutNotify, CheckoutNotifyFlags.Conflict et NoFastForward. Reproduisez l’échec, suivez la gestion des conflits et confirmez que le callback s’exécute une fois tandis que CheckoutConflictException est toujours levée.

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

Évaluation

Stack technique
csharp, git
Domaine
backend, testing
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

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