libgit2 / libgit2/libgit2sharp

option to not update submodules when doing checkout

Aperta
#1,494 1 commento 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

it seems to be a known issue that, at least when there are numerous binary files in a submodule, the submodule update process takes much longer than specifically checking out each submodule. I am, using libgit2sharp to do these checkouts, but the checkout on the superproject takes much longer (~5 sec for super vs <0.1sec for each submodule).
It looks like Commands.Checkout is, effectively, running:

git checkout [sha]
git submodule update --recursive -f

or something like it, but I just want the first line, not both. Is there some repositoryOption or CheckoutOption or something I can use to use it like this?

my usage of ligit2sharp is:

using (Repository repo =  new Repository(filePath))
{
   //logging and timing
   Commands.Checkout(
      repo,
      commit,
      new CheckoutOptions() { CheckoutModifiers = CheckoutModifiers.Force }
      );
   //logging and timing
}

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

Inizia dai tipi Commands.Checkout, CheckoutOptions e CheckoutModifiers mostrati nell’issue, quindi segui il punto in cui vengono attivati gli aggiornamenti dei sottomoduli. Verifica il comportamento di checkout e individua come un’opzione potrebbe sopprimere tale aggiornamento; il lavoro è completo quando un checkout può saltare gli aggiornamenti dei sottomoduli mantenendo il comportamento esistente per impostazione predefinita, con la copertura della nuova opzione.

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

Valutazione

Stack tecnologico
csharp, git
Ambito
tooling
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.