Stop using git count-objects and use raw directory size for repository (#8848)

* Migrate from git count-objects to a raw directory size
* As per @guillep2k ignore unusual files
This commit is contained in:
zeripath 2019-11-10 21:33:47 +00:00 committed by GitHub
parent 44ec9b933a
commit ee1d64ddd1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 8 deletions

View file

@ -4,7 +4,10 @@
package util
import "path/filepath"
import (
"os"
"path/filepath"
)
// EnsureAbsolutePath ensure that a path is absolute, making it
// relative to absoluteBase if necessary
@ -14,3 +17,17 @@ func EnsureAbsolutePath(path string, absoluteBase string) string {
}
return filepath.Join(absoluteBase, path)
}
const notRegularFileMode os.FileMode = os.ModeDir | os.ModeSymlink | os.ModeNamedPipe | os.ModeSocket | os.ModeDevice | os.ModeCharDevice | os.ModeIrregular
// GetDirectorySize returns the dumb disk consumption for a given path
func GetDirectorySize(path string) (int64, error) {
var size int64
err := filepath.Walk(path, func(_ string, info os.FileInfo, err error) error {
if info != nil && (info.Mode()&notRegularFileMode) == 0 {
size += info.Size()
}
return err
})
return size, err
}