libgit2 / libgit2/libgit2sharp

Capture error details of "remote unpack failed"

Ouverte
#2,105 0 commentaires 0 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

Reproduction steps
  • create Azure DevOps repo with security rules enabled
  • create commit which violates server rules. For example appsettings.json
{
    "Parameters": {
        "note": "this will trigger secret warning in the Azdo push, which is what I'm testing for",
        "secret": "opensesame"
    }
}

I configure the repo.Network.Push this way

var po = new PushOptions()
{
    CredentialsProvider = (_, _, _) => AzdoCreddentials,
                
    OnPushStatusError = (reason) =>
    {
        mainLogger.Log(LogLevel.Error, "Push failed with {}", reason.Message);
    },
};

Expected behavior

Make PushOptions.OnPushStatusError or another callback to receive details of remote unpack failure similar to git CLI

Specifically error: remote unpack failed: error VS403654: The push was rejected because it contains one or more secrets. in the log below.

PS C:\Dev\dotnet-mirroring\sandbox\pavelsavara-runtime> git push
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 20 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 406 bytes | 406.00 KiB/s, done.
Total 3 (delta 1), reused 3 (delta 1), pack-reused 0 (from 0)
remote: Analyzing objects... (3/3) (27 ms)
remote: Validating commits... (1/1) done (0 ms)
remote: Checking for credentials and other secrets...  done (59 ms)
error: remote unpack failed: error VS403654: The push was rejected because it contains one or more secrets.
To https://dev.azure.com/dnceng/internal/_git/pavelsavara-runtime
 ! [remote rejected]         browser_firefox_shm -> browser_firefox_shm (VS403654: The push was rejected because it contains one or more secrets.

Resolve the following secrets before pushing again. For help, see https://aka.ms/1ESSecretScanning.
Actual behavior

LibGit2Sharp.LibGit2SharpException: unpacking the sent packfile failed on the remote with no more details

Version of LibGit2Sharp (release number or SHA1)

0.29.0

Operating system(s) tested; .NET runtime tested
  • windows 10
  • SDK 9.0.100-preview.1.24101.2

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 callback PushOptions.OnPushStatusError et le chemin d’échec du remote unpack décrit dans l’issue. Reproduisez le rejet de l’analyse des secrets d’Azure DevOps et suivez l’endroit où le message distant détaillé est perdu. Le travail est considéré comme terminé lorsque les appelants peuvent recevoir les détails de l’échec du remote unpack, y compris le message VS403654, plutôt que seulement l’exception générique.

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

Évaluation

Stack technique
csharp, git
Domaine
developer-experience, tooling
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 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.