libgit2 / libgit2/libgit2sharp

Repository.Init wants to write to workingDirectoryPath

Aperta
#1,861 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C#
Stelle
3.5k
Fork
925
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Reproduction steps

Run the following code with workingDirectoryPath set to a write-protected directory path and gitDirectoryPath set to a writable directory path:

Lib2GitSharp.Repository.Init(workingDirectoryPath: "/", gitDirectoryPath: "/some/dir/.git")
Expected behavior

The Init() call works exactly as this git command: git --git-dir /some/dir/.git --work-tree /:

  • it creates a .git repository directory at /some/dir/.git with its config's core.worktree set to /
  • it does not touch the --work-tree directory / in any way and thus does not need write permissions in this directory
Actual behavior

An Exception of type Lib2GitException is thrown:
failed to initialize repository with template '.git': Permission denied

Version of LibGit2Sharp (release number or SHA1)

0.26.2 (NuGet)

Operating system(s) tested; .NET runtime tested

Linux 5.9.14-arch1-1 #1 SMP PREEMPT Sat, 12 Dec 2020 14:37:12 +0000 x86_64 GNU/Linux
Microsoft.NETCore.App 3.1.8

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Parti dal punto di ingresso Repository.Init e riproduci il problema con un workingDirectoryPath protetto dalla scrittura e un gitDirectoryPath scrivibile. Il lavoro è completato quando l’inizializzazione crea il repository e imposta core.worktree sulla directory di lavoro senza tentare di scrivervi, in modo conforme al comportamento dichiarato del comando git.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp, git
Ambito
api, backend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.