diff options
author | Anirudh Oppiliappan <x@icyphox.sh> | 2022-12-19 11:36:50 +0530 |
---|---|---|
committer | Anirudh Oppiliappan <x@icyphox.sh> | 2022-12-19 11:36:50 +0530 |
commit | a05244018ae02603c56a27f8f8b7006c0024f7ea (patch) | |
tree | f01ac8969e4914421c8b7b0e3b1cf9f9b2892546 | |
parent | 8ba1a9609adef8575a91219ef35eef97daad8d32 (diff) | |
download | legit-a05244018ae02603c56a27f8f8b7006c0024f7ea.tar.gz legit-a05244018ae02603c56a27f8f8b7006c0024f7ea.tar.bz2 legit-a05244018ae02603c56a27f8f8b7006c0024f7ea.zip |
git: check for binary files
-rw-r--r-- | git/diff.go | 2 | ||||
-rw-r--r-- | git/git.go | 8 | ||||
-rw-r--r-- | templates/commit.html | 5 |
3 files changed, 13 insertions, 2 deletions
diff --git a/git/diff.go b/git/diff.go index 38c00f2..063ac87 100644 --- a/git/diff.go +++ b/git/diff.go @@ -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{ @@ -76,7 +76,13 @@ func (g *GitRepo) FileContent(path string) (string, error) { return "", err } - return file.Contents() + isbin, _ := file.IsBinary() + + if !isbin { + return file.Contents() + } else { + return "Not displaying binary file", nil + } } func (g *GitRepo) Tags() ([]*object.Tag, error) { diff --git a/templates/commit.html b/templates/commit.html index 1b4a8d9..b1b3cbc 100644 --- a/templates/commit.html +++ b/templates/commit.html @@ -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 }} |