libgit2 / libgit2/libgit2sharp

Repository not being cloned inside a docker container

Aberta
#1,735 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
C#
Estrelas
3.5k
Forks
925
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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.

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Os pontos de entrada relatados são Repository.Clone e Commands.Pull na implementação C# mostrada; comece reproduzindo o comportamento com LibGit2Sharp 0.26.1 no ambiente Linux Docker listado e capture a exceção ou a saída de status. O trabalho estará concluído quando for identificado por que o repositório está ausente e uma correção verificada compatível com contêineres for documentada ou implementada.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
csharp, docker, gitlab
Domínio
devops
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.