libgit2 / libgit2/libgit2sharp
Repository not being cloned inside a docker container
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
I currently am deploying a micro-service using .net standard 2.0, which either clones or updates a repo from GitLab.
For this I have a functionality that works perfectly in a Windows environment, but it does not do the trick inside a docker container after I spin it up.
Expected behavior
The repo should be cloned/pulled in a Docker container just like in Windows.
Actual behavior
No repo structure is present inside the linux directory (permissions set to 777). I am also seeing the directory's timestamp being updated when it should do the pull.
Version of LibGit2Sharp (release number or SHA1)
**netstandard2.0**Operating system(s) tested; .NET runtime tested
Working:
Windows 10 Enterprise, 64-bit
Not working:
Linux 828ec2e85f2c 4.9.184-linuxkit #1 SMP Tue Jul 2 22:58:16 UTC 2019 x86_64 GNU/Linux
Implementation
if (gitFolder.GetDirectories().Length == 0)
{
try
{
// Get user credentials
Repository.Clone("repository.git", deployerPath, new CloneOptions()
{
BranchName = "develop",
CredentialsProvider = CredentialsProvider(),
});
}
catch (Exception ex)
{
...
}
}
else
{
try
{
var repository = new Repository(deployerPath);
Commands.Pull(repository,
new Signature("blah", "blah@blah.com", DateTimeOffset.Now), new PullOptions()
{
FetchOptions = new FetchOptions() {CredentialsProvider = CredentialsProvider()},
MergeOptions = new MergeOptions() {FailOnConflict = true},
});
}
...
I raised this question in SO (find it here); however, I have not received a response back.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Les points d’entrée signalés sont Repository.Clone et Commands.Pull dans l’implémentation C# présentée ; commencez par reproduire le comportement avec LibGit2Sharp 0.26.1 dans l’environnement Docker Linux indiqué et capturez l’exception ou la sortie d’état. Le travail est terminé lorsque la raison de l’absence du référentiel a été identifiée et qu’un correctif vérifié compatible avec les conteneurs a été documenté ou implémenté.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- csharp, docker, gitlab
- Domaine
- devops
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100