MCPcopy Index your code
hub / github.com/git-lfs/git-lfs / pruneDeleteFiles

Function pruneDeleteFiles

commands/command_prune.go:344–374  ·  view source on GitHub ↗
(prunableObjects []string, logger *tasklog.Logger)

Source from the content-addressed store, hash-verified

342}
343
344func pruneDeleteFiles(prunableObjects []string, logger *tasklog.Logger) {
345 task := logger.Percentage(tr.Tr.Get("Deleting objects"), uint64(len(prunableObjects)))
346 defer task.Complete()
347
348 var problems bytes.Buffer
349 // In case we fail to delete some
350 var deletedFiles int
351 for _, oid := range prunableObjects {
352 mediaFile, err := cfg.Filesystem().ObjectPath(oid)
353 if err != nil {
354 problems.WriteString(tr.Tr.Get("Unable to find media path for %v: %v", oid, err))
355 problems.WriteRune('\n')
356 continue
357 }
358 if mediaFile == os.DevNull {
359 continue
360 }
361 err = os.Remove(mediaFile)
362 if err != nil {
363 problems.WriteString(tr.Tr.Get("Failed to remove file %v: %v", mediaFile, err))
364 problems.WriteRune('\n')
365 continue
366 }
367 deletedFiles++
368 task.Count(1)
369 }
370 if problems.Len() > 0 {
371 LoggedError(errors.New(tr.Tr.Get("failed to delete some files")), problems.String())
372 Exit(tr.Tr.Get("Prune failed, see errors above"))
373 }
374}
375
376// Background task, must call waitg.Done() once at end
377func pruneTaskGetLocalObjects(outLocalObjects *[]fs.Object, progChan PruneProgressChan, waitg *sync.WaitGroup) {

Callers 1

pruneFunction · 0.85

Calls 12

NewFunction · 0.92
LoggedErrorFunction · 0.85
ExitFunction · 0.85
PercentageMethod · 0.80
CountMethod · 0.80
GetMethod · 0.65
StringMethod · 0.65
CompleteMethod · 0.45
ObjectPathMethod · 0.45
FilesystemMethod · 0.45
RemoveMethod · 0.45
LenMethod · 0.45

Tested by

no test coverage detected