Browse Source

Include "executable" files in the index, as they are not necessarily binary (#7718)

release/v1.10
guillep2k 3 years ago
committed by Lunny Xiao
parent
commit
3566d2c860
  1. 2
      models/repo_indexer.go
  2. 5
      modules/git/tree_entry.go

2
models/repo_indexer.go

@ -232,7 +232,7 @@ func addDelete(filename string, repo *Repository, batch rupture.FlushingBatch) e
}
func isIndexable(entry *git.TreeEntry) bool {
return entry.IsRegular()
return entry.IsRegular() || entry.IsExecutable()
}
// parseGitLsTreeOutput parses the output of a `git ls-tree -r --full-name` command

5
modules/git/tree_entry.go

@ -108,6 +108,11 @@ func (te *TreeEntry) IsRegular() bool {
return te.gogitTreeEntry.Mode == filemode.Regular
}
// IsExecutable if the entry is an executable file (not necessarily binary)
func (te *TreeEntry) IsExecutable() bool {
return te.gogitTreeEntry.Mode == filemode.Executable
}
// Blob returns the blob object the entry
func (te *TreeEntry) Blob() *Blob {
encodedObj, err := te.ptree.repo.gogitRepo.Storer.EncodedObject(plumbing.AnyObject, te.gogitTreeEntry.Hash)

Loading…
Cancel
Save