git: check for binary files

This commit is contained in:
Anirudh Oppiliappan 2022-12-19 11:36:50 +05:30
parent 8ba1a9609a
commit a05244018a
No known key found for this signature in database
GPG key ID: 8A93F96F78C5D4C4
3 changed files with 13 additions and 2 deletions

View file

@ -20,6 +20,7 @@ type Diff struct {
New string
}
TextFragments []TextFragment
IsBinary bool
}
// A nicer git diff representation.
@ -88,6 +89,7 @@ func (g *GitRepo) Diff() (*NiceDiff, error) {
ndiff := Diff{}
ndiff.Name.New = d.NewName
ndiff.Name.Old = d.OldName
ndiff.IsBinary = d.IsBinary
for _, tf := range d.TextFragments {
ndiff.TextFragments = append(ndiff.TextFragments, TextFragment{

View file

@ -76,7 +76,13 @@ func (g *GitRepo) FileContent(path string) (string, error) {
return "", err
}
isbin, _ := file.IsBinary()
if !isbin {
return file.Contents()
} else {
return "Not displaying binary file", nil
}
}
func (g *GitRepo) Tags() ([]*object.Tag, error) {

View file

@ -55,7 +55,9 @@
<a href="/{{ $repo }}/blob/{{ $this }}/{{ .Name.New }}">{{ .Name.New }}</a>
{{- end -}}
</div>
{{ if .IsBinary }}
<p>Not showing binary file.</p>
{{ else }}
<pre>
{{- range .TextFragments -}}
<p>{{- .Header -}}</p>
@ -71,6 +73,7 @@
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
</pre>
</div>
{{ end }}